code: def dict(self):
          
  
          try:
              skewness = self.skewness
              kurtosis = self.kurtosis
          except ZeroDivisionError:
              skewness = kurtosis = float('nan')
  
          base_cols = [
              ('name', self.column_name),
              ('flags', self.flags),
              ('type', self.type.__name__ ),
              ('lom', self.lom),
              ('count', self.n),
              ('nuniques', self.nuniques),
              ('width', self.size),
          ]
  
          descriptive_cols = [
              ('mean', self.mean),
              ('std', self.stddev),
              ('min', self.min),
              ('p25', self.p25),
              ('p50', self.p50),
              ('p75', self.p75),
              ('max', self.max)
          ]
  
          distribution_cols = [
              ('skewness', skewness),
              ('kurtosis', kurtosis),
              ('hist', self.bins),
              ('text_hist', text_hist(self.bins)),
          ]
  
          sample_values_cols = [
              ('uvalues', self.uvalues)
          ]
  
          return OrderedDict(
             base_cols +
             (descriptive_cols if self.descriptive else []) +
             (distribution_cols if self.distribution else []) +
             (sample_values_cols if self.sample_values else [])
          )
docs: Return a  dict that can be passed into the ColumnStats constructor