从数据帧中获取字典的有效方法

时间:2016-06-23 20:50:08

标签: python pandas

我有一个数据框如下:

           City     Name
    0   Seattle    Alice
    1   Seattle      Bob
    2  Portland  Mallory       
    3  Portland      Bob

获取密钥为城市的字典的有效方法是什么,值是名称,即:

dict = {'Seattle': {'Alice','Bob'}, 'Portland': {'Mallory','Bob'}}

我在考虑使用df.groupby('City')

3 个答案:

答案 0 :(得分:4)

您可以使用GroupBy.applyto_dict

df.groupby('City')['Name'].apply(set).to_dict()

答案 1 :(得分:2)

MY_ENV_VAR = myValue 是一个迭代器。您可以在字典理解中使用它来生成所需的字典:

df.groupby('City')

要在“名称”列中创建包含集合的DataFrame,您可以使用In [84]: {city:set(grp['Name'].tolist()) for city, grp in df.groupby('City')} Out[84]: {'Portland': {'Bob', 'Mallory'}, 'Seattle': {'Alice', 'Bob'}}

groupby/apply

答案 2 :(得分:1)

你可以做到

dict(df.groupby('City')['Name'].apply(list))