3

How to build up a dictionary with a 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

The result I need is a dictionary with Vendors as Keys and Projects as items.

Zero
  • 74,117
  • 18
  • 147
  • 154
Jay Lopez
  • 71
  • 1
  • 9

1 Answers1

7

Use

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']}

Or,

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']}
Zero
  • 74,117
  • 18
  • 147
  • 154