我有一张这样的床单。
taglist
0 1|2|3
1 2|3|4
taglist = DataFrame(taglist.str.split('|',expand = True))
我可以将其转换为:
0 1 2
0 1 2 3
1 2 3 4
但是,我想要这样: 在同一列中使用Onehotencoder使用相同的编号。
1 2 3 4
0 1 1 1 0
1 0 1 1 1
有什么办法吗?
答案 0 :(得分:0)
这是一个简单的编码问题,您可以使用str.get_dummies
来做到这一点:
df['taglist'].str.get_dummies(sep='|')
1 2 3 4
0 1 1 1 0
1 0 1 1 1
或者,以str.split
为基础,我们也可以使用
split = df['taglist'].str.split('|', expand=True)
pd.get_dummies(split, prefix='', prefix_sep='').sum(level=0, axis=1)
1 2 3 4
0 1 1 1 0
1 0 1 1 1