code: 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
docs: 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`.