gpt4 book ai didi

Python - 需要获取 Pandas 中每个 ID 的最后日期

转载 作者:行者123 更新时间:2023-11-28 21:13:42 25 4
gpt4 key购买 nike

可能这很简单,但我是 Pandas 的新手:我的 DataFrame 由“id”(int64)和“datetime”(datetime64)组成:

d = {'id' : Series([1., 2., 3., 2., 3., 1., 1., 3., 1., 2.]), 
'datetime' : Series(['01.02.2015', '01.02.2015',
'01.03.2015', '03.01.2015', '06.02.2015', '01.04.2015', '18.03.2015',
'02.02.2015', '03.02.2015', '02.04.2015'])}

df = DataFrame(d)

df["datetime"] = to_datetime(df["datetime"], dayfirst=True)

print(df)

我需要获得具有唯一“id”和最后合适的“datetime”的新 DataFrame。换句话说,我想得到这样的东西:

Out:
datetime id
0 2015-04-01 00:00:00 1
1 2015-04-02 00:00:00 2
2 2015-03-01 00:00:00 3

最佳答案

sort在 'datetime' 然后调用 drop_duplicates使用参数 take_last=True:

In [135]:
df.sort(columns=['datetime']).drop_duplicates(subset='id', take_last=True)

Out[135]:
datetime id
2 2015-03-01 3
5 2015-04-01 1
9 2015-04-02 2

更新

sort0.18.1 后现已弃用,您需要使用 sort_values :

df.sort_values(by=['datetime']).drop_duplicates(subset='id', keep='last')

关于Python - 需要获取 Pandas 中每个 ID 的最后日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32519730/

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