df.select { colsAtAnyDepth().filter { !it.isColumnGroup() }.take(3) }
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 |
Output DataFrame: rowsCount = 7, columnsCount = 3
| firstName | lastName | age |
|---|
| Alice | Cooper | 15 |
| Bob | Dylan | 45 |
| Charlie | Daniels | 20 |
| Charlie | Chaplin | 40 |
| Bob | Marley | 30 |
| Alice | Wolf | 20 |
| Charlie | Byrd | 30 |
df.select { colsAtAnyDepth().filter { !it.isColumnGroup() }.takeLast(3) }
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 |
Output DataFrame: rowsCount = 7, columnsCount = 3
| city | weight | isHappy |
|---|
| London | 54 | true |
| Dubai | 87 | true |
| Moscow | null | false |
| Milan | null | true |
| Tokyo | 68 | true |
| null | 55 | false |
| Moscow | 90 | true |
df.select { colsAtAnyDepth().filter { !it.isColumnGroup() }.drop(3) }
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 |
Output DataFrame: rowsCount = 7, columnsCount = 3
| city | weight | isHappy |
|---|
| London | 54 | true |
| Dubai | 87 | true |
| Moscow | null | false |
| Milan | null | true |
| Tokyo | 68 | true |
| null | 55 | false |
| Moscow | 90 | true |
df.select { colsAtAnyDepth().filter { !it.isColumnGroup() }.dropLast(3) }
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 |
Output DataFrame: rowsCount = 7, columnsCount = 3
| firstName | lastName | age |
|---|
| Alice | Cooper | 15 |
| Bob | Dylan | 45 |
| Charlie | Daniels | 20 |
| Charlie | Chaplin | 40 |
| Bob | Marley | 30 |
| Alice | Wolf | 20 |
| Charlie | Byrd | 30 |
df.select { colsAtAnyDepth().filter { !it.isColumnGroup() && it.name().startsWith("year") } }
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 |
Output DataFrame: rowsCount = 0, columnsCount = 0
df.select { colsAtAnyDepth().filter { !it.isColumnGroup() }.except { 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 |
Output DataFrame: rowsCount = 7, columnsCount = 5
| firstName | lastName | city | weight | isHappy |
|---|
| Alice | Cooper | London | 54 | true |
| Bob | Dylan | Dubai | 87 | true |
| Charlie | Daniels | Moscow | null | false |
| Charlie | Chaplin | Milan | null | true |
| Bob | Marley | Tokyo | 68 | true |
| Alice | Wolf | null | 55 | false |
| Charlie | Byrd | Moscow | 90 | true |
df.select { (colsOf<Int>() and age).distinct() }
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 |
Output DataFrame: rowsCount = 7, columnsCount = 1