49

I have two arrays, for example:

array1=numpy.array([1.1, 2.2, 3.3])
array2=numpy.array([1, 2, 3])

How can I find the difference between these two arrays in Python, to give:

[0.1, 0.2, 0.3]

As an array as well?

Sorry if this is an amateur question - but any help would be greatly appreciated!

4

2 回答 2

64

这很简单numpy,只需减去数组:

diffs = array1 - array2

我得到:

diffs == array([ 0.1,  0.2,  0.3])
于 2014-02-02T20:55:43.443 回答
21

你也可以使用numpy.subtract

与差分运算符相比,它的优势-在于,您不必将序列(列表或元组)转换为numpy 数组- 您保存两个命令:

array1 = np.array([1.1, 2.2, 3.3])
array2 = np.array([1, 2, 3])

示例:(Python 3.5)

import numpy as np
result = np.subtract([1.1, 2.2, 3.3], [1, 2, 3])
print ('the difference =', result)

这给了你

the difference = [ 0.1  0.2  0.3]

但是请记住,如果您尝试使用-运算符减去序列(列表或元组),您将得到一个错误。在这种情况下,您需要上述命令来转换numpy 数组中的序列

错误代码:

print([1.1, 2.2, 3.3] - [1, 2, 3])
于 2016-10-04T01:09:07.643 回答