Ваш код:
df_test_revenue_1.groupby("ag_id").transform(lambda x: x.fillna(x.min()))
никогда не ссылайтесь на столбец «1st_rev_month». ваша ссылка на него в левой части означает «поместить результат в столбец 1st_rev_month». Но каков результат? это минимум для всего фрейма данных, а не только за «1st_rev_month».
Вам нужно взять минимум только за столбец «1st_rev_month».
Исправление:
df_test_revenue_1["1st_rev_month"]=df_test_revenue_1.groupby("ag_id")['1st_rev_month'].transform(lambda x: x.fillna(x.min()))
добавление ['1st_rev_month']
после groupby, чтобы взять только соответствующий столбец