gpt4 book ai didi

python - Pandas:groupby 列出

转载 作者:行者123 更新时间:2023-12-03 18:19:03 25 4
gpt4 key购买 nike

我有如下数据:

id  value   time

1 5 2000
1 6 2000
1 7 2000
1 5 2001
2 3 2000
2 3 2001
2 4 2005
2 5 2005
3 3 2000
3 6 2005

我的最终目标是将数据放在如下列表中:
[[5,6,7],[5]] (this is for id 1 grouped by the id and year)
[[3],[3],[4,5]] (this is for id 2 grouped by the id and year)
[[3],[6]] (same logic as above)

我已经使用 df.groupby(['id', 'year']) 对数据进行了分组.但在那之后,我无法访问组并以上述格式获取数据。

最佳答案

您可以使用 apply(list) :

>>> df.groupby(['id', 'time'])['value'].apply(list)

id time
1 2000 [5, 6, 7]
2001 [5]
2 2000 [3]
2001 [3]
2005 [4, 5]
3 2000 [3]
2005 [6]
Name: value, dtype: object

如果你真的想要它显示的格式,你可以 groupby id并申请 list再次,但这效率不高,而且这种格式可以说更难使用......
>>> df.groupby(['id','time'])['value'].apply(list).groupby('id').apply(list).tolist()
[[[5, 6, 7], [5]], [[3], [3], [4, 5]], [[3], [6]]]

关于python - Pandas:groupby 列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53037888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com