在Numpy中减去数组

问题描述 投票:0回答:1

我已将两个数组切成相应的x和y值。我想减去x值和y值。

arrayOneXValue = clusterCenters[:,0]
arrayTwoXValue = createArray[:,0]
arrayOneYValue = clusterCenters[:,1]
arrayYValue = createArray[:,1]

subtractXValues = np.subtract(arrayOneXValue, arrayTwoXValue)
subtractYValues = np.subtract(arrayOneYValue, arrayTwoXValue)

print(subtractXValues)
print(subtractYValues)

我期待看到两个数组的减去值对应于它们中的x和y值。而是我收到:

ufunc 'subtract' did not contain a loop with signature matching types 
    dtype('<U21') dtype('<U21') dtype('<U21')

我非常感谢有关我收到此消息的原因以及我的逻辑错误所在的任何建议。

python numpy
1个回答
1
投票

我注意到的一个可能的错误就在于:

subtractYValues = np.subtract(arrayOneYValue, arrayTwoXValue)

第二个矩阵是arrayTwoXValue而不是arrayYValue。也许它应该是:

subtractYValues = np.subtract(arrayOneYValue, arrayYValue)

此外,错误是由数组数据类型不匹配引起的。如果您发布了数组包含的示例,我可以详细说明。但是,这是一个例子。

a = np.array([1, 2])
b = np.array([1, 'a'])
c = np.subtract(a, b)

输出:TypeError:ufunc'sundract'不包含带有签名匹配类型的循环dtype('U21')dtype('U21')dtype('U21')

© www.soinside.com 2019 - 2024. All rights reserved.