code: def build_table(self, data, key_columns=('sex',), parameter_columns=(['age', 'age_group_start', 'age_group_end'],
                                                                           ['year', 'year_start', 'year_end']),
                      value_columns=None) -> LookupTable:
          
          return self._lookup_table_manager.build_table(data, key_columns, parameter_columns, value_columns)
docs: Construct a LookupTable from input data.
  
          If data is a ``pandas.DataFrame``, an interpolation function of the specified
          order will be calculated for each permutation of the set of key_columns.
          The columns in parameter_columns will be used as parameters for the interpolation
          functions which will estimate all remaining columns in the table.
  
          If data is a number, time, list, or tuple, a scalar table will be constructed with
          the values in data as the values in each column of the table, named according to
          value_columns.
  
  
          Parameters
          ----------
          data        : The source data which will be used to build the resulting LookupTable.
          key_columns : [str]
                        Columns used to select between interpolation functions. These
                        should be the non-continuous variables in the data. For
                        example 'sex' in data about a population.
          parameter_columns : [str]
                        The columns which contain the parameters to the interpolation functions.
                        These should be the continuous variables. For example 'age'
                        in data about a population.
          value_columns : [str]
                        The data columns that will be in the resulting LookupTable. Columns to be
                        interpolated over if interpolation or the names of the columns in the scalar
                        table.
          Returns
          -------
          LookupTable