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

如何使用Python Numpy将(14106, 1, 32, 32, 3)数组转为(14106, 32, 32, 3)

Numpy数组维度调整方案

你需要移除数组中第二个位置长度为1的冗余维度,有3种常用实现方式:

  • 方法1:使用np.squeeze()(专门用于删除长度为1的维度,推荐)
    指定axis=1仅删除目标位置的冗余维度,避免误删其他位置可能存在的长度为1的维度,更稳妥:
import numpy as np
# 假设原数组为arr
new_arr = np.squeeze(arr, axis=1)
# 确认转换后的形状
print(new_arr.shape) # 输出 (14106, 32, 32, 3)

如果确认数组中仅存在axis=1这一个长度为1的维度,也可以直接调用不指定axis:
new_arr = np.squeeze(arr)

  • 方法2:使用reshape()直接指定目标形状
    用-1自动匹配第一个维度的大小,不需要手动写死样本数量,适配性更强:
new_arr = arr.reshape(-1, 32, 32, 3)
  • 方法3:使用索引直接截取
    直接取第二个维度的第一个元素,写法最简洁:
new_arr = arr[:, 0, ...]

这里的...为省略符,等价于写全后面所有的:, :, :。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 16:00:02