python - 水年时间序列:每年重新采样自定义非日历年日期
问题描述
我正在编写我的第一个循环,因为重采样不允许我使用自定义开始日期进行年度采样。我的目标是总结 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 次,然后打印出结果。
解决方案
您的函数没有return
任何作用,这就是它在完成运行时产生 NoneType 的原因。在 for 循环之前创建一个变量,将不同new_value
的 s 添加到其中,然后在 for 循环完成后返回该变量。
推荐阅读
- firebase - FIREBASE 警告:使用未指定的索引。考虑在 /Tasks 添加 ".indexOn": "assignedTo/dynamicID/ldap" 以获得更好的性能
- c# - 如何将 Google Cloud Data loss Prevention 与 asp.net 连接
- c# - 将 int 数组传递给存储过程的表值参数 - 转换失败
- angular - Angular:将本地图像(资产文件夹)绑定到来自 API 的名称
- amazon-web-services - 是否可以通过 Amazon SNS 发送图像
- javascript - D3 v4 动画:如何在多个路径上循环多个圆圈?
- javascript - JavaScript 公式计算不正确(可能是实现、语法或 PEMDAS 错误?)
- python - 如何为神经网络提供复值输入
- ios - Xcode 启动屏幕上的图像视图出现片刻然后消失
- ssh - 我想使用一对密钥通过堡垒服务器在私有主机中使用一个命令行获取输出