问题描述
我有一列包含可变大小的列表。这些列表包含有限数量的短文本值。总共大约 60 个唯一值。
0 ["AC","BB"]
1 ["AD","CB","FF"]
2 ["AA","CC"]
3 ["CA","BB"]
4 ["AA"]
我想在我的数据框中创建这些值列,如果值在这一行中,则该列的值将为 1,否则为 0。
我知道我可以扩展列表,而不是调用 unique 并将它们设置为新列。但之后我不知道该怎么办?
解决方法
这是一种方法:
df = pd.get_dummies(df.explode('val')).sum(level = 0)
注意:这里的 (level=0)
有点像使用索引对内容进行分组的分组操作。所以,我更喜欢在分解数据框后使用它。