首页 > 解决方案 > 如何在熊猫列中创建单词的二进制表示?

问题描述

我有一列包含可变大小的列表。列表包含有限数量的短文本值。总共有大约 60 个唯一值。

0    ["AC","BB"]
1    ["AD","CB", "FF"]
2    ["AA","CC"]
3    ["CA","BB"]
4    ["AA"]

我想在我的数据框中创建此值列,如果值在此行中,则此列的值为 1,否则为 0。

我知道我可以扩展列表,然后调用 unique 并将它们设置为新列。但是之后我不知道该怎么办?

标签: pythonpandaslistdata-representation

解决方案


这是一种方法:

df = pd.get_dummies(df.explode('val')).sum(level = 0)

注意:(level=0)有点像使用索引对内容进行分组的分组操作。所以,我更喜欢在爆炸数据框后使用它。


推荐阅读