cast(columnName, typeFunction) {
        return this.withColumn(columnName, (row) =>
            typeFunction(row.get(columnName))
        );
    }
Cast a column into a given type.
@param {String} columnName The column to cast.
@param {Function} ObjectType The function used to cast the column.
@returns {DataFrame} A new DataFrame with the column having a new type.
@example
df.cast('column1', Number)
df.cast('column1', (val) => new MyCustomClass(val))