Я хочу иметь столбец, который ссылается на среднее значение переменной X в групповом порядке, используя только строки, которые проходят разрез по переменной Y.
Я сделал это с небольшим количеством обходного пути, поэтому мне интересно, есть ли более простой способ добиться этого.
df = pd.DataFrame({'Animal': ['Falcon', 'Falcon', 'Falcon', 'Parrot', 'Parrot','Parrot'],
'Max_Speed': [380., 370., 90, 24., 100., 101]})
df['meanWithCut'] = df.query('Max_Speed>98').groupby('Animal').transform('mean')
df['meanWithCut'] = df.groupby('Animal')['meanWithCut'].apply(lambda x: x.fillna(x.max()))
df
Animal Max_Speed meanWithCut
0 Falcon 380.0 375.0
1 Falcon 370.0 375.0
2 Falcon 90.0 375.0
3 Parrot 24.0 100.5
4 Parrot 100.0 100.5
5 Parrot 101.0 100.5