如何获得scipy.stats.spearmanr(A,B)仅计算A和B中变量之间的相关性,而不是整个方阵?

时间:2017-07-06 10:58:17

标签: python performance matrix scipy correlation

我有一个大小为10,000 x 50,000的矩阵A和一个大小为8 x 50,000的矩阵B. 我想计算矩阵A的每一行与矩阵B的每一行之间的Spearman相关性(总共80,000个相关)。如果我循环调用spearmanr 80,000次,则需要2,584秒。

如果我运行spearmanr(A, B, axis=1),那么结果的大小为10,008 x 10,008,这意味着此方法计算了100,160,064个相关性,而我只需要80,000个相关性。然而,即使这样,它也需要更少的时间 - 576秒。显然这种方法效率更高。

问题是如何使用这种有效的实现,并且只需要80,000次计算?

0 个答案:

没有答案