处理数据帧以进行一种热编码

时间:2020-02-01 15:48:55

标签: dataframe one-hot-encoding

我有一个数据集(从https://www.kaggle.com/renanmav/which-team-will-win-this-dota-2-match开始),其中一个随机行如下所示:

Sven|Lone Druid|Venomancer|Clockwerk|Shadow Shaman|Invoker|Gyrocopter|Anti-Mage|Alchemist|

列名称仅为0、1、2、3 ... 我想对每行中的每个唯一单词热编码整个数据集,然后创建具有相应名称的列,然后根据其是否在此处写1或0(也许不好解释) 基本上我希望上一行在:

之后看起来像这样
Sven|Lone Druid|Venomancer|Clockwerk|Shadow Shaman|Invoker|Gyrocopter|Anti-Mage|Alchemist| other possible values....
------------------------------------------------------------------------------------------
1   |         1|         1|        1|            1|      1|         1|        1|        1|   0|0|0|... 

所以我得到了所有唯一值,并用它作为列创建了一个数据框:

all_heroes = np.unique(X.values.flatten())

我想我需要使用iterrows()手动进行操作? 有什么更好的办法吗?

谢谢

0 个答案:

没有答案