selectColumns method
Returns a new Datacat with only the selected columns.
Implementation
Datacat selectColumns(List<String> selectedColumns) {
List<int> indices = selectedColumns.map((col) {
int index = columns.indexOf(col);
if (index == -1) throw ArgumentError('Column "$col" not found.');
return index;
}).toList();
List<List<dynamic>> newRows =
rows.map((row) => indices.map((i) => row[i]).toList()).toList();
return Datacat(columns: selectedColumns, rows: newRows);
}