我有以下df,我需要找到等于或最接近列值660的所有值。 详细地说,这意味着我必须以某种方式遍历列值以找到所有这660个或最接近的值。列值中的值在1到(范围不同)的范围内,到达末尾时,值又从1开始。最后,我必须选择值== 660(或最接近)的所有其他列的整行)。我或多或少有一个'helper'列辅助程序,其值在1到结束范围内具有相同的值。获得结果可能会有所帮助(列帮助始终为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
感谢您的帮助或提示!
答案 0 :(得分:0)
没有足够的信息来提供正确的答案。数据框的大小是多少?您最近的意思是什么?可以通过对熊猫系列应用遮罩来解决“ where value == 660”的问题。
应该像df = df[(df['value'] == 660)]
这样。
如果您有一系列数字,则可以使用布尔运算符作为掩码:
mask = df.value > 650 & df.value < 670
df = df[mask]
让我知道这是否是您想要的