首页 > 解决方案 > 尝试使用 pd.get_dummies 对仅返回 0 和 1 的数据进行热编码

问题描述

我正在尝试使用以下方法对 pandas 数据框中的某些 Xpath 名称进行热编码:

one_hot_encoded = pd.get_dummies(test_data['Name'])

原始表格有 8 个通用名称,如:Button、Text、Select、Dropdown 等。表格中有大约 500 个元素

当我运行这行代码时,它只返回:

0
1

我是否错误地使用了这种方法?我以为它可以像

0    Cat
1    Dog
2    Dog
3    Snake

进入

     Cat    Dog    Snake
0     1      0       0
1     0      1       0
2     0      1       0
3     0      0       1

标签: pythonpandas

解决方案


你的方法应该有效。看这个例子:

s = pd.Series(['Cat', 'Dog', 'Dog', 'Snake'])
pd.get_dummies(s)

输出:

   Cat  Dog  Snake
0    1    0      0
1    0    1      0
2    0    1      0
3    0    0      1

或者您可以使用字符串访问器和字符串方法:

s.str.get_dummies()

推荐阅读