您可以使用
apply(list):
>>> df.groupby(['id', 'time'])['value'].apply(list)id time1 2000 [5, 6, 7] 2001 [5]2 2000 [3] 2001 [3] 2005 [4, 5]3 2000 [3] 2005 [6]Name: value, dtype: object
如果您确实希望使用与您显示的格式完全相同的格式,则可以对它进行分组
id并
list再次 应用,但这并不高效,并且可以说该格式更难使用…
>>> df.groupby(['id','time'])['value'].apply(list).groupby('id').apply(list).tolist()[[[5, 6, 7], [5]], [[3], [3], [4, 5]], [[3], [6]]]


