import itertools


def node_extractor(dataframe, *columns):
    """
    Extracts the set of nodes from a given dataframe.
    :param dataframe: dataframe from which to extract the node list
    :param columns: list of column names that contain nodes
    :return: list of all unique nodes that appear in the provided dataset
    """
    data_list = [dataframe[column].unique().tolist() for column in columns]

    return list(set(itertools.chain.from_iterable(data_list)))