2017-04-06 55 views
-5

为什么np.array([4, 3, 0]) + np.array([0, 2, 2])会给出一个输出array([4,5,2])为什么np.array([4,3,0])+ np.array([0,2,2])给出数组的输出([4,5,2])

任何人都可以详细解释一下吗?

+3

Elementwisse加法。你还期望什么? –

+0

@WillemVanOnsem(挑剔,但更)语义上,矢量加法。 Numpy的数组最初设计用于数值计算,数组和矩阵表示数学向量和矩阵。 – Jules

+1

(双重挑剔)数学'矢量加法'定义为不直接参考坐标系。如果向量表示为笛卡尔坐标,则可以通过对相应分量求和来执行向量相加,即“元素向量”。 numpy中的基本对象是一个多维数组。在数学,物理或工程中使用的向量和矩阵的映射并不准确。 – hpaulj

回答

0

它将numpy数组中的每个元素与另一个numpy数组中的相同索引处的元素相加。

4 + 0 = 0 
3 + 2 = 5 
0 + 2 = 2 
+0

你不应该说列表,因为添加'list'对象连接它们:'[1] + [2]'给出'[1,2]'' – Michael

1

这是一个正常的矢量添加。您只需将矢量中的每个元素添加到另一个矢量中的相应元素即可。

[4, 3, 0] 
+[0, 2, 2] 
___________ 
=[4, 5, 2] 

注意:如果矢量相加的结果大于9,则额外的数字不会溢出到矢量中的下一个项目。例如。

[4, 9, 0] 
+[0, 2, 2] 
___________ 
=[4,11, 2] 

如果您认为此答案有用,我建议您选取线性代数。

0

另外,如果要追加数组,你可以使用:

np.append(np.array([4, 3, 0]), np.array([0, 2, 2])) 
相关问题