多值映射字典

时间:2019-11-21 02:44:26

标签: python pandas dictionary

我有一本字典,其键是一些unique_ID,每个键的值都有多个值['Company Name','State','County',latitude,'longitude']。我通过使用以下命令将数据帧转换为字典来创建此字典:

id_dict = df.set_index('unique_ID').T.to_dict('list')

我正在使用此字典使用以下代码将数据映射到包含这些unique_ID的另一个数据帧中:

df2.loc[:,'state'] = df2.unique_ID.map(id_dict)[1]

但是我收到一个错误:“ ValueError:设置可迭代项时必须具有相同的len键和值”

还有一种方法可以一次分配多个列,例如:

df2.loc[:,['company_name','state','county','lat','long']] = df2.unique_ID.map(id_dict)

请注意,数据帧df2比df1大得多,并且其中包含unique_ID的多个实例。这就是为什么无法合并,而不得不将df1转换成字典的原因。

0 个答案:

没有答案