我有一个整数的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中执行此操作?
答案 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]