class_docstr: Calculate the difference between two columns.
  
  This calculation can be applied to :class:`.Number` columns to calculate
  numbers. It can also be applied to :class:`.Date`, :class:`.DateTime`, and
  :class:`.TimeDelta` columns to calculate time deltas.
  
  :param before_column_name:
      The name of a column containing the "before" values.
  :param after_column_name:
      The name of a column containing the "after" values.
class_docstr_tok: ["Calculate","the","difference","between","two","columns",".","This","calculation","can","be","applied","to",":","class",":","`",".Number","`","columns","to","calculate","numbers",".","It","can","also","be","applied","to",":","class",":","`",".Date","`",",",":","class",":","`",".DateTime","`",",","and",":","class",":","`",".TimeDelta","`","columns","to","calculate","time","deltas",".",":","param","before_column_name",":","The","name","of","a","column","containing","the","``","before","''","values",".",":","param","after_column_name",":","The","name","of","a","column","containing","the","``","after","''","values","."]
code: def get_computed_data_type(self, table):
      before_column = table.columns[self._before_column_name]
  
      if isinstance(
          before_column.data_type, (Date, DateTime, TimeDelta)
      ):
          return TimeDelta()
      if isinstance(before_column.data_type, Number):
          return Number()
  
file_path: agate/agate/computations/change.py
imports: from agate.aggregations.has_nulls import HasNulls
  from agate.computations.base import Computation
  from agate.data_types import Date, DateTime, Number, TimeDelta
  from agate.exceptions import DataTypeError
  from agate.warns import warn_null_calculation
label_desc: Use image node_id 2 for calling the Change obj's underlying member method code with example usage: obj.get_computed_data_type(table) and returns: TimeDelta, Number