我有一个带有列的 Pandas DataFrame A, B, C, D, date。我想过滤掉Aand 的重复项B,保留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'])然后通过获取date每个组中的最大值进行聚合。
我试过:
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()
我得到的大部分都是我想要的,但我失去了专栏D和C......
萧十郎
相关分类