如何在不增加数据大小的情况下将分类变量转换为pandas中的数字?

时间:2018-06-07 14:05:56

标签: python pandas

我正在尝试使用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 )

如何在不增加数据大小的情况下将列的分类数据转换为数字。

截图: enter image description here

1 个答案:

答案 0 :(得分:2)

您可以使用factorize

df['columns']=pd.factorize(df['columns'])[0]#df.columns.astype('category').cat.codes

LabelEncoder来自sklearn