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 monthly. Show all posts
Showing posts with label monthly. Show all posts
Tuesday, August 21, 2018
Thursday, February 8, 2018
Daily precipitation data to monthly and yearly
With pandas, we can group datetime values according to datetime units, as months and years.
If we have a pandas dataframe with 2 columns - DATE and VALUE
Certify that the column DATE is recognized as datetime64 format - you can use, for example:
df1['DATE'] = pd.to_datetime(df1['DATE'])
and then you can group and make operations on this group.
Getting the average of total monthly precipitation:
monthly = df1.groupby(df1['DATE'].dt.month).sum() / len(pd.unique(df1['DATE'].dt.year))
(groups by month sum and then divide by the number of years)
Getting the average yearly precipitation:
PAnual = df1.groupby(df1[0].dt.year).sum().mean()
If we have a pandas dataframe with 2 columns - DATE and VALUE
Certify that the column DATE is recognized as datetime64 format - you can use, for example:
df1['DATE'] = pd.to_datetime(df1['DATE'])
and then you can group and make operations on this group.
Getting the average of total monthly precipitation:
monthly = df1.groupby(df1['DATE'].dt.month).sum() / len(pd.unique(df1['DATE'].dt.year))
(groups by month sum and then divide by the number of years)
Getting the average yearly precipitation:
PAnual = df1.groupby(df1[0].dt.year).sum().mean()
Subscribe to:
Posts (Atom)