跳到主要内容
项目详情

NumPy 是面向 Python 的科学计算基础包,核心围绕多维数组与数组计算展开。它把 C 和 Fortran 的计算能力带入更易学习和使用的 Python,并通过向量化、索引和广播提供数组编程方式。NumPy 不仅提供数学计算本身,还位于 Python 数据科学、机器学习和可视化生态的核心位置,可与分布式、GPU 及稀疏数组库协同使用。其核心采用经过优化的 C 代码,在保留 Python 灵活性的同时使用编译代码的速度;项目以 BSD 许可证发布,并在 GitHub 上由社区公开开发和维护。

核心功能

多维数组与数组操作

NumPy 提供 N 维数组,并将向量化、索引和广播作为数组计算的重要概念。示例中使用 np.arange 创建数值序列,再通过 reshape 将其调整为二维数组;随后使用切片索引选中部分元素并赋值。数组可以调用 max(axis=1),按指定轴计算每一行的最大值,输出对应的数组结果。

数学与数值计算工具

NumPy 提供全面的数学函数,用于支持科学计算中的数值处理。官网明确列出随机数生成器、线性代数例程和傅里叶变换等能力,此外还提供更多数学计算工具。随机数示例使用 np.random.default_rng() 创建随机数生成器,并通过 normal(size=2500) 生成包含 2500 个样本的正态分布随机数。

Python、C 与 Fortran 的计算衔接

NumPy 将 C 和 Fortran 的计算能力带入 Python,使 Python 程序能够使用面向数组的数值计算方式。项目说明指出,NumPy 的解决方案通常清晰而简洁,同时核心采用优化的 C 代码。因此,使用者可以通过 Python 的高层语法组织计算,并利用编译代码完成核心处理。

多平台与专用数组库互操作

NumPy 支持广泛的硬件和计算平台,并可与分布式数组、GPU 数组及稀疏数组库协作。官网列举了 Dask 的分布式数组与并行分析、CuPy 的 GPU 加速数组、JAX 的自动微分与即时编译、Xarray 的带标签多维数组,以及 Sparse 的稀疏数组能力。NumPy 的 API 也被描述为其他库利用创新硬件、创建专用数组类型或扩展功能时的起点。

数据科学、机器学习与可视化生态基础

NumPy 位于丰富的数据科学库生态的核心。典型工作流可以使用 Pandas、Intake 或 PyJanitor 完成数据提取与转换,使用 Jupyter、Seaborn、Matplotlib 或 Altair 做探索性分析,再使用 scikit-learn、statsmodels、PyMC 或 spaCy 进行建模和评估,并通过 Dash、Panel 或 Voila 输出仪表盘。官网还指出,NumPy 是 scikit-learn、SciPy 等机器学习库的基础,并支持 Python 可视化生态处理规模大于原生 Python 能够处理的数据集。

使用方式

NumPy 的官网提供浏览器中的交互式 Shell,可直接尝试示例代码。使用者可以在输入单元格中输入代码并按 Shift + Enter 执行,也可以粘贴代码后点击 Run;示例采用 import numpy as np 导入 NumPy。正文没有说明是否需要注册、是否需要自备模型 Key、是否提供命令行或独立客户端,也没有给出专门的导入导出流程。

适用人群与场景

对使用 Python 进行科学计算的程序员,NumPy 可用于多维数组处理、数学函数调用、随机数生成、线性代数和傅里叶变换。数据科学工作者可以把它用于探索性分析、建模评估和大数据集可视化流程,并与 Pandas、Jupyter、Matplotlib 等库配合。机器学习研究者可以在 scikit-learn、SciPy、PyTorch 或 TensorFlow 等生态中使用 NumPy 作为数组计算基础。量子计算、统计计算、信号处理、图像处理、天文学、生物信息学、化学和地理科学等领域也都出现在 NumPy 官网展示的生态范围内。

注意事项

NumPy 是一个需要在 Python 环境中使用的计算包,官网正文没有说明其是否提供独立的非 Python 使用方式。它支持多种硬件与平台,但不同扩展库的能力各不相同:例如 Dask 面向分布式数组,CuPy 面向 GPU 加速,Sparse 面向稀疏数组。官网仅明确说明项目以 BSD 许可证发布,没有提供价格、免费额度或付费档位信息。

N 维数组提供多维数组,并支持向量化、索引和广播等数组计算概念。
数学计算工具包含数学函数、随机数生成器、线性代数例程和傅里叶变换。
高性能核心核心采用优化的 C 代码,在 Python 灵活性与编译代码速度之间衔接。
生态互操作支持分布式、GPU 和稀疏数组库,并作为其他数组库扩展能力的 API 起点。
浏览器交互式试用可在浏览器交互式 Shell 中输入并运行 NumPy 示例代码。

用户评论 (0)

还没有用户评论

成为第一个分享使用体验的人

查看更多

NumPy 截图

官网首页截图

写评论

分享你的使用体验,至少 10 个字。评论可以发多条,打分在右侧卡片单独进行。

还需 10 个字 · 0 / 500