[英]Append values corresponding to a unique label as a list of values in pandas dataframe
[英]Pandas Dataframe loop to append values to a list for each unique name
我有以下 dataframe:
import pandas as pd
#Create DF
df = pd.DataFrame({
'Name': ['Jim','Jack','Jim','Jack','Jim','Jack','Mick','Mick'],
'Day':[1,1,2,2,3,3,4,4],
'Value':[10,20,30,40,50,60,70,80],
})
df
我想为每个唯一Name
创建一个列表,并为每个列表创建 append Value
。
我预期的 output 是:
Jim = [10,30,50]
Jack = [20,40,60]
Mick = [70,80]
关于最有效的方法有什么想法吗? 谢谢你!
你可以这样做:
result = df.groupby('Name').Value.agg(list)
结果:
Name
Jack [20, 40, 60]
Jim [10, 30, 50]
Mick [70, 80]
Name: Value, dtype: object
要聚合为字典,您可以使用:
df.groupby('Name')['Value'].agg(list).to_dict()
Output:
{'Jack': [20, 40, 60],
'Jim': [10, 30, 50],
'Mick': [70, 80]}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.