如何在NumPy中覆盖两个1d数组



我有一个类似这样的numpy数组:

arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

和第二个较短的

arr2 = [-1, -2, -3]

我想把这个较短的阵列覆盖在较大的阵列上,这样我就可以得到这样的结果:

result = [-1, -2, -3, 4, 5, 6, 7, 8, 9, 10]

我曾想过将原始数组切片并与第二个数组连接,但这似乎效率很低。

有没有一种NumPy方法可以将较短数组的所有位置分配到第二个数组中?

您可以使用切片将larger_array中的第一个len(smaller_array)元素替换为smaller_array,如下所示:

arr[:len(arr2)] = arr2

最新更新