numpy - 两个 numpy 数组的平均绝对差

标签 numpy difference

我有两个一维 NumPy 数组 XY。我需要计算 X 的每个元素和 Y 的每个元素之间的平均绝对差。最简单的方法是使用嵌套的 for 循环:

import numpy as np
np.random.seed(1)
X = np.random.randint(10, size=10)
Y = np.random.randint(10, size=10)

s = 0
for x in X:
    for y in Y:
        s += abs(x - y)
mean = s / (X.size * Y.size)
#3.4399999999999999

问题:NumPy 是否提供此解决方案的矢量化、更快版本?

编辑:我需要平均绝对差异(始终非负)。抱歉造成困惑。

最佳答案

如果我正确理解你的定义,你可以使用广播。

np.mean(np.abs(X[:, None] - Y))

关于numpy - 两个 numpy 数组的平均绝对差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50430585/

相关文章:

python - 如何判断 Pandas 中的值是否随维度变化

android - 使用ionic 3的平台之间没有区别

python - Python QuTiP 中的集成未成功

python - 如何使用 Python 中的调查权重计算 OLS 回归。

python - numpy插入一个元素,保留数组维数

java - 如何在 O(n) 中找到两个链表之间缺少的元素?

python - 将标题转换为行

python - numpy 有效地计算多项式

javascript - 计算2次的差值