pandas get_dummies() drop_first=Trueとは何か

Pandasのget_dummies()を用いると、カテゴリカルデータ(質的データ)に対して、ダミー変数化できます。

この記事では、get_dummies()のオプションの1つであるdrop_first=Trueとは何かを解説します。

get_dummies() drop_first=Trueとは何か

結論から先に説明しますと、引数drop_firstをTrueにすることで、最初のカテゴリーが除外されたn-1個のダミー変数を変換することができます。(生成されるカラムを1つ削除した上で、ダミー変数を作成します。)

最初のカテゴリーを除外したい場合にはdrop_first=Trueにすると良いでしょう。また、drop_first=Trueにすることで、多重共線性を防ぐことに繋がったりします。

サンプルプログラム

import pandas as pd

df = pd.DataFrame({'A': ['a', 'b'], 'B': ['a', 'b']})
print(df)

出力結果

   A  B
0  a  a
1  b  b

drop_firstを用いない場合

print(pd.get_dummies(df))

出力結果

   A_a  A_b  B_a  B_b
0    1    0    1    0
1    0    1    0    1

drop_firstを用いた場合(drop_first=Trueにした場合)

print(pd.get_dummies(df, drop_first=True))

出力結果

   A_b  B_b
0    0    0
1    1    1

このように、drop_first=Trueとしたことで、Aカラム、Bカラム内にあるaとbという値から、最初のaの値(最初のカテゴリー)を除外した上で、bの値だけでダミー変数を変換していることが確認できます。

Pythonを効率よく学ぶには?

Pythonを効率よく学ぶには、普段からPythonを利用している現役のデータサイエンティストや機械学習エンジニアに質問できる環境で学ぶことです。
質問し放題かつ、体系的に学べる動画コンテンツでデータ分析技術を学びたい方は、オンラインで好きな時間に勉強できるAI Academy Bootcampがオススメです。受講料も業界最安値の35,000円(6ヶ月間質問し放題+オリジナルの動画コンテンツ、テキストコンテンツの利用可能)なので、是非ご活用ください。