我有一个numpy数组

import numpy as np

initial_array = np.array([[
        [0, 1],
        [1, 2],
        [2, 3],
        [3, 4]],

       [[4, 5],
        [5, 6],
        [6, 7],
        [7, 8]]])


我有一个要添加的数组:

to_add = np.array([
       [ 8,  9],
       [ 9, 10],
       [10, 11],
       [11, 12]])


在此,initial_array的形状为(2, 4, 2)to_add的形状为(4, 2)。我正在寻找形状为(3, 4, 2)的最终结果:

result = np.array([[
        [ 0,  1],
        [ 1,  2],
        [ 2,  3],
        [ 3,  4]],

       [[ 4,  5],
        [ 5,  6],
        [ 6,  7],
        [ 7,  8]],

       [[ 8,  9],
        [ 9, 10],
        [10, 11],
        [11, 12]]])


如何在不将numpy数组转换回python列表的情况下完成此操作,是否有可能单独使用numpy进行此操作?

最佳答案

实际上,我展示了几种方法:

>>> result = np.insert(initial_array, initial_array.shape[0], to_add, axis=0)
# or
>>> result = np.vstack((initial_array,to_add[None,...]))
# or
>>> result = np.array([*initial_array, to_add])

关于python - 将相同形状的块状矢量附加到不同的轴,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59052031/

10-12 12:57
查看更多