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は大学への「はい」を表します