У меня есть матрица, которая довольно большая (около 50 тыс. строк), и я хочу напечатать коэффициент корреляции между каждой строкой в матрице. Я написал код Python следующим образом:
for i in xrange(rows): # rows are the number of rows in the matrix.
for j in xrange(i, rows):
r = scipy.stats.pearsonr(data[i,:], data[j,:])
print r
Обратите внимание, что я использую функцию pearsonr
, доступную из модуля scipy (http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html).
Мой вопрос: есть ли более быстрый способ сделать это? Есть ли какая-нибудь техника разбиения на матрицу, которую я могу использовать?
Спасибо!