我将尝试在给定不确定性范围内搜索pandas数据框中的匹配值。例如,如果我有一个数据框:
A B C
0 12 12.6 111.20
1 14 23.4 112.20
2 16 45.6 112.30
3 18 56.6 112.40
4 27 34.5 121.60
5 29 65.2 223.23
6 34 45.5 654.50
7 44 65.6 343.50
如何搜索符合112.6 +/-0.4的值,而不必创建一个长而困难的标准?
TargetVal_Max= 112.6+0.4
TargetVal_Min= 112.6-0.4
基本上,我想创建一个“缓冲窗口”,允许返回与窗口匹配的所有值。我有不确定性包,但尚未使其像这样工作。
最理想的情况是能够在给定的误差范围内返回与C和B中的值匹配的所有索引值。
编辑
正如@MaxU所指出的那样,如果您知道确切数字,np.isclose f(x)非常有效。但是否可能匹配值列表,以便如果我有第二个数据框架并希望查看来自一个数据框架的C值是否与C(第二个数据框架)的值在容限范围内匹配?我已经尝试将它们放入列表并以这种方式执行,但尝试一次以上单个值时会遇到问题。
TEST= Dataframe_2["C"]
HopesNdreams = sample[sample["C"].apply(np.isclose,b=TEST, atol=1.0)]
编辑2
我尝试了几种不同的解决方法后发现,我只需做以下操作:
TEST1= Dataframe_2["C"].tolist
for i in TEST1:
HopesNdreams= sample[sample["C"].apply(np.isclose,b=i, atol=1.0)]
这将返回给定列的命中次数。根据第一个答案中提出的逻辑,我认为这对我需要的功能非常有效。这种方法是否存在我没有看到的任何问题?
感谢您的帮助!