def multimap(data_frame, columns, func):
    """

    Maps some function (``func``) over all columns in ``columns``.

    :param data_frame: any dataframe.
    :type data_frame: ``Pandas DataFrame``
    :param columns: a 'list' of columns.
    :type columns: ``list`` or ``tuple``
    :param func: some function.
    :type func: ``func``
    :return: ``data_frame`` with ``func`` mapped over all ``columns``.
    :rtype: ``Pandas DataFrame``
    """
    if not isinstance(columns, (list, tuple)):
        return data_frame
    for c in columns:
        data_frame[c] = data_frame[c].map(func, na_action='ignore')
    return data_frame
