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

Output GroupBy
namegroup
firstNamelastName
AliceCooperDataFrame 1 x 5
BobDylanDataFrame 1 x 5
CharlieDanielsDataFrame 1 x 5
CharlieChaplinDataFrame 1 x 5
BobMarleyDataFrame 1 x 5
AliceWolfDataFrame 1 x 5
CharlieByrdDataFrame 1 x 5


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

Output GroupBy
citylastNamegroup
LondonCooperDataFrame 1 x 5
DubaiDylanDataFrame 1 x 5
MoscowDanielsDataFrame 1 x 5
MilanChaplinDataFrame 1 x 5
TokyoMarleyDataFrame 1 x 5
nullWolfDataFrame 1 x 5
MoscowByrdDataFrame 1 x 5


df.groupBy { age / 10 named "ageDecade" }
Input DataFrame: rowsCount = 7, columnsCount = 5
nameagecityweightisHappy
firstNamelastName
AliceCooper15London54true
BobDylan45Dubai87true
CharlieDaniels20Moscownullfalse
CharlieChaplin40Milannulltrue
BobMarley30Tokyo68true
AliceWolf20null55false
CharlieByrd30Moscow90true

Output GroupBy
ageDecadegroup
1DataFrame 1 x 5
4DataFrame 2 x 5
2DataFrame 2 x 5
3DataFrame 2 x 5