def __init__(self, df, grouping_column_names):
        """Summary

        Args:
            df (TYPE): Description
            grouping_column_name (TYPE): Description
        """
    
        self.df = df
        self.grouping_columns = []
        self.grouping_column_types = []

        if isinstance(grouping_column_names, str):
            grouping_column_names = [grouping_column_names]
        for column_name in grouping_column_names:
            column = df[column_name]
            if isinstance(column, LazyOpResult):
                self.grouping_column_types.append(column.weld_type)
                self.grouping_columns.append(column.expr)
            elif isinstance(column, np.ndarray):
                column_type = numpyImpl.numpy_to_weld_type_mapping[
                    str(column.dtype)]
                self.grouping_column_types.append(column_type)
                self.grouping_columns.append(column)

        self.grouping_column_names = grouping_column_names
        self.column_names = []
        for x in df._get_column_names():
            if x not in self.grouping_column_names:
                self.column_names.append(x)

        self.columns = []
        self.column_types = []
        for column_name in self.column_names:
            column = df[column_name]
            column_type = None
            if isinstance(column, LazyOpResult):
                column_type = column.weld_type
                column = column.expr
            elif isinstance(column, np.ndarray):
                column_type = numpyImpl.numpy_to_weld_type_mapping[
                    str(column.dtype)]

            self.columns.append(column)
            self.column_types.append(column_type)
def __init__ ( self , df , grouping_column_names ) : self . df = df self . grouping_columns = [ ] self . grouping_column_types = [ ] if isinstance ( grouping_column_names , str ) : grouping_column_names = [ grouping_column_names ] for column_name in grouping_column_names : column = df [ column_name ] if isinstance ( column , LazyOpResult ) : self . grouping_column_types . append ( column . weld_type ) self . grouping_columns . append ( column . expr ) elif isinstance ( column , np . ndarray ) : column_type = numpyImpl . numpy_to_weld_type_mapping [ str ( column . dtype ) ] self . grouping_column_types . append ( column_type ) self . grouping_columns . append ( column ) self . grouping_column_names = grouping_column_names self . column_names = [ ] for x in df . _get_column_names ( ) : if x not in self . grouping_column_names : self . column_names . append ( x ) self . columns = [ ] self . column_types = [ ] for column_name in self . column_names : column = df [ column_name ] column_type = None if isinstance ( column , LazyOpResult ) : column_type = column . weld_type column = column . expr elif isinstance ( column , np . ndarray ) : column_type = numpyImpl . numpy_to_weld_type_mapping [ str ( column . dtype ) ] self . columns . append ( column ) self . column_types . append ( column_type )
Summary

        Args:
            df (TYPE): Description
            grouping_column_name (TYPE): Description