gri*_*igs 4 python dictionary pandas
我需要将数据框转换为字典,但无法从数据框获取所有值以出现在字典中。
数据框:
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 |
Run Code Online (Sandbox Code Playgroud)
码:
df.set_index('region').T.to_dict('list'):
我需要的是:
{'NYC: [2344, 3243, 3253, 2345 ], 'CHI': [8756, 9786, 7674, 6678], 'ATL': [1234] }
Run Code Online (Sandbox Code Playgroud)
但是我得到的是:
{'NYC: [2345 ], 'CHI': [6678], 'ATL': [1234] }
Run Code Online (Sandbox Code Playgroud)
我试过了:
num_dict = {}
for region, num in df:
num_dict.setdefault(region, []).append(num)
Run Code Online (Sandbox Code Playgroud)
但是,这给了我一个(ValueError: too many values to unpack (expected 2)。
有一个更好的方法吗?
提前致谢!
groupby.apply(list)然后使用.to_dict
df.groupby('region')['Num'].apply(list).to_dict()
Run Code Online (Sandbox Code Playgroud)
[出]
{'ATL': [1234],
'CHI': [8756, 9786, 7674, 6678],
'NYC': [2344, 3243, 3253, 2345]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38 次 |
| 最近记录: |