NumPy expand_dims函数详解:维度扩展与广播机制实战

Alice
Alice
发布时间:2026-10-13| 2人浏览过
原创

本文详细介绍NumPy中expand_dims函数的用法,通过具体示例演示如何向数组指定位置插入新轴,从而改变数组形状以支持广播操作。文章涵盖基础语法、多维数组扩展技巧及实际应用场景,帮助开发者高效处理矩阵运算中的维度对齐问题。

expand_dims函数应用场景与维度扩展原理

在数据处理和机器学习任务中,经常需要调整数组的维度以适配特定的计算需求。

设定前提条件:假设数组A的形状为[4, 2],数组B的形状为[5, 2]。

我们的目标是执行逐行减法操作,即让A中的每一行分别减去B中的所有行,这通常依赖于NumPy的广播(broadcast)机制来实现。

具体的实现方案如下所示。


A1 = np.expand_dims(A, -2) => A1的shape变为[4, 1, 2]

B1 = np.expand_dims(B, 0) => B1的shape变为[1, 5, 2]

A1 - B1

代码示例与轴插入操作解析

此外,还可以参考其他典型示例来加深理解。


wh = np.random.randint(1,3, size=(4,2))

np.expand_dims(wh, -2).shape

np.expand_dims(wh, 1).shape

该函数的核心功能之一是在倒数第二个轴之后(或者等价地说,在正数第一个轴之后)插入一个新的轴。

以上内容涵盖了基于NumPy中expand_dims函数的主要用法,希望能为读者提供有价值的参考,并欢迎大家继续支持相关技术分享。

相关标签:

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

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 算法库。