我有一个Dataframe
+------+-------------------+------+
|group | time| label|
+------+-------------------+------+
| a|2020-01-01 10:49:00|first |
| a|2020-01-01 10:51:00|second|
| a|2020-01-01 12:49:00|first |
| b|2020-01-01 12:44:00|second|
| b|2020-01-01 12:46:00|first |
| c|2020-01-01 12:46:00|third |
+------+-------------------+------+
我想删除所有行,其中,对于每个组,标签 first
比标签更新 second
或者 third
. 例如在组中 a
与…划清界限 first
以及 2020-01-01 12:49:00
应该删除,因为有一个旧的行 second
标签。
所需输出为:
+------+-------------------+------+
|group | time| label|
+------+-------------------+------+
| a|2020-01-01 10:49:00|first |
| a|2020-01-01 10:51:00|second|
| b|2020-01-01 12:44:00|second|
| c|2020-01-01 12:46:00|third |
+------+-------------------+------+
按分区的窗函数 group
会在每个组内进行过滤,但如何实现标签上的过滤?
1条答案
按热度按时间toiithl61#
您可以使用非“first”的标签获取上一次,并使用该列进行筛选: