我有这个数据集:
pd.DataFrame({'pid' : ['12A', '12A', '12A', '10B', '10B', '10B', '10B'],
'wips' : ['Aa', 'Aa', 'Aa', 'Dd', 'Dd', 'Dd', 'Dd'],
'be':['charlie','charlie','charlie','hanami','hanami','hanami','hanami'],
'rownum':[1,2,3,1,2,3,4]}) pid wips be rownum
0 12A Aa charlie 1
1 12A Aa charlie 2
2 12A Aa charlie 3
3 10B Dd hanami 1
4 10B Dd hanami 2
5 10B Dd hanami 3
6 10B Dd hanami 4我需要把这个df转换成字典,就像这样-
[{'pid':'12A','wips':'Aa','be':'charlie','rownum':[1,2,3]},{'pid':'10B','wips':'Dd','be':'hanami','rownum':[1,2,3,4]}]请帮我写一段代码来得到这个结果。谢谢。
发布于 2022-02-10 14:45:42
分组,应用列表,变成dict。
result = df.groupby(['pid', 'wips', 'be'])['rownum'].apply(list).reset_index().to_dict(orient='records')发布于 2022-02-10 14:45:42
我们可以先用groupby使用list,然后再用to_dict
out = df.groupby(['pid','wips','be'])['rownum'].agg(list).reset_index().to_dict('records')
Out[16]:
[{'pid': '10B', 'wips': 'Dd', 'be': 'hanami', 'rownum': [1, 2, 3, 4]},
{'pid': '12A', 'wips': 'Aa', 'be': 'charlie', 'rownum': [1, 2, 3]}]https://stackoverflow.com/questions/71067140
复制相似问题