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

如何正确使用np.reshape()将特定1D数组转换为3D数组

解决方法

先拆解原数组的规律:每4个元素为一组,每组第一个是核心值(比如x、y),后面跟着3个需要配对的元素(a、b、c)。按以下两步处理即可得到目标结构:

  1. 拆分原数组为分组:把一维数组按每4个元素切分,得到包含两个子数组的列表。
  2. 生成配对结构:对每个分组,用核心值分别和后面的3个元素配对,组成子数组,再把这些子数组汇总成最终的3D结构。

用Python实现的代码如下:

arr = ['x','a','b','c','y','a','b','c']
# 第一步:按每4个元素拆分分组
groups = [arr[i:i+4] for i in range(0, len(arr), 4)]
# 第二步:生成目标3D数组
arr2 = []
for group in groups:
    key = group[0]
    # 用key和后面每个元素配对
    pairs = [[key, val] for val in group[1:]]
    arr2.append(pairs)

print(arr2)
# 输出:[[['x', 'a'], ['x', 'b'], ['x', 'c']], [['y', 'a'], ['y', 'b'], ['y', 'c']]]

也可以用一行列表推导式简化写法:

arr = ['x','a','b','c','y','a','b','c']
arr2 = [[[g[0], val] for val in g[1:]] for g in [arr[i:i+4] for i in range(0, len(arr), 4)]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:20:48