Pythonでカテゴリカルデータを扱う
Kasey Jones
Research Data Scientist
【基本】
n-1 の整数に割り当てる(n はカテゴリ数)-1 が割り当てられる【注意点】
メーカー名でカテゴリ化して並べ替え
used_cars['manufacturer_name'] = used_cars['manufacturer_name'].astype("category")
.cat.codes を使用
used_cars['manufacturer_code'] = used_cars['manufacturer_name'].cat.codes
print(used_cars[['manufacturer_name', 'manufacturer_code']])
manufacturer_name manufacturer_code
0 Subaru 45
1 Subaru 45
2 Subaru 45
... ... ...
38526 Chrysler 8
38527 Chrysler 8

codes = used_cars['manufacturer_name'].cat.codes
categories = used_cars['manufacturer_name']
name_map = dict(zip(codes, categories))print(name_map)
{45: 'Subaru',
24: 'LADA',
12: 'Dodge',
...
}
コードの作成:
used_cars['manufacturer_code'] = used_cars['manufacturer_name'].cat.codes
元の値に戻す:
used_cars['manufacturer_code'].map(name_map)
0 Acura
1 Acura
2 Acura
...
「van」を含むボディタイプを抽出:
# 前のレッスンのコード:
used_cars["body_type"].str.contains("van", regex=False)
ブール値で符号化:
used_cars["van_code"] = np.where( used_cars["body_type"].str.contains("van", regex=False), 1, 0)used_cars["van_code"].value_counts()
0 34115
1 4416
Name: van_code, dtype: int64
Pythonでカテゴリカルデータを扱う