我正在使用具有时间索引的pandas数据帧。我有几年的日常数据,我需要进行一些季节性的比较。
我知道我可以使用truncate
方法提取句点并创建新的时间序列,但我想知道我是否可以定义一个自定义的“句号”(例如5月1日到9月1日) )。然后我想计算两个不同时间序列之间的相关系数。有没有办法做到这一点?
import pandas as pd
import numpy as np
rng = pd.date_range('1/1/2000', periods=4380, freq='D')
df = pd.DataFrame(np.random.randn(4380, 4), index=rng)
我想计算这些时间序列的相关系数(好吧,对于随机数据,它没有那么多意义......但无论如何)仅在某些时期。也就是说,只有在“春天”或“冬天”期间才会产生相关性?我可以将Spring和Winter定义为自定义时段吗?基本上,我只是想“掩盖”感兴趣的季节 。
答案 0 :(得分:1)
您可以按df.index.month
获取索引的月份,然后使用np.in1d选择您想要的内容:
df[np.in1d(df.index.month, [1, 2, 3, 10, 11, 12])]