当前位置: 代码迷 >> python >> 在Pandas中迭代自定义日期范围多年
  详细解决方案

在Pandas中迭代自定义日期范围多年

热度:43   发布时间:2023-07-16 10:14:16.0

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

我有一个脚本可以解析多年的每小时温度数据,并计算出每年的累计生长天数(GDD)。 如果您想知道我的位置,那么一些演示数据和脚本都在上。 肉和土豆虽然每年获得的累计金额与此:

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

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

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

谢谢!

解决了! 原来我正在寻找的时间段称为“水年”。 学习使我想到另一个 。 结合仔细查看.resample() ,我了解到您可以将重采样定向到除索引之外的其他内容,这给我带来了以下好处:

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

现在一切似乎都在顺畅地进行。

  相关解决方案