skip to content
barorin&?

Pandasでone-hotエンコーディング

/ 1 min read

はじめに

Pandas で one-hot エンコーディングを実装してみる。

方法

import pandas as pd

# 学習データ(df\_1)とテストデータ(df\_2)の結合
combine = pd.concat([df_1, df_2])

# カテゴリ列を抽出
cat_cols = []
for col in combine.columns:
    if combine[col].dtype == 'object':
        cat_cols.append(col)

# one-hotエンコーディング
combine = pd.get_dummies(combine, columns=cat_cols)

# 学習データとテストデータに再分割
df_1 = combine.iloc[:df_1.shape[0], :].reset_index(drop=True)
df_2 = combine.iloc[df_2.shape[0]:, :].reset_index(drop=True)