从两个 DataFrame 列构建字典 [重复]

Posted

技术标签:

【中文标题】从两个 DataFrame 列构建字典 [重复]【英文标题】:Build a dictionary from two DataFrame columns [duplicate] 【发布时间】:2018-03-02 00:27:22 【问题描述】:

如何使用 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

我需要的结果是一个字典,其中 Vendors 作为 Keys,Projects 作为 item。

【问题讨论】:

【参考方案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']

【讨论】:

嗯,我删除的答案和你的太相同了,无法取消删除。 非常感谢你们,这么快的回答!告别

以上是关于从两个 DataFrame 列构建字典 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python:从两个列表构建字典[重复]

从两个熊猫系列(csv的列作为DataFrame)创建元素字典

如何从带有列表的嵌套字典构建 MultiIndex Pandas DataFrame

如何使用 Pandas 从 DataFrame 或 np.array 中的列条目创建字典

使用循环从 Pandas 列构建 Python 字典 [重复]

在由具有不同列名的 DataFrame 组成的字典中应用函数