如何计算熊猫两个数据帧之间每个月的相关性?

时间:2020-04-19 17:19:49

标签: python pandas dataframe time-series correlation

我有以下结构的2年时间序列数据帧,两个函数的索引都是日期时间。我想计算preciprainfall_rate列之间的每月相关性,然后最终按月绘制相关性。

我已经尝试过pd.corrwith()。但是我不能每月进行一次。任何建议都可以(循环,预定义功能等)

# DATAFRAME #1

        latitude    longitude        precip
time            
2010-01-01  1.324997    103.674988  0.00000
2010-01-02  1.324997    103.674988  6.95574
2010-01-03  1.324997    103.674988  6.95574
2010-01-04  1.324997    103.674988  0.00000
2010-01-05  1.324997    103.674988  6.95574
.
.


# DATAFRAME #2
            rainfall_rate
timestamp   
2010-01-01  10.80
2010-01-02  0.12
2010-01-03  0.12
2010-01-04  7.92
2010-01-05  0.00
.
.

1 个答案:

答案 0 :(得分:1)

您可以使用resample

请注意,调用corr会产生一些多余的行,然后通过groupbyfirst行来消除这些行。

(
 df1.join(df2, how='left')
 .resample('1M')[['precip', 'rainfall_rate']]
 .corr()
 .groupby(level=0)
 .first()
 .rename(columns={'rainfall_rate': 'corr'})['corr']
)