You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否存在np.squeeze等效方法将数组维度从(1,3)提升至(1,1,3)?

给NumPy数组增加维度(np.squeeze反向操作)

当然存在这样的方法——np.squeeze的作用是压缩数组中维度为1的轴,你需要的是它的反向操作:手动插入一个维度为1的轴,把形状从(1,3)变成(1,1,3)。下面是几种常用的等效实现:

方法1:使用np.expand_dims()

这个函数可以精准指定要插入的轴的位置,适合需要明确控制维度插入位置的场景:

import numpy as np

A = np.array([[1,2,3]])
A_expanded = np.expand_dims(A, axis=1)  # 在索引为1的位置插入新轴
print(A_expanded.shape)  # 输出:(1, 1, 3)

方法2:使用np.newaxis(简洁写法)

通过索引语法直接插入新轴,是日常写代码时最常用的方式:

A_expanded = A[:, np.newaxis]  # 等价于在第二个维度插入轴
print(A_expanded.shape)  # 输出:(1, 1, 3)

方法3:使用np.reshape()

如果已经明确知道目标形状,直接用reshape指定即可(注意元素总数必须和原数组一致):

A_expanded = A.reshape(1, 1, 3)
print(A_expanded.shape)  # 输出:(1, 1, 3)

以上方法都不会修改原数组的数据,只是返回一个调整了维度的新数组,和np.squeeze的“仅调整维度、不改变数据”特性完全匹配。

内容的提问来源于stack exchange,提问作者user19862793

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 01:45:38