code: def validate_data_columns(self, data_columns, min_itemsize):
          
  
          if not len(self.non_index_axes):
              return []
  
          axis, axis_labels = self.non_index_axes[0]
          info = self.info.get(axis, dict())
          if info.get('type') == 'MultiIndex' and data_columns:
              raise ValueError("cannot use a multi-index on axis [{0}] with "
                               "data_columns {1}".format(axis, data_columns))
  
          # evaluate the passed data_columns, True == use all columns
          # take only valide axis labels
          if data_columns is True:
              data_columns = list(axis_labels)
          elif data_columns is None:
              data_columns = []
  
          # if min_itemsize is a dict, add the keys (exclude 'values')
          if isinstance(min_itemsize, dict):
  
              existing_data_columns = set(data_columns)
              data_columns.extend([
                  k for k in min_itemsize.keys()
                  if k != 'values' and k not in existing_data_columns
              ])
  
          # return valid columns in the order of our axis
          return [c for c in data_columns if c in axis_labels]
docs: take the input data_columns and min_itemize and create a data
          columns spec