我計算這樣的相關系數(它只是一個例子):a = np.array([[1, 2, 3], [4, 7, 9], [8, 7, 5]])corr = np.corrcoef(a)結果是一個相關矩陣。問題是如何獲得第一個、第二個(或第 n 個)最大系數?以及它的索引?喜歡[0,1]和[2,1]
1 回答

www說
TA貢獻1775條經驗 獲得超8個贊
假設您有一個 NumPy 數組,并且您像這樣計算相關系數:
import numpy as np
a = np.array([[1, 2, 3],
[4, 7, 9],
[8, 7, 5]])
corr = np.corrcoef(a)
現在展平數組,獲取唯一系數并對展平的數組進行排序:
flat=corr.flatten()
flat = np.unique(flat)
平面數組如下所示:
>> array([-0.98198051, -0.95382097, 0.99339927, 1. ])
現在選擇nth largest元素,只需選擇正確的索引:
largest = flat[-1]
second_largest = flat[-2]
print(largest)
print(second_largest)
>> 1.0
>> 0.9933992677987828
要找到相應系數的索引:
result = np.where(corr == largest)
indices = np.array(result)
print(indices)
這將打印出以下數組。因此,出現最大系數的索引是 (0,0)、(1,1) 和 (2,2)。
>> array([[0, 1, 2],
[0, 1, 2]])
添加回答
舉報
0/150
提交
取消