python中两个numpy数组之间的区别

use*_*816 34 python arrays numpy array-difference

我有两个数组,例如:

array1=numpy.array([1.1, 2.2, 3.3])
array2=numpy.array([1, 2, 3])
Run Code Online (Sandbox Code Playgroud)

如何在Python中找到这两个数组之间的区别,给出:

[0.1, 0.2, 0.3]
Run Code Online (Sandbox Code Playgroud)

作为阵列也是?

对不起,如果这是一个业余问题 - 但任何帮助将不胜感激!

jon*_*rpe 43

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

diffs = array1 - array2
Run Code Online (Sandbox Code Playgroud)

我明白了:

diffs == array([ 0.1,  0.2,  0.3])
Run Code Online (Sandbox Code Playgroud)

  • 谢谢 - 我很抱歉,我似乎尝试了更复杂的路线,没想到要尝试这个。再次感谢! (2认同)

mar*_*jay 12

你也可以使用 numpy.subtract

它具有优于差异运算符的优点-,您不必将序列(列表或元组)转换为numpy数组 - 您保存两个命令:

array1 = np.array([1.1, 2.2, 3.3])
array2 = np.array([1, 2, 3])
Run Code Online (Sandbox Code Playgroud)

示例:(Python 3.5)

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

给你的

the difference = [ 0.1  0.2  0.3]
Run Code Online (Sandbox Code Playgroud)

但请记住,如果您尝试使用运算-符减去序列(列表或元组),则会出现错误.在这种情况下,您需要上面的命令来转换numpy数组中的序列

错误的代码:

print([1.1, 2.2, 3.3] - [1, 2, 3])
Run Code Online (Sandbox Code Playgroud)