Input DataFrame: rowsCount = 7, columnsCount = 5
nameagecityweightisHappy
firstNamelastName
AliceCooper15London54true
BobDylan45Dubai87true
CharlieDaniels20Moscownullfalse
CharlieChaplin40Milannulltrue
BobMarley30Tokyo68true
AliceWolf20null55false
CharlieByrd30Moscow90true

Step 1: Pivot
LondonDubaiMoscowMilanTokyonull
DataFrame 1 x 5DataFrame 1 x 5DataFrame 2 x 5DataFrame 1 x 5DataFrame 1 x 5DataFrame 1 x 5

Output PivotGroupBy
nameageweightisHappycity
firstNamelastNameLondonDubaiMoscowMilanTokyonull
AliceCooper1554trueDataFrame 1 x 5
BobDylan4587trueDataFrame 1 x 5
CharlieDaniels20nullfalseDataFrame 1 x 5
CharlieChaplin40nulltrueDataFrame 1 x 5
BobMarley3068trueDataFrame 1 x 5
AliceWolf2055falseDataFrame 1 x 5
CharlieByrd3090trueDataFrame 1 x 5