function Row(data, columns) {
	    _classCallCheck(this, Row);

	    if (!data) throw new ArgumentTypeError(data, "Row | Array | Object");
	    this[__columns__] = columns ? columns : Object.keys(data);
	    this[__values__] = Object.freeze(this._build(data));
	  }
Create a new Row.
@param {Array | Object | Row} data The data of the Row.
@param {Array} columns The DataFrame column names.
@example
new Row({
     'column1': 3,
     'column2': 6,
})

new Row([3, 6], ['column1', 'column2'])

new Row(Row, ['column1', 'column3'])