我有以下 2D numpy 陣列:
>>> A = ([[ 100, -5, 3, 200],
[ 20, -100, 4, 8],
[ 12, -10, 10, 4],
[-100, 80, 4, 14]])
>>> A = np.array(A)
我想找到每列的絕對最大值及其索引。
對于我使用的絕對最大值:
>>> max_col = abs(A).max(axis=0)
>>> print(max_col)
[100 100 10 200]
但是在查找所有索引時,我無法在串列中獲得[3][0] -> -100索引。
我用了:
>>> maxValueIndex = abs(A).argmax(axis=0)
[0 1 2 0]
我希望我的 maxValueIndex 是:
[0 3 1 2 0]
也許我應該使用np.where()函式,但我不知道如何。
任何幫助表示贊賞。
uj5u.com熱心網友回復:
是的,使用numpy.where:
# max_col = abs(A).max(axis=0)
np.where(abs(A) == max_col)
輸出:(array([0, 0, 1, 2, 3]), array([0, 3, 1, 2, 0]))
如果您只想要列索引:
np.where(abs(A) == max_col)[1]
輸出:array([0, 3, 1, 2, 0])
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/519631.html
上一篇:卷積中的每N個元素
