How to add rolling KPI’s to original dataframe in polars? when I do group by, I am not seeing an index and so cant join? I want to keep all original columns in dataframe intact but add rolling kpi to the dataframe?
Pandas code:
groups_df = df[mask_for_filter].groupby(['group_identifier'])
rolling_kpi = groups_df[['col_1', 'col_2']].rolling(15, min_periods=1, center=True).median().reset_index(level='group_identifier').sort_index()
df.loc[mask_for_avg, 'col_1_median'] = rolling_kpi['col_1']
df.loc[mask_for_avg, 'col_2_median'] = rolling_kpi['col_2']
Polars:
df = df.filter(mask_for_filter).group_by('group_identifier').agg(
col_1_median=pl.col('col_1').rolling_median(15, min_periods=1, center=True),
col_2_median=pl.col('col_2').rolling_median(15, min_periods=1, center=True))