-
やりたいこと
任意のクラスラベル(ここではclass1,class2)を整数に変換をしたい
class1 => 0
class2 => 1 -
pandasデータフレーム定義
encoding.py
import pandas as pd
df = pd.DataFrame(
{'color':['green','red','blue'],
'size':['M','L','X'],
'price':[10.0,12.0,15.3],
'classlabel':['class1', 'class2', 'class1']
}
)
2.エンコーディング前のデータフレーム
print(df)
# color size price classlabel
# 0 green M 10.1 class1
# 1 red L 13.5 class2
# 2 blue X 15.3 class1
3.エンコーディング実行
import numpy as np
class_mapping = {label:idx for idx, label in enumerate(np.unique(df['classlabel']))}
df['classlabel'] = df['classlabel'].map(class_mapping)
4.エンコーディング後
print(df)
# color size price classlabel
# 0 green M 10.1 1
# 1 red L 13.5 2
# 2 blue X 15.3 1