用新维度扩展 numpy 数组

问题描述 投票:0回答:1
arr = np.array([[1,2],
                [2,3],
                [5,6]])

是否有任何 numpy 函数可以将上述 2d 数组克隆为 3d 数组,如下所示?如果没有,如何分多个步骤完成?

bb = np.?????(arr, 3)
>> print(bb)

[[[1,2],
   [2,3],
   [5,6]],
 [[1,2],
  [2,3],
  [5,6]],
 [[1,2],
  [2,3],
  [5,6]]]
numpy
1个回答
0
投票

这里有几种方法可以做到这一点,使用 numpy

broadcast_to
和列表重复:

out = np.broadcast_to(arr, (3,)+arr.shape)

out = np.array([arr]*3)

这两种情况的输出都是

array([[[1, 2],
        [2, 3],
        [5, 6]],

       [[1, 2],
        [2, 3],
        [5, 6]],

       [[1, 2],
        [2, 3],
        [5, 6]]])
© www.soinside.com 2019 - 2024. All rights reserved.