简体   繁体   English

使用多个值从熊猫系列创建字典

[英]Create dictionary from panda series with multiple values

I have a pd dataframe as follow: 我有一个pd数据框如下:

df=pd.DataFrame([['A',1],['A',3],['B',2],['B',5],['C',8]],columns=['k','v'])

And from I would like to create the following dictionary: 从我想创建以下字典:

{'A':[1,3],
 'B':[2,5],
 'C':[8]
}

I am currently doing it with: 我目前正在这样做:

from collections import defaultdict


my_dict=defaultdict(list)

for key in df.k:
    my_dict[key].append(df['v'][df['k']==key])

But it is not efficient (very time consuming) for large df and also sends me back the index of the values, which I do not want. 但是对于大型df而言效率不高(非常耗时),并且还会将值返回给我,这是我不想要的。

Any suggestions? 有什么建议么?

Thanks 谢谢

你可以在这里使用agg

df.groupby('k').v.agg(list).to_dict()

{'A': [1, 3], 'B': [2, 5], 'C': [8]}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM