[英]Calculation in python using loops for rainfall application
我正在嘗試計算不同持續時間的“最大降雨量”,例如“1hr”和“3hr”持續時間。
使用我的數據集:
Date Rainfall
2007-01-01 00:00:00 0
2007-01-01 01:00:00 0.5
2007-01-01 02:00:00 0.9
2007-01-01 03:00:00 0.2
…..
2009-01-01 00:00:00 0
2009-01-01 01:00:00 0.4
2009-01-01 02:00:00 0.8
2009-01-01 03:00:00 0.9
如果我將設置我的日期范圍(例如 2007-01-01 到 2009-01-01),並將其指定為最長“3 小時”持續時間,則計算應該如下所示(這應該在 for 循環中,我猜測):
從2007-01-01 00:00:00
開始,最長 3 小時為:
0+0.5+0.9=1.4
然后從2007-01-01 01:00:00
開始,最長 3 小時為:
0.5+0.9+0.2=1.6
依此類推……直到它到達 2009-01-01 03:00:00 時找到真正的最大 3 小時持續時間。
我知道這需要一個 for 循環,我是 python 的新手,所以我還在學習。 誰能幫助我闡明這一點?
我認為你需要DataFrame.rolling
和DatetimeIndex
和頻率3H
和sum
:
df['Date'] = pd.to_datetime(df['Date'])
df1 = df.set_index('Date').rolling('3H').sum()
print (df1)
Rainfall
Date
2007-01-01 00:00:00 0.0
2007-01-01 01:00:00 0.5
2007-01-01 02:00:00 1.4
2007-01-01 03:00:00 1.6
如果需要最多每 3 小時:
df2 = df.set_index('Date').rolling('3H').max()
print (df2)
Rainfall
Date
2007-01-01 00:00:00 0.0
2007-01-01 01:00:00 0.5
2007-01-01 02:00:00 0.9
2007-01-01 03:00:00 0.9
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.