Skip to main content
 首页 » 编程设计

python之Numpy 将相同形状的向量附加到不同的轴

2025年05月04日20yjmyzz

我有一个 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])