Pandasのget_dummies関数の効果的な使用方法
Updated on
PythonのPandasライブラリには、データ操作に強力で多才な関数がたくさんあり、そのうちの1つがget_dummies関数です。このチュートリアルでは、この関数を理解して効果的にデータ前処理に使用するための方法を紹介します。
Pythonでデータ可視化を素早く作成したいですか?
PyGWalkerはオープンソースのPythonプロジェクトで、Jupyter Notebookベースの環境内でデータ分析および可視化ワークフローを高速化するのに役立ちます。
PyGWalker (opens in a new tab)は、Pandas Dataframe(またはPolars Dataframe)をビジュアル UIに変換し、変数をドラッグアンドドロップして簡単にグラフを作成できます。以下のコードを使用するだけで、簡単に使用できます。
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
このオンラインノートブックでPyGWalkerを実行できます:
そして、GitHubで私たちに⭐️を付けることを忘れないでください!
KaggleノートブックでPyGWalkerを実行する (opens in a new tab) | Google ColabでPyGWalkerを実行する (opens in a new tab) | PyGWalkerに⭐️を与える (opens in a new tab) |
---|---|---|
(opens in a new tab) | (opens in a new tab) | (opens in a new tab) |
Pandasのget_dummiesの理解
Pandasのget_dummies
関数は、カテゴリカルデータの取り扱いに強力なツールです。それは、カテゴリカル変数をダミー/指標変数に変換し、カテゴリカル変数の各ユニークなカテゴリごとに新しい列を作成し、元の行における該当カテゴリの存在または不在を示す1と0を作成します。
なぜこれが重要なのでしょうか?機械学習のアルゴリズムは通常、数値データで動作します。したがって、カテゴリカルデータを数値形式に変換する必要があることがよくあり、そこでget_dummies
が役立ちます。
import pandas as pd
# Example data
data = pd.DataFrame({'pets': ['cat', 'dog', 'bird', 'cat']})
# Applying get_dummies
dummies_data = pd.get_dummies(data)
print(dummies_data)
これにより、次のような出力が生成されます:
pets_bird pets_cat pets_dog
0 0 1 0
1 0 0 1
2 1 0 0
3 0 1 0
Get Dummies機能の解剖
get_dummies
関数には、操作を細かく制御するためのいくつかのパラメータがあります。これらのパラメータの概要を以下に示します。
data
:ダミー変数を生成するための入力のDataFrameまたはSeries。prefix
:ダミー変数の列名のためのオプションの接頭辞文字列。prefix_sep
:接頭辞と列名の間に使用するオプションの区切り文字列。デフォルトは "_"。dummy_na
:NaNを示す列を追加するためのブール値。falseの場合はNaNが無視されます。デフォルトはFalseです。columns
:ダミー変数に変換するオプションの列名のリスト。指定されていない場合、すべてのobjectおよびcategory dtype列が変換されます。sparse
:Trueの場合はSparseDataFrameを返し、それ以外の場合は通常のDataFrameを返します。デフォルトはFalseです。drop_first
:最初のレベルを削除することにより、k分割のk-1分割を取得して多重共線性を防ぐためのブール値。デフォルトはFalseです。
Pandas Get Dummiesの実用例
get_dummies
関数のより具体的な実用例について説明します。
1. 接頭辞パラメータの使用
prefix
パラメータを使用して、ダミー変数の新しい列名に特定の接頭辞を追加できます。これは、後でこれらの列のソースを特定するのに役立つ場合があります。
# Apply get_dummies with prefix
dummies_data_prefix = pd.get_dummies(data, prefix='pets')
print(dummies_data_prefix)
2. NaN値の処理
実際の世界のデータを扱う場合、欠損値に遭遇することがよくあります。dummy_na
パラメータを使用することで、NaN値用の別のダミー列を作成できます。
# Example data with NaN
data = pd.DataFrame({'pets': ['cat', 'dog', 'bird', None]})
# Apply get_dummies with dummy_na
dummies_data_nan = pd.get_dummies(data, dummy_na=True)
print(dummies_data_nan)
3. 複数の列を扱う
get_dummies
関数を一度に複数の列に適用することができます。以下の例では、2つのカテゴリカル列「pets」と「color」に対してダミー変数を作成しています。
# Example data with multiple columns
data = pd.DataFrame({'pets': ['cat', 'dog', 'bird', 'cat'], 'color': ['black', 'white', 'black', 'white']})
複数列にget_dummiesを適用する
dummies_data_multi = pd.get_dummies(data, columns=['pets', 'color'])
print(dummies_data_multi)
## 結論
結論として、`pd.get_dummies()`関数をマスターすることは、機械学習プロジェクトのデータ前処理能力を向上させることができます。これは、カテゴリカルデータを処理するための欠かせないツールであり、アルゴリズムに適した形式であることを保証します。