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

如何用np.repeat将3D矩阵(NxMxV)的内层行重复为Nx2MxV新矩阵?

解决NumPy中3D矩阵内层行重复的问题

你需要将维度为N×M×V的3D矩阵的内层行重复,得到N×2M×V的新矩阵,示例如下:

原始矩阵:

[[[5 1 4]]

 [[0 9 5]]

 [[8 0 9]]]

目标矩阵:

[[[5 1 4]
  [5 1 4]]

 [[0 9 5]
 [0 9 5]]

 [[8 0 9]
 [8 0 9]]]

你之前尝试的np.repeat(A, 2, axis=0)无法得到预期结果,因为axis=0是在**最外层维度(N维度)**重复元素,输出变成了:

[[[5 1 4]]

 [[5 1 4]]

 [[0 9 5]]

 [[0 9 5]]

 [[8 0 9]]]

正确解决方案

要实现内层行(对应M维度,也就是第二个维度)的重复,只需将axis参数指定为1即可:

import numpy as np

A = np.array([[[5, 1, 4]], [[0, 9, 5]], [[8, 0, 9]]])
result = np.repeat(A, 2, axis=1)
print(result)

运行后输出将完全符合你的目标矩阵:

[[[5 1 4]
  [5 1 4]]

 [[0 9 5]
  [0 9 5]]

 [[8 0 9]
  [8 0 9]]]

参数说明

  • axis=0:在最外层维度(N)重复,会增加矩阵的行数
  • axis=1:在中间维度(M)重复,对应你需要的内层行重复
  • axis=2:在最内层维度(V)重复,会将每个元素的内部值重复

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 23:18:30