我有一个DataFrame,每个列中都有一个变量列表。我不知道如何对每列中的数据进行热编码
In:
lst = [['Red, Blue, Yellow', 'Blue, Green, Yellow', 'Green, Red, Blue'], ['Yellow, Red, Blue', 'Blue, Red, Green', 'Yellow, Blue, Red'], ['Yellow, Red, Green', 'Red, Yellow, Blue', 'Green, Blue, Red']]
df = pd.DataFrame(lst, columns =['A', 'B', 'C'], dtype = float)
Out:
A B C
Ella Red, Blue, Yellow Blue, Green, Yellow Green, Red, Blue
Mike Yellow, Red, Blue Blue, Red, Green Yellow, Blue, Red
Dave Yellow, Red, Green Red, Yellow, Blue Green, Blue, Red
我希望通过多层列标题创建它,如下所示:
A B C
Red Blue Green Yellow Red Blue Green Yellow ....
Ella 1 1 0 1 0 1 1 1 ....
Mike 1 1 0 1 1 1 1 0 ....
Dave 1 0 1 1 1 1 0 1 ....
我将非常感谢一些指导,因为我已经在这上面停留了一段时间
这里有一个方法:
有一个非常好的答案。在您的情况下,您必须将相同的应用于不同的列,因此类似(可以进一步优化):
相关问题 更多 >
编程相关推荐