Saya memiliki kerangka data dengan jenis data ini (terlalu banyak kolom):
col1 int64
col2 int64
col3 category
col4 category
col5 category
Kolom terlihat seperti ini:
Name: col3, dtype: category
Categories (8, object): [B, C, E, G, H, N, S, W]
Saya ingin mengubah semua nilai dalam kolom menjadi integer seperti ini:
[1, 2, 3, 4, 5, 6, 7, 8]
Saya menyelesaikan ini untuk satu kolom dengan ini:
dataframe['c'] = pandas.Categorical.from_array(dataframe.col3).codes
Sekarang saya memiliki dua kolom di dataframe saya - lama col3dan baru cdan perlu membuang kolom lama.
Itu praktik yang buruk. Ini berfungsi tetapi dalam banyak kolom bingkai data saya dan saya tidak ingin melakukannya secara manual.
Bagaimana pythonic ini dan hanya cerdik?
