Python数据分析基础与应用
模块3
数据分析应用NumPy
NumPy数组算术运算与矩阵乘法
NumPy中的广播机制(Broadcast)旨在解决不同形状数组
之间的算术运算问题。我们知道,如果进行运算的两个数组形状
完全相同,它们直接可以做相应的运算。
NumPy数组广播机制
NumPy数组广播机制
1.求元素数量相同的两个一维数组的乘积
代码如下:
import numpy as np
array1 = ([, , , ])
array2 = ([10, 20, 30, 40])
array3 = array1 * array2
print(array3)
输出结果:
[ 1. 4. 9. 16.]
NumPy数组广播机制
2.验证Numpy一维数组在轴0上的广播机制的实现过程
代码如下:
array_a = ([[ 0, 0, 0],
[1,1,1],
[2,2,2],
[3,3,3]])
# array_b数组与array_a数组形状不同
array_b = ([1,2,3])
print(array_a + array_b)
输出结果:
[[1 2 3]
[2 3 4]
[3 4 5]
[4 5 6]]
NumPy数组广播机制
3.验证Numpy一维数组在轴1上的广播机制的实现过程
代码如下:
array_c = ([[1], [2], [3], [4]])
print(array_a + array_c)
输出结果:
[[1 1 1]
[3 3 3]
[5 5 5]
[7 7 7]]
NumPy数组的算术运算
使用NumPy,可以轻松地在数组上执行数学运算。NumPy数组的“加减乘除
”算术运算,分别对应add()、subtract()、multiple()以及divide() 函数。
1.NumPy数组的四则运算
加、减、乘、除四则运算都是对数组进行逐元素运算,例如(a, b, c) + (d, e, f)
的结果就是(a+d, b+e, c+f),分别对每一个元素进行配对,然后对它们进行运算,它
返回的结果是一个数组。这里的乘法运算符执行的是逐元素乘法而不是矩阵乘法。
NumPy数组的算术运算
2.NumPy数组常见的算术运算
(1)对NumPy数组中的每个元素求倒数
numpy的reciprocal()函数用于对数组中的每个元素取倒数,并以数组的形式将
它们返回。当数组元素的数据类型为整型(int)时,对于绝对值小于1的元素,返回
值为0,而当数组中包含0元素时,返回值将出现overflow(inf)溢出提示。
NumPy数组的算术运算
2.NumPy数组常见的算术运算
(2)对NumPy数组中的每个元素求幂
numpy的power()函数用于将array_a数组中的元素作为底数,把array_b数组
中与array_a相对应的元素值求幂,最后以数组形式返回两者的计算结果。
(3)求两个数组对应位置上元素相除后的余数
numpy的mod()函数返回两个数组相对应位置上元素相除后的余数,它与
()的作用相同。
NumPy数组的算术运算
3.使用NumPy的舍入函数实现数组元素的舍入运算
NumPy提供了三个舍入函数。
(1)使用()函数实现数组元素的舍入运算
numpy的around()函数用于返回一个十进制值数,并将数值四舍五入到指定的
小数位上。其语法格式如下:
(array,decimals)
其参数说明如下:
☑ array:代表数组;
☑ decimals:要舍入到的小数位数。其默认值为0,如果为负数,则小数点将
移到整数左侧。
NumPy数组的算术运算
(2)使用()函数实现数组元素的舍入运算
numpy的floor()函数用于对数组中的每个元素值向下取整数,即返回不大于数
组中每个元素值的最大整数。
(3)使用()函数实现数组元素的舍入运算
numpy的ceil()函数与floor函数相反,表示向上取整,即返回不小于数组中每
个元素值的最小整数。
NumPy数组的矩阵乘法运算
1.NumPy数组的逐元素矩阵乘法
numpy的multiple()函数用于两个矩阵的逐元素乘法。
2.NumPy数组的矩阵乘积运算
numpy的matmul()用函数用于计算两个数组的矩阵乘积。
3.NumPy数组的矩阵点积
numpy的dot()函数用于计算两个矩阵的点积。
快乐学习
高效学习
祝学习进步!