如何修改numpy数组中的数据块

1 投票
1 回答
583 浏览
提问于 2025-04-18 10:09

我在Python中有一个很大的 numpy 一维数组,里面有很多数据。我想把从位置500到520的这些数据改成1。我可以用一个循环来实现,但我想知道有没有更简单、更快的 numpy 方法。

这就是可以用的循环代码:

for x in range(500,520) numpyArray[x] = 1.

这是可以使用的循环,但我觉得 numpy 里可能有我不知道的函数可以做到这一点——我不想用 numpy 提供的掩码数组。

1 个回答

5

你可以使用 [] 来访问一系列的元素:

import numpy as np

a = np.ones((10))
print(a) # Original array
# [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]
startindex = 2
endindex = 4
a[startindex:endindex] = 0

print(a) # modified array
# [ 1.  1.  0.  0.  1.  1.  1.  1.  1.  1.]

撰写回答