私はパンダのデータフレームを持っており、文字列で表される特定の列の値を整数に変更しようとしています。たとえば、次のようになります。
df = index fruit quantity price
0 apple 5 0.99
1 apple 2 0.99
2 orange 4 0.89
4 banana 1 1.64
...
10023 kiwi 10 0.92
ぜひご覧いただきたいのは:
df = index fruit quantity price
0 1 5 0.99
1 1 2 0.99
2 2 4 0.89
4 3 1 1.64
...
10023 5 10 0.92
これを次のように実行できます
df["fruit"] = df["fruit"].map({"apple": 1, "orange": 2,...})
string
変更するリストが小さい場合はこれで問題ありませんが、500 を超える異なるラベルを持つ列が表示されています。これをからに変更する方法はありますかint
?
ベストアンサー1
使用できますsklearn.前処理
from sklearn import preprocessing
le = preprocessing.LabelEncoder()
le.fit(df.fruit)
df['categorical_label'] = le.transform(df.fruit)
ラベルを元のエンコードに戻します。
le.inverse_transform(df['categorical_label'])