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]])