gpt4 book ai didi

python-2.7 - 基于最近日期的 Pandas 聚合/分组依据

转载 作者:行者123 更新时间:2023-12-04 07:55:09 26 4
gpt4 key购买 nike

我有一个如下的 DataFrame,其中 Id 是一个字符串,Date 是一个日期时间:

Id    Date
1 3-1-2012
1 4-8-2013
2 1-17-2013
2 5-4-2013
2 10-30-2012
3 1-3-2013

我想合并表格,以便为每个具有最新日期的 Id 显示一行。
关于如何做到这一点的任何想法?

最佳答案

您可以 groupby Id 字段:

In [11]: df
Out[11]:
Id Date
0 1 2012-03-01 00:00:00
1 1 2013-04-08 00:00:00
2 2 2013-01-17 00:00:00
3 2 2013-05-04 00:00:00
4 2 2012-10-30 00:00:00
5 3 2013-01-03 00:00:00

In [12]: g = df.groupby('Id')

如果您不确定顺序,您可以按照以下方式做一些事情:
In [13]: g.agg(lambda x: x.iloc[x.Date.argmax()])
Out[13]:
Date
Id
1 2013-04-08 00:00:00
2 2013-05-04 00:00:00
3 2013-01-03 00:00:00

对于每个组,它获取具有最大(最新)日期(argmax 部分)的行。

如果您知道它们是有序的,您可以选择最后一个(或第一个)条目:
In [14]: g.last()
Out[14]:
Date
Id
1 2013-04-08 00:00:00
2 2012-10-30 00:00:00
3 2013-01-03 00:00:00

(注意:它们不是按顺序排列的,所以在这种情况下这不起作用!)

关于python-2.7 - 基于最近日期的 Pandas 聚合/分组依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17029855/

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