gpt4 book ai didi

python - 如何使用numpy获得第n个最大相关系数及其索引?

转载 作者:行者123 更新时间:2023-12-01 06:25:35 26 4
gpt4 key购买 nike

我像这样计算相关系数(这只是一个例子):

a = np.array([[1, 2, 3],
[4, 7, 9],
[8, 7, 5]])

corr = np.corrcoef(a)

结果是相关矩阵。

问题是如何得到第1、第2(或第n)大系数?

它的索引是什么?例如 [0,1][2,1]

最佳答案

假设您有一个 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. ])

现在要选择第n大元素,只需选择正确的索引:

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]])

关于python - 如何使用numpy获得第n个最大相关系数及其索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60162118/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com