set columns(columns: Immutable.Seq<T_SK> | Array<T_SK>) {
    if (!Array.isArray(columns) || columns.length !== this.columns.size)
      throw new Error('Columns must be array of same dimension');

    const nextData = {};
    columns.forEach((k, idx: number) => {
      const prevColumn: T_SK = this.columns.get(idx);
      const prevSeries: Series = this.get(prevColumn);

      nextData[k] = prevSeries.rename(k);
    });

    this._data = Immutable.Map(nextData);
    this.set_axis(1, Immutable.Seq(columns));
  }
Sets columns

pandas equivalent: [DataFrame.columns](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.columns.html)

@param {Seq.Indexed<string>|Array} columns
   Next column names

@example
const df = new DataFrame([{x: 1, y: 2}, {x: 2, y: 3}, {x: 3, y: 4}]);

df.columns = ['a', 'b'];
// Returns Seq ['a', 'b']
df.columns;