编程语言
首页 > 编程语言> > python – LabelEncoder().fit_transform与pd.get_dummies进行分类编码

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