元素级别运算应该就是对每个元素之行相同的操作了,听起来还是很简单的。


In [7]:
import numpy as np

In [8]:
values = np.array([1, 2, 3, 4, 5])

In [9]:
values + 5


Out[9]:
array([ 6,  7,  8,  9, 10])

试试乘法,


In [10]:
values *= 0

In [6]:
values


Out[6]:
array([0, 0, 0, 0, 0])

哇 好强哦, 如果是两个举证相加,也是很符合直觉的:


In [13]:
np.array([[1, 2], [3, 4]]) * np.array([[12, 6], [4, 3]])


Out[13]:
array([[12, 12],
       [12, 12]])

矩阵乘积

下面再试试点乘吧,矩阵乘积是 M N的矩阵乘以 N A 的矩阵得到 M * A 的矩阵,例如:


In [24]:
a = np.array([[2, 3]])//1*2

In [25]:
b = np.array([[3, 4, 5], [5, 3, 6]])

In [26]:
a.shape


Out[26]:
(1, 2)

In [18]:
b.shape


Out[18]:
(2, 3)

In [27]:
np.matmul(a, b)


Out[27]:
array([[42, 34, 56]])

In [28]:
a


Out[28]:
array([[4, 6]])

In [29]:
b


Out[29]:
array([[3, 4, 5],
       [5, 3, 6]])

In [30]:
np.dot(a, b)


Out[30]:
array([[42, 34, 56]])

据说matmul和dot只有在二维的时候是相同的,期待其他条件