Python Numpy:在特定索引处复制Numpy数组

Python Numpy:在特定索引处复制Numpy数组,python,arrays,numpy,Python,Arrays,Numpy,我有这样的数组 arr1['a'] = np.array([1, 1, 1]) arr1['b'] = np.array([1, 1, 1]) arr1['c'] = np.array([1, 1, 1]) b_index = [0, 2, 5] arr2['a'] = np.array([2, 2, 2, 2, 2, 2]) arr2['b'] = np.array([2, 2, 2, 2, 2, 2]) arr2['c'] = np.array([2, 2, 2, 2, 2, 2]) a

我有这样的数组

arr1['a'] = np.array([1, 1, 1])
arr1['b'] = np.array([1, 1, 1])
arr1['c'] = np.array([1, 1, 1])

b_index = [0, 2, 5]

arr2['a'] = np.array([2, 2, 2, 2, 2, 2])
arr2['b'] = np.array([2, 2, 2, 2, 2, 2])
arr2['c'] = np.array([2, 2, 2, 2, 2, 2])
arr2['f'] = np.array([2, 2, 2, 2, 2, 2])
b_index是索引列表。 我想在b_索引中的索引处从arr1复制到arr2。 所以结果应该是这样的

arr2['a'] = np.array([1, 2, 1, 2, 2, 1])
arr2['b'] = np.array([1, 2, 1, 2, 2, 1])
arr2['c'] = np.array([1, 2, 1, 2, 2, 1])
arr2['f'] = np.array([2, 2, 2, 2, 2, 2])
我显然可以使用循环,但不确定这样做是否正确。
我们讨论的是100列('a'、'b'、'c')和大约100万行。

一种可能不是最佳的解决方案是使用:

[1]中的
:arr=np.one((5,3))
[2]中:arr2=np.full((5,5,2)
在[3]中:arr2[:,[1,2,4]=arr
在[4]中:arr2
出[4]:
数组([[2,1,1,2,1],
[2, 1, 1, 2, 1],
[2, 1, 1, 2, 1],
[2, 1, 1, 2, 1],
[2, 1, 1, 2, 1]])
有帮助吗