我有一个带有列的 Pandas DataFrame A, B, C, D, date。我想过滤掉Aand 的重复项B,保留date.所以如果我有两行看起来像:A B C D date1 1 2 3 1/1/181 1 2 3 1/1/17正确的输出是:A B C D date1 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......
3 回答
萧十郎
TA贡献1815条经验 获得超13个赞
试试df.groupby(['A', 'B']).agg(lambda x: x.iloc[x['date'].argmax()])
熊猫有自己的日期对象。也许熊猫对系列名称感到困惑。
添加回答
举报
0/150
提交
取消