Get column corresponding to passed-in index from ptr returned
    by groupBySum.

    Args:
        columns (List<WeldObject>): List of columns as WeldObjects
        column_tys (List<str>): List of each column data ty
        index (int): index of selected column

    Returns:
        A WeldObject representing this computation

def get_column(columns, column_tys, index):
    """
    Get column corresponding to passed-in index from ptr returned
    by groupBySum.

    Args:
        columns (List<WeldObject>): List of columns as WeldObjects
        column_tys (List<str>): List of each column data ty
        index (int): index of selected column

    Returns:
        A WeldObject representing this computation
    """
    weld_obj = WeldObject(encoder_, decoder_)
    columns_var = weld_obj.update(columns, tys=WeldVec(column_tys), override=False)
    if isinstance(columns, WeldObject):
        columns_var = columns.obj_id
        weld_obj.dependencies[columns_var] = columns

    weld_template = """
     map(
       %(columns)s,
       |elem: %(ty)s| elem.$%(index)s
     )
  """

    weld_obj.weld_code = weld_template % {"columns": columns_var,
                                          "ty": column_tys,
                                          "index": index}
    return weld_obj