终于到了NumPy的核心灵魂环节——数值运算!这也是它能取代原生Python列表的关键原因。
本篇讲解数组的各类运算操作,包括基础数学运算、常用统计函数、神奇的广播机制,不用写循环,一行代码完成批量计算,彻底体会NumPy的高效便捷,数据分析、机器学习的计算逻辑全靠它实现~
NumPy支持矢量运算,整个数组直接和数字、同形状数组做加减乘除、幂运算、取余等,代码极简,速度极快:
import numpy as nparr = np.array([[1,2,3],[4,5,6]])# 数组与标量运算print("数组+2:\n", arr + 2)print("数组*3:\n", arr * 3)print("数组平方:\n", arr ** 2)# 同形状数组运算arr2 = np.ones((2,3))print("数组相加:\n", arr + arr2)

NumPy内置海量统计函数,一键计算求和、均值、最值、方差、标准差等,支持按行/列计算,也支持全局计算:
全局统计:sum()、mean()、max()、min()、std()、var()
按轴统计:axis=0按列计算,axis=1按行计算
arr = np.array([[1,2,3],[4,5,6],[7,8,9]])# 全局统计print("总和:", np.sum(arr))print("均值:", np.mean(arr))print("最大值:", np.max(arr))# 按列求和,按行求均值print("按列求和:", np.sum(arr, axis=0))print("按行均值:", np.mean(arr, axis=1))

广播机制是NumPy最独特的功能,不同形状的数组也能直接运算,不用手动扩展数组,自动补齐形状,省去大量数据预处理工作:
维度不足的数组,在左侧补维度;
形状为1的维度,自动扩展至对应形状。
# 二维数组(2,3) + 一维数组(3,),自动广播arr1 = np.array([[1,2,3],[4,5,6]])arr2 = np.array([10,20,30])print("广播运算结果:\n", arr1 + arr2)# 二维数组(2,3) + 单列数组(2,1),自动广播arr3 = np.array([[1],[2]])print("广播运算结果:\n", arr1 + arr3)

机器学习、数学建模常用的矩阵乘法、逆矩阵、行列式,NumPy一键实现:
# 矩阵乘法a = np.array([[1,2],[3,4]])b = np.array([[5,6],[7,8]])dot_result = np.dot(a,b)# 计算行列式det = np.linalg.det(a)print("矩阵乘法:\n", dot_result)print("行列式:", det)

运算默认全局计算,加axis参数实现按行/列计算;
广播不是万能的,形状不兼容会报错,提前核对数组shape;
统计函数既可以用np.函数名(数组),也可以用数组.方法名()。
本篇我们掌握了NumPy的核心运算能力,从基础计算到广播机制、统计分析,完全覆盖日常数值计算需求。第五篇(终篇)将带来NumPy花式高阶玩法、实战技巧与避坑大全,教你玩出花样,解决实战疑难问题,完美收尾系列教程~