use*_*701 10 python dictionary pandas
我有一个包含2列地址和ID的数据帧.我想将ID与字典中的相同地址合并
import pandas as pd, numpy as np
df = pd.DataFrame({'Address' : ['12 A', '66 C', '10 B', '10 B', '12 A', '12 A'],
'ID' : ['Aa', 'Bb', 'Cc', 'Dd', 'Ee', 'Ff']})
AS=df.set_index('Address')['ID'].to_dict()
print df
Address ID
0 12 A Aa
1 66 C Bb
2 10 B Cc
3 10 B Dd
4 12 A Ee
5 12 A Ff
print AS
{'66 C': 'Bb', '12 A': 'Ff', '10 B': 'Dd'}
Run Code Online (Sandbox Code Playgroud)
我想要的是重复项存储多个值,如:
{'66 C': ['Bb'], '12 A': ['Aa','Ee','Ff'], '10 B': ['Cc','Dd']}
Run Code Online (Sandbox Code Playgroud)
DSM*_*DSM 17
我想你可以groupby在这里使用字典理解:
>>> df
Address ID
0 12 A Aa
1 66 C Bb
2 10 B Cc
3 10 B Dd
4 12 A Ee
5 12 A Ff
>>> {k: list(v) for k,v in df.groupby("Address")["ID"]}
{'66 C': ['Bb'], '12 A': ['Aa', 'Ee', 'Ff'], '10 B': ['Cc', 'Dd']}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6572 次 |
| 最近记录: |