withColumns method

DataFrame withColumns(
  1. Iterable<String> columnNames
)

A new data frame with only the selected columns.

Example:

print(iris.withHead(3));
print(iris.withHead(3).withColumns(["petal_length", "species"]));

.--.------------.-----------.------------.-----------.--------.
|id|sepal_length|sepal_width|petal_length|petal_width|species |
:--+------------+-----------+------------+-----------+--------:
|1 |5.1         |3.5        |1.4         |0.2        |setosa  |
|2 |4.9         |3.0        |1.4         |0.2        |setosa  |
|3 |4.7         |3.2        |1.3         |0.2        |setosa  |
'--'------------'-----------'------------'-----------'--------'

.------------.--------.
|petal_length|species |
:------------+--------:
|1.4         |setosa  |
|1.4         |setosa  |
|1.3         |setosa  |
'------------'--------'

Implementation

DataFrame withColumns(Iterable<String> columnNames) => DataFrame(
      numericColumns: {
        for (final MapEntry(:key, :value) in numericColumns.entries)
          if (columnNames.contains(key)) key: NumericColumn(value.values)
      },
      categoricColumns: {
        for (final MapEntry(:key, :value) in categoricColumns.entries)
          if (columnNames.contains(key)) key: CategoricColumn(value.values)
      },
    );