陣列運算子

x = np.arange(4)
x
#Out:array([0, 1, 2, 3])

標量加法是元素明智的

x+10
#Out: array([10, 11, 12, 13])

標量乘法是元素明智的

x*2
#Out: array([0, 2, 4, 6])

陣列加法是元素明智的

x+x
#Out: array([0, 2, 4, 6]) 

陣列乘法是元素明智的

x*x
#Out: array([0, 1, 4, 9])

點積(或更一般地矩陣乘法)是用函式完成的

x.dot(x)
#Out: 14

在 Python 3.5 中,@ 運算子被新增為矩陣乘法的中綴運算子

x = np.diag(np.arange(4))
print(x)
'''
   Out: array([[0, 0, 0, 0],
   [0, 1, 0, 0],
   [0, 0, 2, 0],
   [0, 0, 0, 3]])
'''
print(x@x)
print(x)
'''
   Out: array([[0, 0, 0, 0],
   [0, 1, 0, 0],
   [0, 0, 4, 0],
   [0, 0, 0, 9]])
'''

追加。返回附加值的副本。不到位。

#np.append(array, values_to_append, axis=None)
x = np.array([0,1,2,3,4])
np.append(x, [5,6,7,8,9])
# Out: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
x
# Out: array([0, 1, 2, 3, 4])
y = np.append(x, [5,6,7,8,9])
y
# Out: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

hstack 。水平堆疊。 (列堆疊)
vstack 。垂直堆疊。 (行堆疊)

# np.hstack(tup), np.vstack(tup)
x = np.array([0,0,0])
y = np.array([1,1,1])
z = np.array([2,2,2])
np.hstack(x,y,z)
# Out: array([0, 0, 0, 1, 1, 1, 2, 2, 2])
np.vstack(x,y,z)
# Out: array([[0, 0, 0],
#             [1, 1, 1],
#             [2, 2, 2]])