如何用给定范围的值部分填充 numpy 数组?

问题描述 投票:0回答:2

给定一个 numpy 数组、一个范围和一个值,如何用范围内的值填充数组?

有没有比手动循环逐一填写更快的方法?

编辑:

myArray = np.zeros(10)

我想要什么: [0, 0, 0, 0, 1, 1, 1, 0, 0, 0]

python numpy
2个回答
3
投票
arr = np.zeros(10)
arr[4:7] = 1
print(arr)

输出:

array([0., 0., 0., 0., 1., 1., 1., 0., 0., 0.])

0
投票

对于计算范围

slice
非常有用:

ar = np.zeros(3*6).reshape((3,6))
for i in range(3):
    ar[i, slice(i+1,i+3)] = 1
print(ar)

输出:

[[0. 1. 1. 0. 0. 0.]
 [0. 0. 1. 1. 0. 0.]
 [0. 0. 0. 1. 1. 0.]]
© www.soinside.com 2019 - 2024. All rights reserved.