在列中选择最接近某个值的值

问题描述 投票:0回答:1

我有以下df,我需要找到列值中等于或最接近660的所有值。详细地说,这意味着我必须以某种方式迭代列值以找到所有这些660或最近的值。列值中的值在1到(范围变化)的范围内,当到达结束时,值从1开始。最后,我必须选择其中所有其他列的整行,其中value == 660(或neareest) )。我或多或少有一个'helper'列帮助器,它在1到end的值范围内具有相同的值。获得结果可能会有所帮助(列帮助始终为0或1)。这是df示例:

helper      value
0         1
.
.
.
0       647
0       649
0       652  
0       654
0       656
0       659
0       661
0       663 
0       665
0       667
0       669
0       672
0       674
0       676
0       678
0       681
.
.
.
0       1000
1       1
.
.
.
1       647
1       649
1       652
1       654
1       656
1       659
1       661
1       663
1       665
1       667
1       669
1       672
1       674
1       676
1       678
1       681
.
.
1       1500
0       1
.
.
.
0       645
0       647
0       650
0       652
0       654
0       656
0       658
0       661
0       663
0       665
0       667
0       669
0       672
0       674
0       676
0       679
.
.
.
0       980

感谢您的帮助或提示!

pandas select condition
1个回答
0
投票

没有足够的信息来获得正确的答案。数据帧的大小是多少?你最近的意思是什么? “值= = 660”的解决方案可以通过在熊猫系列中应用蒙版来完成。

df = df[(df['value'] == 660)]这样的东西应该做。

如果你有一系列数字,你可以使用布尔运算符作为掩码:

mask = df.value > 650 & df.value < 670
df = df[mask]

如果这是您正在寻找的,请告诉我

© www.soinside.com 2019 - 2024. All rights reserved.