2024-06-23 18:43:04 发布
网友
我有如下数据帧:
City Name 0 Seattle Alice 1 Seattle Bob 2 Portland Mallory 3 Portland Bob
获取关键字为城市、值为名称的词典的有效方法是什么,即:
dict = {'Seattle': {'Alice','Bob'}, 'Portland': {'Mallory','Bob'}}
我在考虑用数据框groupby(“城市”)
你能做到的
dict(df.groupby('City')['Name'].apply(list))
df.groupby('City')是一个迭代器。您可以在dict理解中使用它来生成所需的dict:
df.groupby('City')
In [84]: {city:set(grp['Name'].tolist()) for city, grp in df.groupby('City')} Out[84]: {'Portland': {'Bob', 'Mallory'}, 'Seattle': {'Alice', 'Bob'}}
要创建名称列中包含集合的数据帧,可以使用groupby/apply:
groupby/apply
In [91]: df.groupby('City')['Name'].apply(set).reset_index() Out[91]: City Name 0 Portland {Bob, Mallory} 1 Seattle {Alice, Bob}
您可以使用GroupBy.apply和to_dict:
GroupBy.apply
to_dict
df.groupby('City')['Name'].apply(set).to_dict()
你能做到的
df.groupby('City')
是一个迭代器。您可以在dict理解中使用它来生成所需的dict:要创建名称列中包含集合的数据帧,可以使用
groupby/apply
:您可以使用
GroupBy.apply
和to_dict
:相关问题 更多 >
编程相关推荐