map(func) {
        return this.__newInstance__(
            iter(this[__rows__], (row, i) => func(row, i)),
            this[__columns__]
        );
    }
Map on DataFrame rows. /!\ Prefer to use .chain().
@param {Function} func A function to apply on each row taking the row as parameter.
@returns {DataFrame} A new DataFrame with modified rows.
@example
df.map(row => row.set('column1', row.get('column1') * 2))