一列中包含多个标签的热编码

时间:2018-05-25 07:18:12

标签: python pandas dataset one-hot-encoding

我有一个简单的数据集。

id,question,category,tags,day,quarter,group_id

1,What is your name,Introduction,Introduction,1,3,0

2,What is your name,Introduction,"Introduction, work",1,3,1

现在,如果您看到,tags列中有多个输入,请用逗号分隔。如果我尝试使用 pandas get_dummies函数进行单热编码,我将把它作为单个列。但是我想为每个标签创建列。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

我认为需要str.get_dummies

df1 = df['tags'].str.get_dummies(', ')
print (df1)

   Introduction  work
0             1     0
1             1     1

答案 1 :(得分:0)

你应该使用熊猫数据帧方法的pivottable。 以下代码可能有用

pivot_table(df, values='D', index=['id','question','category','day','quarter','group_id'],columns=['tags'])