如何将标量添加到特定范围内的numpy数组?

Ébe*_*aac 12 python arrays numpy

是否有一种更简单,更有内存效率的方法来单独执行numpy.

import numpy as np
ar = np.array(a[l:r])
ar += c
a = a[0:l] + ar.tolist() + a[r:]
Run Code Online (Sandbox Code Playgroud)

它可能看起来很原始,但它涉及获取给定数组的子数组副本,然后准备两个相同的副本以除了标量添加之外还在左右方向上追加.我希望找到一些更优化的方法来做到这一点.我想要一个完全在Python列表或NumPy数组中的解决方案,但不能同时从一种形式转换到另一种形式,如上所示,当数据量很大时会导致严重的开销.

Ale*_*der 23

您可以按如下方式在内部进行分配:

import numpy as np

a = np.array([1, 1, 1, 1, 1])
a[2:4] += 5
>>> a
array([1, 1, 6, 6, 1])
Run Code Online (Sandbox Code Playgroud)