【发布时间】:2014-09-09 22:45:26
【问题描述】:
我有一个带有列的数据框,相关的是 ID 和名称。我还有一本配对 ID:name 的字典。我需要匹配 ID 并将名称输出到 df['name'] 列。我遇到的问题是,在数据框中,某些 ID 每行有多个 ID。如何分别遍历每个 ID。
我的代码如下。如果只有一个 ID,它就可以工作。如果有多个 ID,我无法弄清楚如何让它工作。我猜它会被视为子列表?
for id_col, name_col in dic1.iteritems():
df.loc[(df['ID Value'] == id_col), 'name'] = name_col
示例数据框:
df_test = pd.DataFrame( {'ID Value' : [130, (12,45,100), 208], 'name' : ['','','']})
df_test >>
ID Value name
0 130
1 (12, 45, 100)
2 208
dic1:
45 Joe
130 Andy
208 Mary
我想要的结果是:
ID Value name
0 130 Andy
1 (12, 45, 100) Joe
2 208 Mary
【问题讨论】:
标签: python python-2.7 pandas