df.pivot { city }.maxFor { age and weight }
Input DataFrame: rowsCount = 7, columnsCount = 5
name | age | city | weight | isHappy |
---|
firstName | lastName | | | | |
---|
Alice | Cooper | 15 | London | 54 | true |
Bob | Dylan | 45 | Dubai | 87 | true |
Charlie | Daniels | 20 | Moscow | null | false |
Charlie | Chaplin | 40 | Milan | null | true |
Bob | Marley | 30 | Tokyo | 68 | true |
Alice | Wolf | 20 | null | 55 | false |
Charlie | Byrd | 30 | Moscow | 90 | true |
Step 1: Pivot
Output DataRow
df.groupBy { name }.pivot { city }.median { age }
Input DataFrame: rowsCount = 7, columnsCount = 5
name | age | city | weight | isHappy |
---|
firstName | lastName | | | | |
---|
Alice | Cooper | 15 | London | 54 | true |
Bob | Dylan | 45 | Dubai | 87 | true |
Charlie | Daniels | 20 | Moscow | null | false |
Charlie | Chaplin | 40 | Milan | null | true |
Bob | Marley | 30 | Tokyo | 68 | true |
Alice | Wolf | 20 | null | 55 | false |
Charlie | Byrd | 30 | Moscow | 90 | true |
Step 1: GroupBy
Step 2: PivotGroupBy
Output DataFrame: rowsCount = 7, columnsCount = 2
name | city |
---|
firstName | lastName | London | Dubai | Moscow | Milan | Tokyo | null |
---|
Alice | Cooper | 15.0 | null | null | null | null | null |
Bob | Dylan | null | 45.0 | null | null | null | null |
Charlie | Daniels | null | null | 20.0 | null | null | null |
Charlie | Chaplin | null | null | null | 40.0 | null | null |
Bob | Marley | null | null | null | null | 30.0 | null |
Alice | Wolf | null | null | null | null | null | 20.0 |
Charlie | Byrd | null | null | 30.0 | null | null | null |