df.groupBy { city }.meanFor { age and weight }
Input DataFrame: rowsCount = 7, columnsCount = 5
nameagecityweightisHappy
firstNamelastName
AliceCooper15London54true
BobDylan45Dubai87true
CharlieDaniels20Moscownullfalse
CharlieChaplin40Milannulltrue
BobMarley30Tokyo68true
AliceWolf20null55false
CharlieByrd30Moscow90true

Step 1: GroupBy
citygroup
LondonDataFrame 1 x 5
DubaiDataFrame 1 x 5
MoscowDataFrame 2 x 5
MilanDataFrame 1 x 5
TokyoDataFrame 1 x 5
nullDataFrame 1 x 5

Output DataFrame: rowsCount = 6, columnsCount = 3
cityageweight
London15.054.0
Dubai45.087.0
Moscow25.090.0
Milan40.0NaN
Tokyo30.068.0
null20.055.0


df.groupBy { city }.mean()
Input DataFrame: rowsCount = 7, columnsCount = 5
nameagecityweightisHappy
firstNamelastName
AliceCooper15London54true
BobDylan45Dubai87true
CharlieDaniels20Moscownullfalse
CharlieChaplin40Milannulltrue
BobMarley30Tokyo68true
AliceWolf20null55false
CharlieByrd30Moscow90true

Step 1: GroupBy
citygroup
LondonDataFrame 1 x 5
DubaiDataFrame 1 x 5
MoscowDataFrame 2 x 5
MilanDataFrame 1 x 5
TokyoDataFrame 1 x 5
nullDataFrame 1 x 5

Output DataFrame: rowsCount = 6, columnsCount = 3
cityageweight
London15.054.0
Dubai45.087.0
Moscow25.090.0
Milan40.0NaN
Tokyo30.068.0
null20.055.0