I have a timeseries dataframe of rain values for every given hour.
This is the current dataframe:
print(assomption_rain_df.head(25))
date time rain_gauge_value
0 2020-08-05 00:00:00 5.3
1 2020-08-05 01:00:00 2.7
2 2020-08-05 02:00:00 2.2
3 2020-08-05 03:00:00 3.0
4 2020-08-05 04:00:00 1.5
5 2020-08-05 05:00:00 0.0
6 2020-08-05 06:00:00 0.0
7 2020-08-05 07:00:00 0.0
8 2020-08-05 08:00:00 0.1
9 2020-08-05 09:00:00 0.1
10 2020-08-05 10:00:00 0.1
11 2020-08-05 11:00:00 0.4
12 2020-08-05 12:00:00 0.5
13 2020-08-05 13:00:00 0.2
14 2020-08-05 14:00:00 0.3
15 2020-08-05 15:00:00 0.4
16 2020-08-05 16:00:00 0.2
17 2020-08-05 17:00:00 0.0
18 2020-08-05 18:00:00 0.0
19 2020-08-05 19:00:00 0.0
20 2020-08-05 20:00:00 0.0
21 2020-08-05 21:00:00 0.0
22 2020-08-05 22:00:00 0.0
23 2020-08-05 23:00:00 0.0
24 2020-08-06 00:00:00 0.0
This is the dataframe that I want:
date time rain_gauge_value rain_gauge_value_6hr
0 2020-08-05 00:00:00 5.3 NaN
1 2020-08-05 01:00:00 2.7 NaN
2 2020-08-05 02:00:00 2.2 NaN
3 2020-08-05 03:00:00 3.0 NaN
4 2020-08-05 04:00:00 1.5 NaN
5 2020-08-05 05:00:00 0.0 14.7
6 2020-08-05 06:00:00 0.0 9.4
7 2020-08-05 07:00:00 0.0 6.7
8 2020-08-05 08:00:00 0.1 4.6
9 2020-08-05 09:00:00 0.1 1.7
10 2020-08-05 10:00:00 0.1 0.3
11 2020-08-05 11:00:00 0.4 0.7
12 2020-08-05 12:00:00 0.5 1.2
13 2020-08-05 13:00:00 0.2 1.4
14 2020-08-05 14:00:00 0.3 1.6
15 2020-08-05 15:00:00 0.4 1.9
16 2020-08-05 16:00:00 0.2 2.0
17 2020-08-05 17:00:00 0.0 1.6
18 2020-08-05 18:00:00 0.0 1.1
19 2020-08-05 19:00:00 0.0 0.9
20 2020-08-05 20:00:00 0.0 0.6
21 2020-08-05 21:00:00 0.0 0.2
22 2020-08-05 22:00:00 0.0 0.0
23 2020-08-05 23:00:00 0.0 0.0
24 2020-08-06 00:00:00 0.0 0.0
Ultimately, I'm looking to create columns rain_gauge_value_6hr, rain_gauge_value_12hr, rain_gauge_value_24hr, rain_gauge_value_36hr, rain_gauge_value_48hr
I've read some similar posts that included the pandas.Grouper or pandas.DataFrame.resample but none of them really applied to my situation. How do I implement this?
Edit:
First i tried:
assomption_rain_df['rain_gauge_value_6hr'] = assomption_rain_df['rain_gauge_value'].rolling(6).sum()
But it returns a dataframe with awkward values:
print(assomption_rain_df.head(25))
date time rain_gauge_value rain_gauge_value_6hr
0 2020-08-05 00:00:00 5.3 NaN
1 2020-08-05 01:00:00 2.7 NaN
2 2020-08-05 02:00:00 2.2 NaN
3 2020-08-05 03:00:00 3.0 NaN
4 2020-08-05 04:00:00 1.5 NaN
5 2020-08-05 05:00:00 0.0 1.470000e+01
6 2020-08-05 06:00:00 0.0 9.400000e+00
7 2020-08-05 07:00:00 0.0 6.700000e+00
8 2020-08-05 08:00:00 0.1 4.600000e+00
9 2020-08-05 09:00:00 0.1 1.700000e+00
10 2020-08-05 10:00:00 0.1 3.000000e-01
11 2020-08-05 11:00:00 0.4 7.000000e-01
12 2020-08-05 12:00:00 0.5 1.200000e+00
13 2020-08-05 13:00:00 0.2 1.400000e+00
14 2020-08-05 14:00:00 0.3 1.600000e+00
15 2020-08-05 15:00:00 0.4 1.900000e+00
16 2020-08-05 16:00:00 0.2 2.000000e+00
17 2020-08-05 17:00:00 0.0 1.600000e+00
18 2020-08-05 18:00:00 0.0 1.100000e+00
19 2020-08-05 19:00:00 0.0 9.000000e-01
20 2020-08-05 20:00:00 0.0 6.000000e-01
21 2020-08-05 21:00:00 0.0 2.000000e-01
22 2020-08-05 22:00:00 0.0 -2.609024e-15
23 2020-08-05 23:00:00 0.0 -2.609024e-15
24 2020-08-06 00:00:00 0.0 -2.609024e-15