is_dummy

badge of tested backend

ダミー変数を判定する論理関数

概要

リストや 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) です。
  • dropnabool
     欠測値(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

Return to Function reference.