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

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

本文介绍如何使用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 相关产品和应用

全部下载

专题列表