df.add { "year" from { 0 } }
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 = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
df.select { cols { it.name().startsWith("year") } }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 1
df.select { nameStartsWith("year") }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 1
df.select { colsOf<String>() }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 0, columnsCount = 0
df.select { colsOf<String?> { it.countDistinct() > 5 } }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 1
| city |
|---|
| London |
| Dubai |
| Moscow |
| Milan |
| Tokyo |
| null |
| Moscow |
df.select { all() }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
df.select { take(2) }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 2
| name | age |
|---|
| firstName | lastName | |
|---|
| Alice | Cooper | 15 |
| Bob | Dylan | 45 |
| Charlie | Daniels | 20 |
| Charlie | Chaplin | 40 |
| Bob | Marley | 30 |
| Alice | Wolf | 20 |
| Charlie | Byrd | 30 |
df.select { takeLast(2) }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 2
| isHappy | year |
|---|
| true | 0 |
| true | 0 |
| false | 0 |
| true | 0 |
| true | 0 |
| false | 0 |
| true | 0 |
df.select { drop(2) }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 4
| city | weight | isHappy | year |
|---|
| London | 54 | true | 0 |
| Dubai | 87 | true | 0 |
| Moscow | null | false | 0 |
| Milan | null | true | 0 |
| Tokyo | 68 | true | 0 |
| null | 55 | false | 0 |
| Moscow | 90 | true | 0 |
df.select { dropLast(2) }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 4
| name | age | city | weight |
|---|
| firstName | lastName | | | |
|---|
| Alice | Cooper | 15 | London | 54 |
| Bob | Dylan | 45 | Dubai | 87 |
| Charlie | Daniels | 20 | Moscow | null |
| Charlie | Chaplin | 40 | Milan | null |
| Bob | Marley | 30 | Tokyo | 68 |
| Alice | Wolf | 20 | null | 55 |
| Charlie | Byrd | 30 | Moscow | 90 |
df.select { first { it.name.startsWith("year") } }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 1
df.select {
colGroup("name").lastCol { it.name().endsWith("Name") }
}
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 1
| lastName |
|---|
| Cooper |
| Dylan |
| Daniels |
| Chaplin |
| Marley |
| Wolf |
| Byrd |
df.select {
Person::name.singleCol { it.name().startsWith("first") }
}
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 1
| firstName |
|---|
| Alice |
| Bob |
| Charlie |
| Charlie |
| Bob |
| Alice |
| Charlie |
df.select { colsAtAnyDepth().filter { !it.isColumnGroup() } }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 7
| firstName | lastName | age | city | weight | isHappy | year |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
df.select { colsAtAnyDepth() }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 8
| name | firstName | lastName | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | | | |
|---|
| Alice | Cooper | Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
df.select { colsAtAnyDepth().filter() { it.name().contains(":") } }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 0, columnsCount = 0
df.select { colsAtAnyDepth().colsOf<String>() }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 2
| firstName | lastName |
|---|
| Alice | Cooper |
| Bob | Dylan |
| Charlie | Daniels |
| Charlie | Chaplin |
| Bob | Marley |
| Alice | Wolf |
| Charlie | Byrd |
df.select { allExcept { colsOf<String>() } }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
df.select { take(2) and col(3) }
Input DataFrame: rowsCount = 7, columnsCount = 6
| name | age | city | weight | isHappy | year |
|---|
| firstName | lastName | | | | | |
|---|
| Alice | Cooper | 15 | London | 54 | true | 0 |
| Bob | Dylan | 45 | Dubai | 87 | true | 0 |
| Charlie | Daniels | 20 | Moscow | null | false | 0 |
| Charlie | Chaplin | 40 | Milan | null | true | 0 |
| Bob | Marley | 30 | Tokyo | 68 | true | 0 |
| Alice | Wolf | 20 | null | 55 | false | 0 |
| Charlie | Byrd | 30 | Moscow | 90 | true | 0 |
Output DataFrame: rowsCount = 7, columnsCount = 3
| name | age | weight |
|---|
| firstName | lastName | | |
|---|
| Alice | Cooper | 15 | 54 |
| Bob | Dylan | 45 | 87 |
| Charlie | Daniels | 20 | null |
| Charlie | Chaplin | 40 | null |
| Bob | Marley | 30 | 68 |
| Alice | Wolf | 20 | 55 |
| Charlie | Byrd | 30 | 90 |