I have a dataframe with historical weather data from 2008 to 2018 for each day. Like this:
Date precipMM Rain_Type
0 2008-07-01 0.0 No rain
1 2008-07-02 0.0 No rain
2 2008-07-03 0.0 No rain
3 2008-07-04 0.3 Light Rain
4 2008-07-05 1.1 Light Rain
...
5 2018-07-06 0.3 Light Rain
6 2018-07-07 0.3 Light Rain
7 2018-07-08 0.0 No rain
8 2018-07-09 0.0 No rain
I want to get new columns as 'Light Rain', 'No Rain' and etc with percentages of these values (like value_counts) in initial dataframe. So, in my dataframe I have 10 observations for 1 Dec (e.x) and 8 days from them were with 'Light Rain' so percentage for each 1 Dec in dataframe will be 80%. I want smth like this:
Date precipMM Rain_Type. Light_rain_prct. No_rain_pct
0 2008-07-01 0.0 Light_rain 80 20
0 2008-07-02 0.0 No rain 30 70
0 2008-07-03 0.0 No rain 50 50
Are there any fast ways to do it? I did the same but only with lots of manipulations (groupby, pivot_table and etc), but it takes time to calculate it, as the dataset is large.