page contents

NumPy:Python数据科学的基石,轻松玩转多维数组与数值计算

在科学工程、统计学与数据科学领域,线性代数随处可见。我们经常需要表达向量、矩阵,这就要求一套简洁高效的方案来构建、调用多维数值数组。

attachments-2026-09-mJUk4nyk6a9a2069eef28.png在科学工程、统计学与数据科学领域,线性代数随处可见。我们经常需要表达向量、矩阵,这就要求一套简洁高效的方案来构建、调用多维数值数组。

如果不借助第三方库,只用原生Python实现,就要手写大量循环迭代代码,不仅繁琐,运行速度也十分有限。而NumPy直接解决了这一痛点。

一、快速创建多维数组

一维数组

import numpy as np
a = np.array([1,2,3,4])

写法和Python列表十分接近。在NumPy术语里,这是拥有一条轴的一维数组,既可以表示一组普通数字,也能作为向量使用。

我们还能用 arange 生成有序序列数组。比如生成2~8之间的偶数:

np.arange(2,10,2)

参数含义:起始值、上限(不包含)、步长。

如果需要生成均匀分布的浮点序列,可以使用 linspace:

np.linspace(0,50,100)

这句代码会生成0到50之间均匀分布的100个数值。

二维数组(矩阵)

我们可以轻松构建代表矩阵的二维数组,直接在Jupyter、IPython交互式环境运行查看结果:

A = np.array([[1,2,3],[4,5,6],[7,8,9]])
A

内层每组方括号代表一行,本质就是“数组嵌套数组”。行列数量相等的数组,在线性代数中称为方阵。 得益于直观的数组语法,数学公式可以直接转化为代码,这也是Python成为数据分析主流语言的重要原因。

二、极速数值运算

NumPy最大亮点就是运算性能。小规模运算在电脑上感知不强,但面对海量数据时,速度差距会非常明显。

Python属于解释型语言,运行效率有限。而NumPy底层封装了C、Fortran代码,集成BLAS、LAPACK成熟数值库,大幅加速数值计算。 C与Fortran经过数十年科学计算领域打磨,底层算法高度优化。依托这套成熟体系,NumPy让现代数据科学中的各类统计运算效率大幅提升。

三、开箱即用的基础统计计算

Python生态钟爱NumPy做统计分析,一大原因就是数组自带丰富的描述性统计方法。

Python标准库内置的 statistics 模块仅适合简易手工计算,无法适配大规模NumPy数组。NumPy内置大量通用函数,上手门槛极低。

求取数组平均值:

a.mean()
# 方阵同样支持
A.mean()

求取中位数:

np.median(a)

计算标准差:

a.std()

这些高频接口,让NumPy成为Python统计分析的底层基石。

四、便捷生成随机数

统计与概率研究经常需要构造测试数据集,NumPy内置完善的随机数工具。

规范写法:先初始化随机生成器对象

rng = np.random.default_rng()

生成5个0~1之间的随机小数:

rng.random(5)

从正态分布(钟形曲线)抽取随机样本:

rng.standard_normal(5)

同时支持生成多维随机数组,例如创建3行5列随机矩阵:

rng.random((3,5))

五、内置常用数学常数

NumPy直接内置数学常用常数 π 和自然常数 e。虽然 math 库也能获取,但NumPy的常数更适合和大规模数组配合运算。

np.pi
np.e

结合通用函数可以直接运算,例如求42的自然对数:

np.log(42)
# 输出约3.74

我们也可以通过指数运算还原原始数值:

np.e**3.74

自然常数广泛用于金融、商业领域的指数增长模型,实用性极强。

六、强大的线性代数能力

前面提到,线性代数贯穿整个科研与统计领域。它把高中接触的线性方程组,用更加简洁紧凑的矩阵形式表达。 依靠NumPy高效的数值运算,我们不需要手动演算,就能快速求解统计场景里的各类方程组。

最典型的场景就是线性回归:在散点数据中拟合最优直线,最小化距离平方误差。当样本量达到数百、数千条时,人工求解完全不现实,借助NumPy可以快速得到结果,极大节省研究人员工作量。

七、整个Python数据生态都依赖NumPy

绝大多数时候,我们不会单独使用NumPy。作为科学Python生态标准底层工具,大量知名库都基于它构建:

Pandas:构建类似表格的DataFrame结构化数据;

Seaborn、Matplotlib:实现数据可视化绘图;

SciPy、statsmodels:统计检验、概率分布、偏度分析;

Scikit-learn:提供完整机器学习算法。

所有这些库的数据载体,底层基本都是NumPy数组,进一步拓展了它的能力边界。

对比Mathematica这类一体化商业软件,Python方案更加灵活;对比Excel,代码形式可以避免大量重复点击操作。 本身Python又是成熟脚本语言,很适合编写自动化处理脚本。广为人知的Jupyter Notebook也诞生于科研社区,能够产出可复现、可分享的完整分析流程,方便同行验证实验结果,这在科研工作中至关重要。

综上种种优势,让Python逐步成为统计学、数据分析领域的首选编程语言。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

 

  • 发表于 2026-09-04 09:35
  • 阅读 ( 51 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Pack
Pack

2484 篇文章

作家榜 »

  1. Pack 2484 文章
  2. 轩辕小不懂 2403 文章
  3. 小柒 2228 文章
  4. Nen 576 文章
  5. 王昭君 216 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章