python – LabelEncoder().fit_transform与pd.get_dummies进行分类编码
作者:互联网
最近我注意到,如果你有这样的数据帧df:
A B C
0 0 Boat 45
1 1 NaN 12
2 2 Cat 6
3 3 Moose 21
4 4 Boat 43
您可以使用pd.get_dummies自动编码分类数据:
df1 = pd.get_dummies(df)
这产生了这个:
A C B_Boat B_Cat B_Moose
0 0 45 1.0 0.0 0.0
1 1 12 0.0 0.0 0.0
2 2 6 0.0 1.0 0.0
3 3 21 0.0 0.0 1.0
4 4 43 1.0 0.0 0.0
在将它放入pd.get_dummies之前,我通常使用LabelEncoder().fit_transform进行此类任务,但是如果我可以跳过一些可取的步骤.
我只是在整个数据帧上使用pd.get_dummies来编码它而失去了什么吗?
解决方法:
是的,如果您只想编码字符串功能,可以跳过LabelEncoder的使用.另一方面,如果你有一个整数的分类列(而不是字符串),则pd.get_dummies将保持原样(例如,参见你的A或C列).在这种情况下,你应该使用OneHotEncoder
.理想情况下,OneHotEncoder将支持整数和字符串,但这是worked on at the moment.
标签:python,pandas,scikit-learn,sklearn-pandas 来源: https://codeday.me/bug/20190608/1199074.html