【问题标题】:Water year time series: resampling annually for custom non-calendar year dates水年时间序列:每年重新采样自定义非日历年日期
【发布时间】:2018-12-24 14:11:25
【问题描述】:

我正在编写我的第一个循环,因为重采样不允许我使用自定义开始日期进行年度采样。我的目标是总结 30 年时间序列中连续 12 个月的每个系列,以进行非日历年计算(水文水年 10 月至 9 月)。数据集从 10 月份开始,所以我想我只需将前 12 行、接下来的 12 行等相加即可。完美的循环,对吧?!两个问题:

1) 将 'n' 行添加在一起的最简单方法是什么,这些行将输出到一个新的 DataFrame 中,按年份索引。

2) 我对问题 1 的尝试解决方案如下,并且有效。但是,输出的数据类型是“NoneType”,我无法通过 pd.concat 与另一个 DataFrame 合并回来。我该如何解决这个问题?

def Water_Year_Total(Monthly_Data_30yrs):
    for i in range((len(Monthly_Data_30yrs))//12):
        x=0
        y=12
        new_value=sum(data[(x+(12*i)):(y+(12*i))])
        print(new_value)

for 循环首先通过 len() 函数计算行数,然后将其除以 12 得到数据集中的年数,然后将 sum 循环迭代 i 次,然后打印出结果。

【问题讨论】:

    标签: python pandas dataframe nonetype resampling


    【解决方案1】:

    你的函数没有return 任何东西,这就是为什么它在完成运行时会产生一个 NoneType 。在for循环之前创建一个变量,添加不同的new_values,然后在for循环完成后返回该变量。

    【讨论】:

      猜你喜欢
      • 2017-03-05
      • 1970-01-01
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 2015-08-23
      相关资源
      最近更新 更多