[英]Pandas Dataframe Comparison and Floating Point Precision
我正在寻找比较应该相同的两个数据框。 但是,由于浮点精度,我被告知值不匹配。 我在下面创建了一个示例对其进行仿真。 如何获得正确的结果,以便最终比较数据帧对两个单元格都返回true?
a = pd.DataFrame({'A':[100,97.35000000001]})
b = pd.DataFrame({'A':[100,97.34999999999]})
print a
A
0 100.00
1 97.35
print b
A
0 100.00
1 97.35
print (a == b)
A
0 True
1 False
确定,您可以为此使用np.isclose
:
In [250]:
np.isclose(a,b)
Out[250]:
array([[ True],
[ True]], dtype=bool)
np.isclose
具有相对公差和绝对公差。 它们分别具有默认值: rtol=1e-05
, atol=1e-08
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.