У меня есть матрица m с 8300 столбцами и 18 строками. Каждый столбец представляет ген; и в каждой строке образец. Я хочу вычислить матрицу смежности (используя корреляцию Спирмена) и соответствующую матрицу р-значения.
Код, который я получил до сих пор:
W = np.zeros((n_genes, n_genes))
P = np.zeros((n_genes, n_genes))
for i in range(0, n_genes):
for j in range(0, n_genes):
W[i,j], P[i,j] = st.spearmanr(m[:,i], m[:,j])
Что удивительно неэффективно (для запуска в colab-google с использованием графического процессора требуется около 11 часов). Есть ли способ векторизовать это?
Большое спасибо!