如何修改numpy数组中的数据块
我在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.]