1
У меня есть ряд значений, и я ищу, чтобы вычислить корреляцию pearson с каждой строкой данной таблицы.Корреляция между рядами pandas и целым DataFrame
Как мне это сделать?
Пример:
import pandas as pd
v = [-1, 5, 0, 0, 10, 0, -7]
v1 = [1, 0, 0, 0, 0, 0, 0]
v2 = [0, 1, 0, 0, 1, 0, 0]
v3 = [1, 1, 0, 0, 0, 0, 1]
s = pd.Series(v)
df = pd.DataFrame([v1, v2, v3], columns=['a', 'b', 'c', 'd', 'e', 'f', 'g'])
# Here I expect ot do df.corrwith(s) - but won't work
Использование Series.corr()
для расчета, ожидаемый выход
-0.1666666666666666 # correlation with the first row
0.83914639167827343 # correlation with the second row
-0.35355339059327379 # correlation with the third row
Спасибо, то, что новобранец ошибка ... именно то, что я не нужен – bluesummers
Нет проблем, как вы бы об этом подумали, если бы в dataframe было больше столбцов, которые вы хотели бы игнорировать? что означает, что вы хотите вычислить корреляцию только с соответствующими столбцами для индексации, не обращая внимания на остальных. – bluesummers
. Проверьте, измените ли это то, что вы хотите. – jezrael