我有一个如下形式的数据帧:
Date ID Temp
2019/03/27 1 23
2019/04/27 2 32
2019/04/27 1 42
2019/04/28 1 41
2019/01/27 2 33
2019/08/27 2 23
我需要做什么
Select Rows which are at least 30 days old from their latest measurement for each id.
也就是说,Id = 2
的最新日期是2019/08/27
,所以对于ID =2
,我需要选择至少早于30天的行。因此,ID=2的2019/08/27
行本身将被删除
类似地,ID=1的最新日期是2019/04/28
。这意味着只有在日期小于2019/03/28
(早30天)时,我才能为ID =1
选择行。因此,将删除带有ID=1
的2019/04/27
行
如何在熊猫身上做到这一点。非常感谢您的帮助
谢谢你
最终数据帧为:
Date ID Temp
2019/03/27 1 23
2019/04/27 2 32
2019/01/27 2 33
在您的例子中,使用
groupby
+transform('last')
并过滤原始df注意,我在末尾添加了
.copy
,以防止设置复制错误相关问题 更多 >
编程相关推荐