Вы можете использовать pandas.DataFrame.corr
для корреляции Пирсона и numpy.diag
для извлечения интересующих вас значений. Позвольте мне показать вам игрушечный пример с 5 столбцами (для простоты):
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,10,(3,5)))
pcorr = df.corr()
np.diag(pcorr, 1)
и вы получите:
df:
0 1 2 3 4
0 7 9 0 0 9
1 9 2 9 9 0
2 2 8 5 9 2
pcorr:
0 1 2 3 4
0 1.000000 -0.622693 0.215274 -0.240192 0.029344
1 -0.622693 1.000000 -0.898170 -0.609994 0.763857
2 0.215274 -0.898170 1.000000 0.896258 -0.969816
3 -0.240192 -0.609994 0.896258 1.000000 -0.977356
4 0.029344 0.763857 -0.969816 -0.977356 1.000000
ваши ценности:
array([-0.62269252, -0.89817029, 0.89625816, -0.97735555])