gpt4 book ai didi

python - Numpy/PyTorch - 如何用不同维度的索引分配值?

转载 作者:行者123 更新时间:2023-12-01 09:41:41 25 4
gpt4 key购买 nike

假设我有一个矩阵和一些索引

a = np.array([[1, 2, 3], [4, 5, 6]])
a_indices = np.array([[0,2], [1,2]])

有没有什么有效的方法来实现以下操作?
for i in range(2):
a[i, a_indices[i]] = 100

# a: np.array([[100, 2, 100], [4, 100, 100]])

最佳答案

使用 np.put_along_axis ——

In [111]: np.put_along_axis(a,a_indices,100,axis=1)

In [112]: a
Out[112]:
array([[100, 2, 100],
[ 4, 100, 100]])

或者,如果您想使用显式方式,即基于整数的索引 -
In [115]: a[np.arange(len(a_indices))[:,None], a_indices] = 100

关于python - Numpy/PyTorch - 如何用不同维度的索引分配值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59551458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com