numpy添加新的维度:newaxis的方法

星野
星野
发布时间:2026-10-13| 3人浏览过
原创

本文介绍如何使用numpy中的newaxis为原数组增加新维度。通过调整newaxis的位置,可以灵活改变数组的shape,例如将一维数组转换为行向量或列向量。该方法常用于解决从二维数组抽取数据后维度丢失的问题,帮助还原数据形状。

在numpy库中,newaxis是一个非常有用的工具,它允许用户为现有的数组增加一个新的维度。

需要注意的是,newaxis在数组索引中的放置位置不同,会生成形状各异的新数组。

以下以一维数组为例进行说明。

x = np.random.randint(1, 8, size=5)

x
Out[48]: array([4, 6, 6, 6, 5])

x1 = x[np.newaxis, :]

x1
Out[50]: array([[4, 6, 6, 6, 5]])

x2 = x[:, np.newaxis]

x2
Out[52]: 
array([[4],
  [6],
  [6],
  [6],
  [5]])

从上述代码示例可以看出,当把newaxis放在切片操作的前面时,

原数组的shape原本是5,变换后变成了1×5,这意味着在原有维度的前方增加了一个维度,而原有的维度结构保持不变。

相反,如果将newaxis放在后面,生成的新数组shape变为5×1,这表示在原有维度的后方增加了一个新维度。

由此可见,newaxis放置在索引的哪个位置,新增加的维度就会出现在shape对应的那个位置上。

具体效果如下所示。

常见应用场景。

在数据处理中,经常需要从数组中提取部分数据,即获取“一片”或“一条”子集。

例如,尝试从二维数组中提取某一列的数据。

直接提取后,返回结果的维度通常会降为一维。

如果业务逻辑要求保持二维结构,就可以利用上述newaxis方法将一维结果还原为二维数组。

以上关于numpy使用newaxis添加新维度的方法分享完毕,希望能为读者提供参考与帮助。

相关标签:

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

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