numpy:如何使用矩阵元素作为索引?

时间:2020-10-22 08:31:13

标签: python numpy indexing

我有一个整数的numpy矩阵,其元素表示索引。我想创建一个大小相同的矩阵,其元素取自相应索引的列表。

SQLEXPRESS

预期输出:

import numpy as np

matrix = np.array([[0, 1, 1], [2, 0, 1]], dtype=int)
matrix

# array([[0, 1, 1],
#        [2, 0, 1]])

values = [7, 8, 9]

values[matrix]  # gives 'ValueError: can only convert an array of size 1 to a Python scalar'

如何在numpy中执行此操作?

1 个答案:

答案 0 :(得分:2)

好吧,当values也是np.ndarray而不是列表时,我刚刚发现我按预期工作。 如此有效:

import numpy as np

matrix = np.array([[0, 1, 1], [2, 0, 1]], dtype=int)
matrix

# array([[0, 1, 1],
#        [2, 0, 1]])

values = np.array([7, 8, 9])

values[matrix]