You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将numpy.ndarray中指定索引的元素替换为自定义值

在NumPy中替换二维数组指定索引位置的元素

你可以通过拆分索引数组的行和列维度,直接对目标数组的指定位置进行批量赋值,代码实现如下:

import numpy as np

# 定义索引和初始数组
idx = np.array([[1, 0],
                [2, 1],
                [2, 3],])
array = np.array([[0, 0, 0, 0],
                  [0, 0, 0, 0],
                  [0, 0, 0, 0]])

# 拆分行索引和列索引,批量赋值
array[idx[:, 0], idx[:, 1]] = 1

print(array)

执行后输出结果就是你需要的:

[[0 0 0 0]
 [1 0 0 0]
 [0 1 0 1]]

原理说明

idx[:, 0]提取了所有索引的行号([1,2,2]),idx[:, 1]提取了对应的列号([0,1,3])。NumPy允许将行、列索引数组配对传入,直接定位到二维数组中的多个元素位置,然后一次性完成赋值操作。如果需要替换成其他值,只需要把代码中的1换成你想要的数值即可。

内容的提问来源于stack exchange,提问作者AMA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 12:47:03