我有一个包含 12 列的数据框。在这些列中,我有许多浮动列,我需要验证这些值是否大致相等或足够接近。
样本数据:
df = pd.DataFrame({'id' : ['abc', 'pqr', 'xyz', 'cbz'],
'col1' : [0.0234, 0.001852, 4.123, 0.0012],
'col2' : [0.0235, 0.001851, 0.0123, 0.0013],
'col3' : [0.0233, 0.001849, 0.124, 0.0011]})
df
id col1 col2 col3
0 abc 0.0234 0.0235 0.0233
1 pqr 0.001852 0.001851 0.001849
2 xyz 4.123 0.0123 0.124
我可以使用np.isclose
并设置一个适用于我的情况的阈值,即 0.062。但是有人可以告诉我如何比较 col1 约等于 col2 约等于 col3 吗?如果甚至有 1 列不满足条件,则结果应False
与 的情况相同id
xyz
。
您可以首先比较所有转置列并测试所有值是否为
True
s bynumpy.all
:IIUC,您可以使用:
输出 :
np.isclose
使用布尔数组然后将其与以下组合的综合列表np.logical_and
: