h2o-py/h2o/expr.py
def _tabulate(self, tablefmt="simple", rollups=False, rows=10):
        """Pretty tabulated string of all the cached data, and column names"""
        if not self.is_valid(): self.fill(rows=rows)
        # Pretty print cached data
        d = collections.OrderedDict()
        # If also printing the rollup stats, build a full row-header
        if rollups:
            col = next(iter(viewvalues(self._data)))  # Get a sample column
            lrows = len(col['data'])  # Cached rows being displayed
            d[""] = ["type", "mins", "mean", "maxs", "sigma", "zeros", "missing"] + list(map(str, range(lrows)))
        # For all columns...
        for k, v in viewitems(self._data):
            x = v['data']  # Data to display
            t = v["type"]  # Column type
            if t == "enum":
                domain = v['domain']  # Map to cat strings as needed
                x = ["" if math.isnan(idx) else domain[int(idx)] for idx in x]
            elif t == "time":
                x = ["" if math.isnan(z) else time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(z / 1000)) for z in x]
            if rollups:  # Rollups, if requested
                mins = v['mins'][0] if v['mins'] and v["type"] != "enum" else None
                maxs = v['maxs'][0] if v['maxs'] and v["type"] != "enum" else None
                #Cross check type with mean and sigma. Set to None if of type enum.
                if v['type'] == "enum":
                    v['mean'] = v['sigma'] = v['zero_count'] = None
                x = [v['type'], mins, v['mean'], maxs, v['sigma'], v['zero_count'], v['missing_count']] + x
            d[k] = x  # Insert into ordered-dict
        return tabulate.tabulate(d, headers="keys", tablefmt=tablefmt)
def _tabulate(self, tablefmt="simple", rollups=False, rows=10):
        if not self.is_valid(): self.fill(rows=rows)
        # Pretty print cached data
        d = collections.OrderedDict()
        # If also printing the rollup stats, build a full row-header
        if rollups:
            col = next(iter(viewvalues(self._data)))  # Get a sample column
            lrows = len(col['data'])  # Cached rows being displayed
            d[""] = ["type", "mins", "mean", "maxs", "sigma", "zeros", "missing"] + list(map(str, range(lrows)))
        # For all columns...
        for k, v in viewitems(self._data):
            x = v['data']  # Data to display
            t = v["type"]  # Column type
            if t == "enum":
                domain = v['domain']  # Map to cat strings as needed
                x = ["" if math.isnan(idx) else domain[int(idx)] for idx in x]
            elif t == "time":
                x = ["" if math.isnan(z) else time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(z / 1000)) for z in x]
            if rollups:  # Rollups, if requested
                mins = v['mins'][0] if v['mins'] and v["type"] != "enum" else None
                maxs = v['maxs'][0] if v['maxs'] and v["type"] != "enum" else None
                #Cross check type with mean and sigma. Set to None if of type enum.
                if v['type'] == "enum":
                    v['mean'] = v['sigma'] = v['zero_count'] = None
                x = [v['type'], mins, v['mean'], maxs, v['sigma'], v['zero_count'], v['missing_count']] + x
            d[k] = x  # Insert into ordered-dict
        return tabulate.tabulate(d, headers="keys", tablefmt=tablefmt)
def _tabulate ( self , tablefmt = "simple" , rollups = False , rows = 10 ) : if not self . is_valid ( ) : self . fill ( rows = rows ) # Pretty print cached data d = collections . OrderedDict ( ) # If also printing the rollup stats, build a full row-header if rollups : col = next ( iter ( viewvalues ( self . _data ) ) ) # Get a sample column lrows = len ( col [ 'data' ] ) # Cached rows being displayed d [ "" ] = [ "type" , "mins" , "mean" , "maxs" , "sigma" , "zeros" , "missing" ] + list ( map ( str , range ( lrows ) ) ) # For all columns... for k , v in viewitems ( self . _data ) : x = v [ 'data' ] # Data to display t = v [ "type" ] # Column type if t == "enum" : domain = v [ 'domain' ] # Map to cat strings as needed x = [ "" if math . isnan ( idx ) else domain [ int ( idx ) ] for idx in x ] elif t == "time" : x = [ "" if math . isnan ( z ) else time . strftime ( "%Y-%m-%d %H:%M:%S" , time . gmtime ( z / 1000 ) ) for z in x ] if rollups : # Rollups, if requested mins = v [ 'mins' ] [ 0 ] if v [ 'mins' ] and v [ "type" ] != "enum" else None maxs = v [ 'maxs' ] [ 0 ] if v [ 'maxs' ] and v [ "type" ] != "enum" else None #Cross check type with mean and sigma. Set to None if of type enum. if v [ 'type' ] == "enum" : v [ 'mean' ] = v [ 'sigma' ] = v [ 'zero_count' ] = None x = [ v [ 'type' ] , mins , v [ 'mean' ] , maxs , v [ 'sigma' ] , v [ 'zero_count' ] , v [ 'missing_count' ] ] + x d [ k ] = x # Insert into ordered-dict return tabulate . tabulate ( d , headers = "keys" , tablefmt = tablefmt )
Pretty tabulated string of all the cached data, and column names
Pretty tabulated string of all the cached data and column names