Я ищу способ вычисления корреляции Spearman между каждым образцом M и моей ссылкой, чтобы получить матрицу (N, 1) в результате. Использование для цикла я могу сделать: < /p>
Код: Выделить всё
from scipy.stats import spearmanr
import numpy as np
M = np.random
rng = np.random.default_rng()
M = rng.standard_normal((37, 100))
reference = rng.standard_normal((37, 1))
expected_result = []
for element in M.T:
expected_result.append( spearmanr(element, reference).statistic)
print(np.array(expected_result).shape)
< /code>
Это дает то, что я хочу (Shape (100,1)), но я бы хотел, чтобы он был вектором, чтобы ускорить вычисления. Я попытался использовать следующий код: < /p>
from scipy.stats import spearmanr
import numpy as np
M = np.random
rng = np.random.default_rng()
M = rng.standard_normal((37, 100))
reference = rng.standard_normal((37, 1))
res = spearmanr(M, reference)
Есть ли способ векторизировать это?>
Подробнее здесь: https://stackoverflow.com/questions/796 ... y-and-a-re