is_dummy
ダミー変数を判定する論理関数
概要
リストや Series の要素が、指定されたダミーコードのみで構成されたダミー変数かどうかを判定します。
is_dummy(
data: Union[IntoFrameT, IntoSeriesT],
cording: Sequence[Any] = (0, 1),
dropna: bool = True,
to_pd_series: bool = False,
**kwargs
)引数 Argument
data: list, IntoFrameT or IntoSeriesT
入力データ。list あるいは、narwhals が受け入れ可能な DataFrame もしくは Series 互換オブジェクトcording: list
ダミーコードとして許容される値の集合。入力データに含まれる値の集合が、この集合と完全に一致する場合にダミー変数であると判定されます。デフォルトは(0, 1)です。dropna:bool
欠測値(NaN)をコーディングの判定から除外するかどうかを表すブール値。初期設定は True です。to_pd_series: bool
data が DataFrame 場合の戻り値の形式を制御します。Trueの場合:列名をインデックスにもつ pandas.Series を返しますFalseの場合:to_nativeの値に応じた値を出力します。
to_native: bool
dataがデータ DataFrame 互換オブジェクトの場合の出力を制御します。Trueの場合、data同じバックエンドの Series(e.g. pandas / polars / pyarrow)を返します。
Falseの場合、nw.Seriesを返します。デフォルトはTrueで、to_native = Falseは、主にライブラリ内部での利用や、バックエンドに依存しない後続処理を行う場合を想定したオプションです。**kwargs: 将来の拡張のために予約されたキーワード引数です。
返り値 Value
dataが Series-like の場合
- -指定されたダミーコードのみで構成されていれば True、それ以外の場合は False
dataが DataFrame-like の場合
to_pd_Series = Falseのとき:各列ごとの判定結果を要素とするlist[bool]to_pd_Series = Trueのとき:列名をインデックスにもつpd.Series
使用例 Examples
import py4stats as py4st
import pandas as pd
from palmerpenguins import load_penguins
penguins = load_penguins() # サンプルデータの読み込み
# ダミー変数の作成
penguins2 = pd.get_dummies(
penguins.loc[:, 'species':'bill_length_mm'],
columns = ['species']
)
penguins2['Intercept'] = 1 # 定数列の作成
penguins2['female'] = penguins['sex'] == 'female' # bool 型の変数を作成
print(py4st.is_dummy(penguins2['species_Adelie']))
#> Trueなお、初期設定では bool 型の変数についても True が出力されます。
print(py4st.is_dummy(penguins2))
#> island False
#> bill_length_mm False
#> species_Adelie True
#> species_Chinstrap True
#> species_Gentoo True
#> Intercept False
#> female True
#> Name: 0, dtype: bool