如何获得每个月具有皮尔逊相关系数的DataFrame?

时间:2018-06-29 15:31:19

标签: python-2.7 pandas numpy scipy statistics

好,所以我有两个看起来像下面的DataFrame。第一个称为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中的第一个值将两个DataFrames中的pearsonr列中的每个值与我认为应类似于以下{{1} }。

1 个答案:

答案 0 :(得分:0)

合并或合并您的数据框。或只是简单地用两列要计算相关性的对应值。

样本:

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函数