我試圖把字符串列到整數標識符...我無法找到大熊貓(或Python)這樣的一種優雅的方式。在下面的例子中,我改造「A」,這是一個字符串通過映射列/變量插入數字,但它看起來像一個骯髒的黑客我談到字符串的列到整數列熊貓
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': ['homer_simpson', 'mean_street', 'homer_simpson', 'bla_bla'], 'B': 4})
unique = df['A'].unique()
mapping = dict(zip(unique, np.arange(len(unique))))
new_df = df.replace({'A': mapping})
是否有更好,更直接,方式實現這一目標?
幹得好。從來沒有聽說過的'factorize'.'%timeit標籤,唯一= df.A.factorize() 10000環路,最好的3:每次循環89微秒 %timeit df.A.map({VAL:N爲N, val in枚舉(df ['A']。unique())}) 1000循環,最好是3:每循環363μs – Alexander