我正在尝试从包含
这样的集合的列中创建字典d = {'col1': [{'A','B'},{'C','D'},{'A','C'},{'C'}], 'col2': [3, 4,5,7]}
df = pd.DataFrame(data=d)
我想应用这样的东西
df.apply(something)
我明白了
[{A:[3,5]}, {B:[3]}, {C:[4,5,7]},{D:[4]}]
答案 0 :(得分:6)
使用melt
,groupby
+ apply(list)
和to_dict
:
(pd.DataFrame(df.col1.tolist())
.join(df.col2)
.melt('col2')
.groupby('value')['col2']
.apply(list)
.to_dict())
# {'A': [5, 3], 'B': [3], 'C': [7, 4, 5], 'D': [4]}