如何更改np中的元素.按索引数组



如何通过索引改变np数组中的元素,而不使用循环和if语句。例如,我们有一个数组[1,2,3,4],每隔一个元素,从0开始,我想把它变成10。得到[10,2,10,4]。

好了:

import numpy as np
arr = np.array([1,2,3,4])
for i in range(len(arr)):
if i%2==0:
arr[i]=10
print(arr)

输出:

[10  2 10  4]

Without Loop and if语句:

import numpy as np
arr = np.array([1,2,3,4])
arr[0::2] = 10

输出:

array([10,  2, 10,  4])

我已经使用Numpy的切片工作为[start:stop:step]

简单地说,您可以使用:a[::2]=10

您可以利用NumPy切片:

a = np.arange(10)
#array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
a[::2] = 10
#array([10,  1, 10,  3, 10,  5, 10,  7, 10,  9])

可以使用[start:stop:step]格式对数组进行切片。你可以在这里阅读更多。

最新更新