当前位置:首页>python>Python数据分析基石NumPy全套干货Part.4

Python数据分析基石NumPy全套干货Part.4

  • 2026-09-06 09:16:03
Python数据分析基石NumPy全套干货Part.4

(喜欢的朋友感谢你的点赞关注~)

第四篇:NumPy核心运算⚡数学计算+统计函数+广播机制

终于到了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黑科技)

广播机制是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)
❓提问:为什么行列式结果不是-2,而是-2.0000000000000004?

💡 运算小技巧

  • 运算默认全局计算,加axis参数实现按行/列计算;

  • 广播不是万能的,形状不兼容会报错,提前核对数组shape;

  • 统计函数既可以用np.函数名(数组),也可以用数组.方法名()。

📚 本篇小结+下篇预告

本篇我们掌握了NumPy的核心运算能力,从基础计算到广播机制、统计分析,完全覆盖日常数值计算需求。第五篇(终篇)将带来NumPy花式高阶玩法、实战技巧与避坑大全,教你玩出花样,解决实战疑难问题,完美收尾系列教程~


往期回顾:
Python学习笔记——从入门到报废(十、循环(中))
Python可视化天花板|wordcloud词云库,搭配jieba做出高颜值创意图!
Python中文分词神器jieba|精准拆分文本,数据分析必备!
用Python Pygame做小游戏|从设计到算法,手把手复刻经典款

最新文章

随机文章