docs: def addColumn(self, header, values=[]):
          """
          Add a new column with the corresponding header and values to the
          dataframe.
  
          Args:
              header: The name of the new column.
  
              values: A list of size :func:`~amplpy.DataFrame.getNumRows` with
              all the values of the new column.
          """
          if len(values) == 0:
              self._impl.addColumn(header)
          else:
              assert len(values) == self.getNumRows()
              if any(isinstance(value, basestring) for value in values):
                  values = list(map(str, values))
                  self._impl.addColumnStr(header, values)
              elif all(isinstance(value, Real) for value in values):
                  values = list(map(float, values))
                  self._impl.addColumnDbl(header, values)
              else:
                  raise NotImplementedError