Как получить DataFrame с коэффициентом корреляции Pearsonr для каждого месяца? - PullRequest
0 голосов
/ 29 июня 2018

Хорошо, у меня есть два кадра данных, которые выглядят следующим образом. Первый называется load, а второй называется lmp.

   read_date  hour_ending  reading
0 2016-02-12            1   6.3634
1 2016-02-12            2   6.3418
2 2016-02-12            3   6.3893
3 2016-02-12            4   6.3115
4 2016-02-12            5   6.6118

и

   read_date  hour_ending    reading
0 2016-02-12            1  30.428136
1 2016-02-12            2  29.709692
2 2016-02-12            3  29.474148
3 2016-02-12            4  29.456977
4 2016-02-12            5  29.574211

Я хочу, чтобы каждое значение в столбце reading в обоих фреймах данных коррелировалось с использованием первого значения в pearsonr с кодом, который, я думаю, должен выглядеть следующим образом pearsonr(lmp['reading'], load['reading'])[0].

1 Ответ

0 голосов
/ 29 июня 2018

объединить или объединить ваш фрейм данных. или просто создайте новый с обоими столбцами соответствующих значений, которые вы хотите рассчитать для своей корреляции.

образец:

df = pd.merge(load, lmp, on=['read_date','hour_ending'])

используйте корреляционную функцию inate pandas.dataframe для вычисления корреляции желаемых столбцов:

df[['reading_x','reading_y']].corr() ## notice that the columns get automatically renamed on pd.merge() since they had the same name

обратите внимание, что обе серии должны иметь одинаковую длину

и при использовании слияния вы можете столкнуться с проблемами, если у вас нет уникального ключа для слияния на

альтернативно вы можете просто передать обе серии в numpy.corrcoef функцию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...