DataFrame constructor

DataFrame(
  1. Iterable<Iterable> data, {
  2. bool headerExists = true,
  3. Iterable<String> header = const [],
  4. String autoHeaderPrefix = defaultHeaderPrefix,
  5. Iterable<int> columns = const [],
  6. Iterable<String> columnNames = const [],
})

Creates a dataframe from the non-typed data that is represented as two-dimensional array, where each element is a row of table-like data. The first element of the two-dimensional array may be a header of a dataset:

final data = [
  ['column_1', 'column_2', 'column_3'], // a header
  [   20,        false,    'value_1' ], // row 1
  [   51,        true,     'value_2' ], // row 2
  [   22,        false,       null   ], // row 3
]
final dataframe = DataFrame(data);

headerExists Indicates whether the dataset header (a sequence of column names) exists. If header exists, it must present on the very first row of the data:

final data = [
  ['column_1', 'column_2', 'column_3'], // row 1
  [   20,        false,    'value_1' ], // row 2
  [   51,        true,     'value_2' ], // row 3
  [   22,        false,       null   ], // row 4
]
// the first row isn't considered a header in this case, it's considered
// a data item row
final dataframe = DataFrame(data, headerExists: false);

print(dataframe.header); // should output an autogenerated header
print(dataframe.rows);

The output:

['col_0', 'col_1', 'col_2']

[
  ['column_1', 'column_2', 'column_3'],
  [   20,        false,    'value_1' ],
  [   51,        true,     'value_2' ],
  [   22,        false,       null   ],
]

header Predefined dataset header. It'll be skipped if headerExists is true. Use it to provide a custom header to a header-less dataset.

autoHeaderPrefix A string that is used as a prefix for every column name of auto-generated header (if headerExists is false and header is empty). Underscore + ordinal number is used as a postfix of column names.

columns A collection of column indices that specifies which columns should be extracted from the data and placed in the resulting DataFrame Has a higher precedence than columnNames

columnNames A collection of column titles that specifies which columns should be extracted from the data and placed in the resulting DataFrame. It's also can be used with auto-generated column names. The argument will be omitted if columns is provided

Implementation

factory DataFrame(
  Iterable<Iterable<dynamic>> data, {
  bool headerExists = true,
  Iterable<String> header = const [],
  String autoHeaderPrefix = defaultHeaderPrefix,
  Iterable<int> columns = const [],
  Iterable<String> columnNames = const [],
}) =>
    fromRawData(
      data,
      headerExists: headerExists,
      predefinedHeader: header,
      autoHeaderPrefix: autoHeaderPrefix,
      columns: columns,
      columnNames: columnNames,
    );