gpt4 book ai didi

python - 使用值列表迭代 df 和输出字典

转载 作者:太空狗 更新时间:2023-10-30 02:36:07 26 4
gpt4 key购买 nike

我需要将数据框转换为字典,但无法让数据框中的所有值出现在字典中。

数据框:

id| region | Num | 
--|--------|-----|
2 | NYC |2344 |
3 | NYC |3243 |
4 | NYC |3253 |
5 | NYC |2345 |
6 | CHI |8756 |
7 | CHI |9786 |
8 | CHI |7674 |
9 | CHI |6678 |
10| ATL |1234 |

代码:

df.set_index('region').T.to_dict('list'):

我需要的是这个:

{'NYC: [2344, 3243, 3253, 2345 ], 'CHI': [8756, 9786, 7674, 6678], 'ATL': [1234] }

但我得到的是:

{'NYC: [2345 ], 'CHI': [6678], 'ATL': [1234] }

我试过:

    num_dict = {}
for region, num in df:
num_dict.setdefault(region, []).append(num)

但这给了我一个(ValueError:解压的值太多(预期为2)

有更好的方法吗?

提前致谢!

最佳答案

使用 groupby.apply(list) 然后 .to_dict

df.groupby('region')['Num'].apply(list).to_dict()

[输出]

{'ATL': [1234],
'CHI': [8756, 9786, 7674, 6678],
'NYC': [2344, 3243, 3253, 2345]}

关于python - 使用值列表迭代 df 和输出字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55693103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com