Below is shown some panda commands for retrieving maximum, minimum and average monthly precipitation from daily precipitation data.
The daily precipitation is assumed to be in a pandas DataFrame, with its index in Datetime index format.
1 - Daily to monthly precipitation
df_m=df1.resample('M').sum()
2 - Maximum monthly precipitation
p_max=df_m.groupby(df_m.index.month).max()
3 - Minimum monthly precipitation
p_min=df_m.groupby(df_m.index.month).min()
4 - Average monthly precipitation
p_avg=df_m.groupby(df_m.index.month).mean()
Python programming, with examples in hydraulic engineering and in hydrology.
Showing posts with label accumulated. Show all posts
Showing posts with label accumulated. Show all posts
Tuesday, August 21, 2018
Friday, January 26, 2018
Accumulating Precipitation Data
If we have a pandas dataframe named df1 with a column '15min' containing 15 minute precipitation data, we can easily accumulate for other durations, using the rolling method as shown in the example below:
Note that the window=4 parameter means that it will accumulate 4 lines of 15 minute data, resulting in 1 hour precipitation. This parameter can be changed to whatever duration you want.
df1['01 h'] =df1['15min'].rolling(window=4,center=False).sum()
Note that the window=4 parameter means that it will accumulate 4 lines of 15 minute data, resulting in 1 hour precipitation. This parameter can be changed to whatever duration you want.
Wednesday, March 15, 2017
Numpy - Accumulated and Incremental series
In Hydrology, it is always needed to deal with time-series of variables, as flow series or precipitation series, with the variable being incremental or accumulated.
Numpy has a great way to transform between accumulated and incremental series.
To accumulate a incremental series use the method
numpy.cumsum(incrementalSeries)
And to transform a accumulated array to a incremental one, use:
numpy.diff(accumulatedSeries)
Numpy has a great way to transform between accumulated and incremental series.
To accumulate a incremental series use the method
numpy.cumsum(incrementalSeries)
And to transform a accumulated array to a incremental one, use:
numpy.diff(accumulatedSeries)
Subscribe to:
Posts (Atom)