我有一个洪水数据量(0 [无水灾]至3 [大水灾])和每天时间尺度上的降水的数据框。这是数据的片段:
date Size ppt
2017-09-13 0.0 0.000000
2017-09-14 0.0 34.709998
2017-09-15 0.0 0.000000
2017-09-16 0.0 0.000000
2017-09-17 0.0 0.000000
2017-09-18 0.0 0.600000
2017-09-19 3.0 157.439998
我对洪水发生前“ X”天的降雨量多少感兴趣,而不仅是洪水当天的降雨量。例如,使用上述数据,在2017年9月19日洪水之前的7天里,约193毫米下降了,在前三天约158毫米下降了。但是,我不知道该如何编码。外面有人可以帮忙吗?
谢谢:)
答案 0 :(得分:2)
我猜您仅关注洪水泛滥的行,即Size
!= 0
。您可以在应用下面的代码后过滤掉这些行。
给出如下数据框rain
:
date Size ppt
2017-09-13 0.0 0.000000
2017-09-14 0.0 34.709998
2017-09-15 0.0 0.000000
2017-09-16 0.0 0.000000
2017-09-17 0.0 0.000000
2017-09-18 0.0 0.600000
2017-09-19 3.0 157.439998
## 7-day cumulative precipitation
rain['ppt_7day'] = rain['ppt'].rolling(7).sum()
## 3-day cumulative precipitation
rain['ppt_3day'] = rain['ppt'].rolling(3).sum()
输出:
date size ppt ppt_7day ppt_3day
0 2017-09-13 0 0 NaN NaN
1 2017-09-14 0 34.71 NaN NaN
2 2017-09-15 0 0 NaN 34.709998
3 2017-09-16 0 0 NaN 34.709998
4 2017-09-17 0 0 NaN 0.000000
5 2017-09-18 0 0.6 NaN 0.600000
6 2017-09-19 3 157.43 192.739998 158.030000