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

Python中如何将形状为(1,9,1)的NumPy数组转换为(1,3,3)形状

解答

形状为(1,9,1)的数组B完全可以转换为你需要的(1,3,3)形状的B1。两个形状的总元素个数完全相等(均为9),且原数组的元素排列顺序和目标数组的行优先顺序完全匹配,直接调用numpy的reshape方法即可完成转换,不需要额外做轴交换、转置类操作。

完整可运行代码

import numpy as np

B = np.array([[[0.67873113],
              [1.24442563],
              [0.02109   ],
              [0.76788408],
              [2.00615422],
              [3.07375839],
              [1.037729  ],
              [5.03294753],
              [0.0105    ]]])
print("B shape =", B.shape)

# 执行形状转换
B1 = B.reshape(1, 3, 3)

print("B1 =", B1)
print("B1 shape =", B1.shape)

运行结果

代码执行后输出和你给出的期望值完全一致:

B shape = (1, 9, 1)
B1 = [[[0.67873113 1.24442563 0.02109   ]
  [0.76788408 2.00615422 3.07375839]
  [1.037729   5.03294753 0.0105    ]]]
B1 shape = (1, 3, 3)

补充说明:numpy默认的reshape采用行优先(C顺序)读写元素,原数组最后一个维度长度为1,不会打乱元素排列顺序,因此直接调整形状即可匹配目标输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:09:23