gpt4 book ai didi

python - 选择数据框中具有最接近值的行

转载 作者:太空宇宙 更新时间:2023-11-04 09:46:35 24 4
gpt4 key购买 nike

          A   B       C
0 01:00:00 24 Andrew
1 01:00:00 28 Edd
2 01:00:00 12 Emma
3 01:00:00 18 Fred
4 02:00:00 17 Andrew
5 02:00:00 35 Edd
6 02:00:00 45 Emma
7 02:00:00 14 Fred

我想为每个 A 组选择一行,条件如下:

  • 选择最接近 15 的 B 值(在 02:00:00 的情况下,最接近 15 的值为 14) .
  • 如果有两个最接近 15 的值,则选择其中较大的一个(在 01:00:00 的情况下,选择 18)。

输出应该是:

          A   B       C
3 01:00:00 18 Fred
7 02:00:00 14 Fred

最佳答案

groupby这里是由于特殊情况如果有两个最接近15的值,选择其中较大的

df.sort_values('B',ascending=False).assign(New=(df.B-15).abs()).groupby(['A','New']).head(1).drop_duplicates('A',keep='last')
Out[486]:
A B C New
3 01:00:00 18 Fred 3
7 02:00:00 14 Fred 1

关于python - 选择数据框中具有最接近值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49565639/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com