gpt4 book ai didi

python - Pandas:按名称分组并以最近的日期行

转载 作者:行者123 更新时间:2023-12-02 14:54:01 26 4
gpt4 key购买 nike

我有一个包含 A、B、C、D、日期 列的 Pandas DataFrame。我想过滤掉 AB 的重复项,保留具有 date 中最新值的行。

所以如果我有两行看起来像:

A B C D date

1 1 2 3 1/1/18

1 1 2 3 1/1/17

正确的输出应该是:

A B C D date

1 1 2 3 1/1/18

我可以通过循环来做到这一点,但我想使用 df.groupby(['A', 'B']) 然后通过取最大值来聚合 每个组中的日期

我试过:

df.groupby(['A', 'B']).agg(lambda x: x.iloc[x.date.argmax()])

但是我得到:

AttributeError: 'Series' object has no attribute 'date'

知道我做错了什么吗?

编辑:嗯,如果我这样做:

df.groupby(['A', 'B']).UPDATED_AT.max()

我得到了大部分我想要的,但我丢失了列 DC...

最佳答案

你可以用

df.date=pd.to_datetime(df.date)
df.sort_values('date').drop_duplicates(['A','B'],keep='last')
A B C D date
0 1 1 2 3 2018-01-01

关于python - Pandas:按名称分组并以最近的日期行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53892344/

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