我正在尝试将一个大小为[2, 2]
的二维数组插入到一个大小为[2, 3, 2]
的三维数组中。对于 3D 数组的每个页面(axis=0),插入 2D 数组的位置(即行号)可能不同。我尝试使用np.insert
函数,但是遇到了困难...
import numpy as np
arr = np.arange(12).reshape(2, 3, 2)
arr
array([[[ 0, 1],
[ 2, 3],
[ 4, 5]],
[[ 6, 7],
[ 8, 9],
[10, 11]]])
row_number_before_insertion = [1, 2]
val_to_insert = (np.ones(4) * 100).reshape(2,2)
arr_expanded = np.insert(arr, row_number_before_insertion , val_to_insert, axis=1)
arr_expanded
array([[[ 0, 1],
[100, 100],
[ 2, 3],
[100, 100],
[ 4, 5]],
[[ 6, 7],
[100, 100],
[ 8, 9],
[100, 100],
[ 10, 11]]])
我实际上正在寻求以下结果:
arr_expanded
array([[[ 0, 1],
[100, 100],
[100, 100],
[ 2, 3],
[ 4, 5]],
[[ 6, 7],
[ 8, 9],
[100, 100],
[100, 100],
[ 10, 11]]])