从两个DataFrame列构建字典

时间:2017-09-20 19:44:30

标签: python pandas dictionary dataframe

如何使用Dataframe构建字典。

df

   Vendor           Project
0    John           Cordoba
1    Saul             Pampa
2   Peter          La Plata
3    John  Federal District
4   Lukas             Salta
5  Thomas        Rio Grande
6   Peter        Rio Salado
7   Peter      Bahia Blanca

我需要的结果是将供应商作为键和项目作为项目的字典。

1 个答案:

答案 0 :(得分:1)

使用

In [1893]: df.groupby('Vendor')['Project'].apply(list).to_dict()
Out[1893]:
{'John': ['Cordoba', 'Federal District'],
 'Lukas': ['Salta'],
 'Peter': ['La Plata', 'Rio Salado', 'Bahia Blanca'],
 'Saul': ['Pampa'],
 'Thomas': ['Rio Grande']}

或者,

In [1900]: {k: g['Project'].values.tolist() for k, g in df.groupby('Vendor')}
Out[1900]:
{'John': ['Cordoba', 'Federal District'],
 'Lukas': ['Salta'],
 'Peter': ['La Plata', 'Rio Salado', 'Bahia Blanca'],
 'Saul': ['Pampa'],
 'Thomas': ['Rio Grande']}