4

最近引起我注意的是,如果您有这样的数据框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

我通常LabelEncoder().fit_transform在放入之前用于此类任务pd.get_dummies,但如果我可以跳过一些可取的步骤。

pd.get_dummies通过简单地使用我的整个数据帧对其进行编码, 我是否会丢失任何东西?

4

1 回答 1

6

是的,LabelEncoder如果您只想对字符串特征进行编码,则可以跳过使用。另一方面,如果您有一个整数分类列(而不是字符串),那么pd.get_dummies将保持原样(例如,请参见您的 A 或 C 列)。在这种情况下,您应该使用OneHotEncoder. 理想情况下OneHotEncoder将同时支持整数和字符串,但目前正在处理中

于 2016-09-22T21:25:38.010 回答