比较两个数组中有差异的值

2024-04-18 06:18:50 发布

您现在位置:Python中文网/ 问答频道 /正文

大家下午好,我正在阅读python上numpy库的setdiff1d函数: (https://docs.scipy.org/doc/numpy/reference/generated/numpy.setdiff1d.html

它主要用于表示两个数组之间的不同值,例如(从上面的链接):

>>> a = np.array([1, 2, 3, 2, 4, 1])
>>> b = np.array([3, 4, 5, 6])
>>> np.setdiff1d(a, b)
array([1, 2])

我想知道是否存在允许在比较值中插入变化百分比的函数

说明:正如示例中所示,函数setdiff1d将返回两个数组之间完全不同的值

但是,如果我使用浮点数,我想允许这些值的百分比,例如,考虑到3.35等于3.34,有任何特定的函数可以处理这种情况,我可以将比较值之间的一个变化幅度设置为参数

最好的


Tags: 函数httpsorgnumpydocsdochtmlnp
1条回答
网友
1楼 · 发布于 2024-04-18 06:18:50

您可以使用以下内容:

def get_difference(va, vb, margin=0):
    return [a for a in set(va) if not
        all(a < (b - margin) or a > (b + margin)
        for b in set(vb))]

相关问题 更多 >