【发布时间】:2020-01-02 06:57:50
【问题描述】:
Name = [list(['Amy', 'A', 'Angu']),
list(['Jon', 'Johnson']),
list(['Bob', 'Barker'])]
Other = [list(['Amy', 'Any', 'Anguish']),
list(['Jon', 'Jan']),
list(['Baker', 'barker'])]
import pandas as pd
df = pd.DataFrame({'Other' : Other,
'ID': ['E123','E456','E789'],
'Other_ID': ['A123','A456','A789'],
'Name' : Name,
})
ID Name Other Other_ID
0 E123 [Amy, A, Angu] [Amy, Any, Anguish] A123
1 E456 [Jon, Johnson] [Jon, Jan] A456
2 E789 [Bob, Barker] [Baker, barker] A789
我有上面看到的df。我想将列ID、Name 和Other 放入字典中,它们的键为ID。我根据python pandas dataframe columns convert to dict key and value尝试了这个
todict = dict(zip(df.ID, df.Name))
这和我想要的很接近
{'E123': ['Amy', 'A', 'Angu'],
'E456': ['Jon', 'Johnson'],
'E789': ['Bob', 'Barker']}
但我想获得包含来自Other 列的值的输出
{'E123': ['Amy', 'A', 'Angu','Amy', 'Any','Anguish'],
'E456': ['Jon', 'Johnson','Jon','Jan'],
'E789': ['Bob', 'Barker','Baker','barker']
}
如果我把第三列放在Other 它会给我错误
todict = dict(zip(df.ID, df.Name, df.Other))
如何获得我想要的输出?
【问题讨论】:
标签: python-3.x pandas list dictionary zip