首页 > 解决方案 > 如何通过索引更改 np.array 中的元素

问题描述

如何在没有任何循环和 if 语句的情况下通过索引更改 np 数组中的元素。例如我们有数组[1,2,3,4],每隔一个元素,从0开始,我想更改为10。这样得到[10,2,10,4]。

标签: pythonnumpy

解决方案


您可以利用 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]你可以在这里阅读更多。


推荐阅读