Python NumPy 核心函数与数组操作完全指南

花开有时
花开有时
发布时间:2026-10-13| 5人浏览过
原创

本文系统梳理 Python NumPy 库的核心功能,涵盖数组创建、维度变换、组合分割、修剪压缩及统计计算等常用函数。详细解析 where、reshape、concatenate、clip 等关键方法的参数与用法,帮助开发者高效掌握 NumPy 在科学计算与数据处理中的实际应用。

NumPy 概述

在深入介绍 NumPy 之前,我们先回顾一下 Python 语言的基本特性。

Python 是一种高级、动态且支持多泛型的编程语言。其代码风格接近伪代码,使得开发者能够用极少的行数编写出高可读性且功能强大的程序。

NumPy 是一个专为科学计算设计的 Python 库,主要提供矩阵运算功能,通常与 SciPy 和 Matplotlib 配合使用。虽然 Python 原生的 list 类型也能表示类似矩阵的结构,但 NumPy 提供了更丰富且高效的数学函数支持。

数组基础

常用数组函数

1. where():根据条件返回数组中满足条件的元素索引值。 2. take(a, index):从数组 a 中按照指定的索引 index 提取元素。 3. linspace(a, b, N):返回在区间 (a, b) 内均匀分布的数组,元素总个数为 N 个。 4. a.fill():将数组 a 中的所有元素填充为指定的值。 5. diff(a):返回由数组 a 相邻元素差值构成的新数组。 6. sign(a):返回数组 a 中每个元素的正负符号(1, -1, 或 0)。 7. piecewise(a, [condlist], [funclist]):根据布尔型条件列表 condlist,对数组 a 应用对应的函数列表 funclist,返回处理后的元素结果。 8. a.argmax(), a.argmin():分别返回数组 a 中最大元素和最小元素的索引位置。

数组维度变换

1. a.ravel(), a.flatten():将多维数组 a 展平为一维数组。 2. a.shape=(m, n), a.reshape(m, n):将数组 a 转换为形状为 m 行 n 列的数组。 3. a.transpose, a.T:对数组 a 进行转置操作。

数组组合

1. hstack((a, b)), concatenate((a, b), axis=1):将数组 a 和 b 沿水平方向(列方向)进行组合。 2. vstack((a, b)), concatenate((a, b), axis=0):将数组 a 和 b 沿竖直方向(行方向)进行组合。 3. row_stack((a, b)):按行方向组合数组 a 和 b。 4. column_stack((a, b)):按列方向组合数组 a 和 b。

数组分割

1. split(a, n, axis=0), vsplit(a, n):将数组 a 沿垂直方向(行方向)分割成 n 个子数组。 2. split(a, n, axis=1), hsplit(a, n):将数组 a 沿水平方向(列方向)分割成 n 个子数组。

数组修剪与压缩

1. a.clip(m, n):将数组 a 的值限制在范围 (m, n) 内,即大于 n 的元素被设为 n,小于 m 的元素被设为 m。 2. a.compress():根据给定的条件筛选数组,返回满足条件的元素组成的新数组。

数组属性查询

1. a.dtype:获取数组 a 的数据类型。 2. a.shape:获取数组 a 的维度形状(如行数、列数)。 3. a.ndim:获取数组 a 的维数(轴的数量)。 4. a.size:获取数组 a 中包含的元素总数。 5. a.itemsize:获取数组 a 中单个元素在内存中占用的字节数。 6. a.nbytes:获取整个数组 a 在内存中占用的总字节数。 7. a.astype(int):将数组 a 的数据类型转换为整型(int)。

数组计算与统计

1. average(a, weights=v):对数组 a 进行加权平均计算,权重由 v 指定。 2. mean(a), max(a), min(a), median(a), var(a), std(a):分别计算数组 a 的均值、最大值、最小值、中位数、方差和标准差。(注:原文 middle 应为 median,此处按上下文修正为中位数计算函数名,但保留原意描述) 3. a.prod():计算数组 a 中所有元素的乘积。 4. a.cumprod():计算数组 a 元素的累积乘积。 5. cov(a, b), corrcoef(a, b):分别计算数组 a 和 b 之间的协方差和相关系数。 6. a.diagonal():提取矩阵 a 对角线上的元素。 7. a.trace():计算矩阵 a 的迹,即对角线元素之和。

总结

以上介绍了 Python NumPy 的常用函数与操作,希望能为您的开发工作提供帮助。如有任何疑问,欢迎留言交流,小编将及时回复。感谢大家对本站的支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。