0
我有幾個分類列(描述)在我的DataFrame df_churn
,我想轉換爲數值。當然,我想創建一個查找表,因爲我需要最終將它們轉換回來。迭代添加不同長度的列到DataFrame
問題是每列都有不同數量的類別,所以附加到df_categories
並不容易,我不能想到任何簡單的方法。
這是我到目前爲止。由於長度不同,它會在第一列後停止。
cat_clmn = ['CLI_REGION','CLI_PROVINCE','CLI_ORIGIN','cli_origin2','cli_origin3', 'ONE_PRD_TYPE_1']
df_categories = pd.DataFrame()
def categorizer(_clmn):
for clmn in cat_clmn:
dict_cat = {key: value for value, key in enumerate(df_churn[clmn].unique())}
df_categories[clmn] = dict_cat.values()
df_categories[clmn + '_key'] = dict_cat.keys()
df_churn[clmn + '_CAT'] = df_churn[clmn].map(dict_cat)
categorizer(cat_clmn)
熊貓[categoricals](http://pandas.pydata.org/pandas-docs/stable/categorical.html)會自動爲你做這種事情。 –