Numpy数组的运算

目录

  • Numpy 数组的运算
    • 数组和标量运算
    • 数组和数组的运算
    • 广播机制
    • 一些常用函数

Numpy 数组的运算

使⽤ NumPy 最为⽅便的是当需要对数组元素进⾏运算时,不⽤编写循环代码遍历每个元素,所有的运算都会⾃动 的⽮量化(使⽤⾼效的、提前编译的底层代码来对数据序列进⾏数学操作)。简单的说就是,NumPy 中的数学运 算和数学函数会⾃动作⽤于数组中的每个成员。

数组和标量运算

数组中的每一个元素都和标量运算

array35 = np.arange(1, 10) 
print(array35 + 10) 
print(array35 * 10)

[11 12 13 14 15 16 17 18 19] 
[10 20 30 40 50 60 70 80 90]

数组和数组的运算

形状相同的运算,每一个元素对应的运算

array37 = np.array([[4, 5, 6], [7, 8, 9]]) 
array38 = np.array([[1, 2, 3], [3, 2, 1]]) 
# 求次方
print(array37 ** array38) 
print(np.power(array37, array38))

[[ 4 25 216] [343 64 9]]
[[ 4 25 216] [343 64 9]]

广播机制

不同形状的二维数组进行运算,代码如下:

array39 = np.array([[0, 0, 0], [1, 1, 1], [2, 2, 2], [3, 3, 3]])
array40 = np.array([1, 2, 3])
array39 + array40
array([[1, 2, 3],
 		[2, 3, 4],
 		[3, 4, 5],
 		[4, 5, 6]])
 		
array41 = np.array([[1], [2], [3], [4]])
array39 + array41
array([[1, 1, 1],
 [3, 3, 3],
 [5, 5, 5],
 [7, 7, 7]])

如图:
Numpy数组的运算_第1张图片
Numpy数组的运算_第2张图片

从上面可以看出不同形状的二维数组也可以进行运算,但是也不是全都能运算,需要满足如下任一条件:

  • 后援维度相同;
  • 其中一个后缘维度为1;

通过广播机制能使两个数组形状一致。所谓后缘维度是指用shape属性查出来的最后一个元素(从后往前数)

一些常用函数

Numpy数组的运算_第3张图片

你可能感兴趣的:(数据分析,numpy,python,机器学习)