Я вполне уверен, что сработает следующее:
grouped = df_2.groupby('user_id').agg({'value1': 'mean', 'value2': 'min'})
df_1 = df_1.merge(grouped, left_on='user_id', right_index=True, sort=False)
Это требует, чтобы value1
и value2
не были в df_1
, иначе у вас будут дублирующиеся столбцы.Если это потенциальная проблема, используйте df_1 = df_1.drop(columns=['value1', 'value2'], errors='ignore')
до слияния.