选择与组条件匹配的行

机械

我有一个df如下所示的Pandas DataFrame

ID    Timestamp    x    y
1     10           322  222
1     12           234  542           
1     14           22   523
2     55           222  76
2     56           23   87
2     58           322  5436
3     100          322  345
3     150          22   243
3     160          12   765
3     170          78   65

现在,我想保留所有时间戳记在12到155之间的行df[df["timestamp"] >= 12 & df["timestamp"] <= 155]但是我只想包含相应ID组中所有时间戳都在范围内的行。因此,在上面的示例中,它应导致以下数据帧:

ID    Timestamp    x    y
2     55           222  76
2     56           23   87
2     58           322  5436

对于ID == 1ID == 3没有行的所有时间戳都在,这就是为什么不包括它们的范围内。

如何才能做到这一点?

ky

使用transformgroupby和使用all(),以检查组中的所有项目中的条件匹配:

df[df.groupby('ID').Timestamp.transform(lambda x: x.between(12,155).all())]

   ID  Timestamp    x     y
3   2         55  222    76
4   2         56   23    87
5   2         58  322  5436

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

对于每个组,选择第一行,然后选择与条件匹配的另一行

选择与一组前缀匹配的行

按组和列条件选择行

根据条件选择组中的行

按组和时间条件选择行

基于组和组内 ID 匹配的行选择

在几列中选择匹配条件的行

选择与在dplyr中随机选择的条件匹配的所有行

在条件为条件的联接表中选择不匹配的行

按条件选择具有 Max of CreatedOn 组的行

选择属于满足多个条件的组的所有行

满足条件后,SQL选择每个组的所有行

选择一行或多行满足特定条件的组

如何在MySQL中选择与“多行条件”匹配的行

选择3个连续值匹配条件的行-Python,Pandas

选择匹配一个条件的行,否则选择匹配另一个条件的行

从List <T>中选择与不能直接在属性上指定的条件匹配的组

查找组中的重复行,其中同一组中存在与某些条件匹配的另一行

SQL-如何根据变化的条件获取组的第一行,而不选择其下的行?

如果组中的一行在熊猫中满足特定条件,如何选择组的所有行

根据条件选择数据,然后复制与特定条件匹配的行

选择将其所有关联项匹配到列表的一组行

如何从数据框中选择与BID按组不匹配的行?

如何通过匹配列从表中选择一组行?

MySQL查询:返回组中所有先前行均与条件匹配的行

如果至少一行与MySQL中的条件匹配,则检索所有组记录

如何返回每个组的最后一个匹配条件行?

MySQL查询以选择符合条件的行以及与匹配行相关的行

仅在选择组内匹配内容