【发布时间】:2018-09-08 11:04:04
【问题描述】:
A B C
0 01:00:00 24 Andrew
1 01:00:00 17 Edd
2 01:00:00 12 Emma
3 01:00:00 18 Fred
4 02:00:00 38 Andrew
5 02:00:00 35 Edd
6 02:00:00 45 Emma
7 02:00:00 49 Fred
我想为每个A 组选择一行,条件如下:
- 取距离最小值为10的行。示例:在
02:00:00组中,B最小值为35,因此取值为(35 + 10= 45)B值的行。李> - 如果 (minimum + 10) 不存在,则取下一个较低的
B值。示例:在01:00:00组中,最小值为 12,但它不存在 (12 + 10 = 22)。所以取下一个较低的 B 值,即18。
输出应该是:
A B C
0 01:00:00 18 Fred
1 02:00:00 45 Emma
我试过了:
df[df.groupby('A')['B'].transform('min') + 10 <= df['B']]
【问题讨论】:
标签: python pandas conditional