我有以下结构的2年时间序列数据帧,两个函数的索引都是日期时间。我想计算precip
和rainfall_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
.
.
答案 0 :(得分:1)
您可以使用resample
。
请注意,调用corr
会产生一些多余的行,然后通过groupby
和first
行来消除这些行。
(
df1.join(df2, how='left')
.resample('1M')[['precip', 'rainfall_rate']]
.corr()
.groupby(level=0)
.first()
.rename(columns={'rainfall_rate': 'corr'})['corr']
)