Python Numpy之广播、多维数组反转、分割、连接操作

Numpy之广播

  • 广播是指Numpy在算术运算期间处理不同形状的数组的能力。对数组的算术运算通常在相应的元素上进行。如果两个阵列具有完全相同的形状,则这些操作被无缝执行
  • 如果两个数组的维数不相同,则元素到元素的操作是不可能的。然而,在Numpy中仍然可以对形状不相似的数组进行操作,因此它拥有广播功能。较小的数组会广播到较大数组的大小,以便使它们形状可兼容。
#同维度矩阵操作
>>>a = np.array([1,2,3,4,5])
>>>b = np.array([10,20,30,40,50])
>>>print(a+b)
>[11 22 33 44 55]
>>>print(a*b)
>[ 10  40  90 160 250]
>>>print(b-a)
>[ 9 18 27 36 45]
#不同维度矩阵操作,需要广播
>>>a = np.array([[1,1,1],[10,10,10],[20,20,20]])
>>>b = np.array([1,2,3])
>>>print(a)
>[[ 1  1  1]
 [10 10 10]
 [20 20 20]]
>>>print(b)
>[1 2 3]
>>>print(a+b)
>[[ 2  3  4]
 [11 12 13]
 [21 22 23]]
>>>print(a-b)
>[[ 0 -1 -2]
 [ 9  8  7]
 [19 18 17]]
>>>print(a*b)
>[[ 1  2  3]
 [10 20 30]
 [20 40 60]]

多维数组的存取

  • 多维数组的存取和一维数组类似,因为多维数组有多个轴,因此它的下标需要用多个值来表示,Numpy采用元组作为数组下标。

  • 多维数组同样可以使用整数序列和布尔数组进行存取

>>>a = np.array([[0,1,2,3,4,5],[10,11,12,13,14,15],[20,21,22,23,24,25],[30,31,32,33,34,35],[40,41,42,43,44,45

你可能感兴趣的:(日常)