跟踪索引到 Python 中的原始矩阵
Tracing indices to original matrix in Python
我正在尝试追踪 A2
相对于 A1
的索引。但是我得到一个错误。附上所需的输出。
import numpy as np
A1 = np.array([[0.3, 1.2, 2],
[3, 4, 5]]) # Shape 2 rows & 3 columns
A2 = np.array([0.3,1.2])
A=list(zip(*np.unravel_index(A2, np.array(A1).shape)))
print([A])
错误:
File "<__array_function__ internals>", line 5, in unravel_index
TypeError: only int indices permitted
期望的输出:
[(0,0),(0,1)]
此 returns 所需的元组列表:
A = [tuple(np.array(np.where(A1 == a)).ravel().tolist()) for a in A2]
对于 A2
中的每个元素 a
,它使用 np.where
查找 A1
中的索引。然后它使用 ravel
、tolist
和 tuple
将索引转换为元组。每个索引自动在同一个列表中。
我正在尝试追踪 A2
相对于 A1
的索引。但是我得到一个错误。附上所需的输出。
import numpy as np
A1 = np.array([[0.3, 1.2, 2],
[3, 4, 5]]) # Shape 2 rows & 3 columns
A2 = np.array([0.3,1.2])
A=list(zip(*np.unravel_index(A2, np.array(A1).shape)))
print([A])
错误:
File "<__array_function__ internals>", line 5, in unravel_index
TypeError: only int indices permitted
期望的输出:
[(0,0),(0,1)]
此 returns 所需的元组列表:
A = [tuple(np.array(np.where(A1 == a)).ravel().tolist()) for a in A2]
对于 A2
中的每个元素 a
,它使用 np.where
查找 A1
中的索引。然后它使用 ravel
、tolist
和 tuple
将索引转换为元组。每个索引自动在同一个列表中。