Python:如何进行近似比较或在值中添加一定的容差级别以进行比较

时间:2017-10-27 12:31:22

标签: python excel

我有2个带有现有值的excel文件,我需要比较这些值并显示它们的状态(通过/失败),这些值有时彼此接近,例如, 4.7& 5或7& 7.3。如何添加公差,以便近距离测试用例不会失败。 Excel 1:2.3,4.3,10.1,22.2

Excel 2:2,4,10,22

有没有办法让我可以在其中添加一个范围,以便我可以比较近似值?

1 个答案:

答案 0 :(得分:1)

我不确定我是否正确理解了你的问题,但它可能会有所帮助。 您可以定义自己的比较函数,并将其与.apply()一起使用来比较数据框的列或仅比较两个元素

import pandas as pd

def equal_or_similar(x,y,threshold=0.2):
    return(abs(x-y)<threshold)

equal_or_similar(1,1.1) 
## Returns true 

items= [('x', [ 1,2,3,3,3,5,9,10,11,13]), ('y',[1.1,1.5,31,1,1,4.9,4,1,11,12])]
df = pd.DataFrame.from_items(items)


df.apply(lambda row : equal_or_similar(row[0],row[1]),axis=1)