Pandas get dummies の使用方法 – pd.get_dummies


統計では、扱うデータセットにカテゴリ変数が含まれることがよくあります。

これらは、名前またはラベルを取る変数です。例としては次のものが挙げられます。

  • 婚姻状況(「既婚」、「独身」、「離婚」)
  • 喫煙状況(「喫煙者」、「非喫煙者」)
  • 目の色(「ブルー」、「グリーン」、「ヘーゼル」)
  • 学歴(例:「高校」、「学士」、「修士」)

機械学習アルゴリズム (線形回帰ロジスティック回帰ランダム フォレストなど) を調整する場合、多くの場合、カテゴリ変数を、カテゴリデータを表すために使用される数値変数であるダミー変数に変換します。

たとえば、カテゴリ変数Genderを含むデータセットがあるとします。この変数を回帰モデルの予測子として使用するには、まずそれをダミー変数に変換する必要があります。

このダミー変数を作成するには、0 を表す値の 1 つ (「男性」) を選択し、1 を表すもう 1 つの値 (「女性」) を選択します。

Pandasでダミー変数を作成する方法

pandas DataFrame 内の変数のダミーを作成するには、次の基本構文を使用するpandas.get_dummies()関数を使用できます。

pandas.get_dummies(データ、プレフィックス=なし、列=なし、drop_first=False)

金:

  • data : パンダのデータフレームの名前
  • prefix : 新しいダミー変数列の先頭に追加する文字列
  • columns : ダミー変数に変換する列の名前
  • drop_first : 最初のダミー変数列を削除するかどうか

次の例は、この関数を実際に使用する方法を示しています。

例 1: 単一のダミー変数を作成する

次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' income ': [45, 48, 54, 57, 65, 69, 78],
                   ' age ': [23, 25, 24, 29, 38, 36, 40],
                   ' gender ': ['M', 'F', 'M', 'F', 'F', 'F', 'M']})

#view DataFrame
df

        income age gender
0 45 23 M
1 48 25 F
2 54 24 M
3 57 29 F
4 65 38 F
5 69 36 F
6 78 40 M

pd.get_dummies()関数を使用して、性別をダミー変数に変換できます。

 #convert gender to dummy variable
p.d. get_dummies (df, columns=[' gender '], drop_first= True )

	income age gender_M
0 45 23 1
1 48 25 0
2 54 24 1
3 57 29 0
4 65 38 0
5 69 36 0
6 78 40 1

性別列はダミー変数になりました。次のとおりです。

  • 0は「女性」を表します。
  • 1は「男性」を表します。

例 2: 複数のダミー変数を作成する

次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' income ': [45, 48, 54, 57, 65, 69, 78],
                   ' age ': [23, 25, 24, 29, 38, 36, 40],
                   ' gender ': ['M', 'F', 'M', 'F', 'F', 'F', 'M'],
                   ' college ': ['Y', 'N', 'N', 'N', 'Y', 'Y', 'Y']})

#view DataFrame
df

	income age gender college
0 45 23 M Y
1 48 25 F N
2 54 24 M N
3 57 29 F N
4 65 38 F Y
5 69 36 F Y
6 78 40 M Y

pd.get_dummies()関数を使用して、性別と大学をダミー変数に変換できます。

 #convert gender to dummy variable
p.d. get_dummies (df, columns=[' gender ', ' college '], drop_first= True )


        income age gender_M college_Y
0 45 23 1 1
1 48 25 0 0
2 54 24 1 0
3 57 29 0 0
4 65 38 0 1
5 69 36 0 1
6 78 40 1 1

性別列はダミー変数になりました。次のとおりです。

  • 0は「女性」を表します。
  • 1は「男性」を表します。

そして、college 列はダミー変数になりました。

  • 0は「いいえ」の大学を表します
  • 1は大学への「はい」を表します

追加リソース

回帰分析でダミー変数を使用する方法
ダミー変数トラップとは何ですか?

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です