Объяснение:
df.groupby('group').transform('mean') возвращает датайфрейм, но df['value'] – Series, в итоге получится что столбец df['value'] вычитается из каждого столбца полученного датафрейма, получим ошибку что df['mean_diff'] присваивается датафрейм
Исправление:
import pandas as pd
df = pd.DataFrame({
'group': ['X', 'X', 'Y', 'Y'],
'value': [10, 20, 30, 40]
})
df['mean_diff'] = df.groupby('group')['value'].transform('mean') - df['value']
print(df)
#CodeDetective_MLinside