'Add a column.
The results of computing `term` will show up as a column in the
DataFrame produced by running this pipeline.
Parameters
column : zipline.pipeline.Term
A Filter, Factor, or Classifier to add to the pipeline.
name : str
Name of the column to add.
overwrite : bool
Whether to overwrite the existing entry if we already have a column
named `name`.'

@expect_types(term=Term, name=str)
def add(self, term, name, overwrite=False):

    self.validate_column(name, term)
    columns = self.columns
    if (name in columns):
        if overwrite:
            self.remove(name)
        else:
            raise KeyError("Column    '{}'    already    exists.".format(name))
    if (not isinstance(term, ComputableTerm)):
        raise TypeError("{term}    is    not    a    valid    pipeline    column.    Did    you    mean    to    append    '.latest'?".format(term=term))
    self._columns[name] = term
