
228
7
章 データのクリーニングと前処理
7.2.8
標識変数やダミー変数の計算
統計モデリングや機械学習アプリケーションでよく用いる変換方法の
1
つに、カテゴリ変数から「ダ
ミー変数」や「標識変数」の行列への変換があります。例えば、データフレーム内の特定の列に
k
個の独
立な値がある場合は、
0
か
1
の値を持つ
k
個の列を持った行列やデータフレームへと変換することにな
るでしょう。自前で実装することも難しくはありませんが、このような変換のために、
pandas
には
get_
dummies
という関数が用意されています。次のような単純な例を考えてみましょう。
In [109]: df = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'b'],
.....: 'data1': range(6)})
In [110]: pd.get_dummies(df['key'])
O
ut[110]:
a b c
0 0 1 0
1 0 1 0
2 1 0 0
3 0 0 1
4 1 0 0
5 0 1 0
場合によっては、標識変数のデータフレームのそれぞれの列にプレフィックスを付けた上で、他
のデータと結合するとよいことがあります。
get_dummies
メソッドには、プレフィックスを指定する
prefix
という引数を渡せます。
In [111]: dummies = pd.get_dummies(df['key'], prefix='key')
In [112]: df_with_dummy ...