我有这样一个数组:
x = numpy.array([[[1, 2, 3]],
[[4, 5, 6]],
[[7,8,9]]])
我想用其他数字替换元素3,6和9。我试图将数组分割为
y=x[:,:,:2]
,然后在数组y的末尾添加数组new和
new = numpy.array([[[10]],
[[11]],
[[12]]])
final_arr= numpy.insert(y,2,new, axis=2)
但是它在每行中添加new-array。
您需要将其添加到第三维度,因此只需创建具有相应形状的数组。您可以轻松地使用numpy.newaxis
,如下所示:
import numpy as np
x = np.array(
[
[[1, 2, 3]],
[[4, 5, 6]],
[[7,8,9]]
])
x[:, :, -1] = np.array([10, 11, 12])[:, np.newaxis]
x
array([[[ 1, 2, 10]],
[[ 4, 5, 11]],
[[ 7, 8, 12]]])
干杯!