【发布时间】:2021-03-05 17:14:28
【问题描述】:
我有一个 numpy 二维数组(矩阵):
[[1,2,3],
[4,5,6],
[7,8,9]]
我想根据这个向量掩码更改值
[0,2,1]
因此我想更改的值
1, 6 and 8
例如
2, 9 and 24
向量和矩阵一样长
【问题讨论】:
标签: python arrays numpy numpy-ndarray numpy-slicing
我有一个 numpy 二维数组(矩阵):
[[1,2,3],
[4,5,6],
[7,8,9]]
我想根据这个向量掩码更改值
[0,2,1]
因此我想更改的值
1, 6 and 8
例如
2, 9 and 24
向量和矩阵一样长
【问题讨论】:
标签: python arrays numpy numpy-ndarray numpy-slicing
您可以使用 arange 对行进行索引,以与您的列掩码索引一起使用:
import numpy as np
a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
])
rows = np.arange(len(a))
columns = [0, 2, 1]
values = [2, 9, 24]
a[rows, columns] = values
输出:
array([[ 2, 2, 3],
[ 4, 5, 9],
[ 7, 24, 9]])
【讨论】: