我有兩個 3d 陣列,
array_1=array([[[4, 6, 6, 8],[4, 5, 8, 5]],
[[6, 0, 8, 7],[9, 9, 2, 1]],
[[5, 2, 0, 9],[4, 3, 9, 7]]])
array_2=array([[['d1', 'd8', 'd7', 'd6'],['d1', 'd9', 'd7', 'd3']],
[['d3', 'd5', 'd5', 'd2'],['d3', 'd4', 'd6', 'd4']],
[['d4', 'd3', 'd9', 'd6'],['d5', 'd8', 'd1', 'd6']]])
我想獲得array_1的最大值和array_2的相應元素,這將是;
max_values = array([[6, 6, 6, 9, 5],[9, 9, 9, 7, 9]])
cor_elements = array([['d3', 'd8', 'd5', 'd6'],['d3','d4', 'd1', 'd6']])
我可以通過以下代碼獲得最大 vlaues 和 array_1 的 max_values 的索引,
import numpy as np
max_values=array_1.max(axis=0)
max_ind=array_1.argmax(axis=0)
你能幫我如何從array_2獲取cor_elements嗎?
uj5u.com熱心網友回復:
一種使用方式numpy.indices:
argmax = array_1.argmax(axis=0)
j, k = np.indices(argmax.shape)
array_2[argmax, j, k]
輸出:
array([['d3', 'd8', 'd5', 'd6'],
['d3', 'd4', 'd1', 'd6']], dtype='<U2')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/335745.html
上一篇:找到有條件的物件陣列的最小值
下一篇:具有多個條件的物件中的過濾器陣列
