在熊猫中迭代自定义日期范围,历时多年

时间:2018-10-04 13:43:05

标签: python pandas

简短之处:如何解析非标准年份的年度数据。就我而言,9月至9月。

我有一个脚本可以解析多年的每小时温度数据,并计算出每年的累积生长天数(GDD)。如果您想知道我在哪里,可以在this gist上找到一些演示数据和脚本。不过,肉和土豆的年度累计金额是:

df[col_name] = df.resample('Y')['dGDD'].cumsum()

,一切正常。每天将在适当的列中显示累计的GDD,直到12月31日再次从零开始。

我的下一个目标是计算与CDD类似的寒冷天数,但是每年从9月到9月运行,我不知道如何使用(或适当地通过Google寻求帮助)。我知道我可以设置一个日期范围来运行它,即df['2012-9-1':'2013-9-1'],但是我不确定如何为我的整个数据(2007-2018)自动化它。

谢谢!

1 个答案:

答案 0 :(得分:0)

解决了!原来我正在寻找的时间段称为“水年”。学习使我引向另一个question and answer。结合仔细研究.resample() docs的经验,我发现您可以将重采样定向到除索引之外的其他内容,这给我带来了

df['WaterYear'] = df.index + pd.DateOffset(months=-8)
df[col_name] = df.resample('Y', on='WaterYear')['dCDD'].cumsum()

现在一切似乎都在畅通无阻。