我正在尝试使用get_dummies()
将分类数据转换为数字,但数据大小从1 X 1
增加到1 X 22
,因为有22种不同的分类变量。
我使用了pandas中的get_dummies()
。
代码:
data['program_id'].unique()
cols_to_transform = data['program_id'].loc[:]
df_with_dummies = pd.get_dummies( data=cols_to_transform )
如何在不增加数据大小的情况下将列的分类数据转换为数字。
答案 0 :(得分:2)
您可以使用factorize
df['columns']=pd.factorize(df['columns'])[0]#df.columns.astype('category').cat.codes
LabelEncoder
来自sklearn