Apply-Function

Sat 17 May 2025
import pandas as pd
data = {
    'city' : ['Toronto', 'Montreal', 'Waterloo', 'Toronto', 'Waterloo', 'Toronto', 'Toronto'],
    'points' : [80, 70, 90, 85, 79, 82, 200]
}
data
{'city': ['Toronto',
  'Montreal',
  'Waterloo',
  'Toronto',
  'Waterloo',
  'Toronto',
  'Toronto'],
 'points': [80, 70, 90, 85, 79, 82, 200]}
type(data)
dict
df = pd.DataFrame(data)
df
city points
0 Toronto 80
1 Montreal 70
2 Waterloo 90
3 Toronto 85
4 Waterloo 79
5 Toronto 82
6 Toronto 200
df.groupby('city')['points'].apply(lambda x:x.rolling(window=1).mean())
city       
Montreal  1     70.0
Toronto   0     80.0
          3     85.0
          5     82.0
          6    200.0
Waterloo  2     90.0
          4     79.0
Name: points, dtype: float64
df.groupby('city')['points'].apply(lambda x:x.rolling(window=2).mean())
city       
Montreal  1      NaN
Toronto   0      NaN
          3     82.5
          5     83.5
          6    141.0
Waterloo  2      NaN
          4     84.5
Name: points, dtype: float64


Score: 5

Category: pandas