docs: def get_statistics(ds, methods=None, features=None):
      """Compute statistics for an RT-DC dataset
  
      Parameters
      ----------
      ds: dclab.rtdc_dataset.RTDCBase
          The dataset for which to compute the statistics.
      methods: list of str or None
          The methods wih which to compute the statistics.
          The list of available methods is given with
          `dclab.statistics.Statistics.available_methods.keys()`
          If set to `None`, statistics for all methods are computed.
      features: list of str
          Feature name identifiers are defined in
          `dclab.definitions.scalar_feature_names`.
          If set to `None`, statistics for all axes are computed.
  
      Returns
      -------
      header: list of str
          The header (feature + method names) of the computed statistics.
      values: list of float
          The computed statistics.
      """
      if methods is None:
          cls = list(Statistics.available_methods.keys())
          # sort the features in a usable way
          avm = Statistics.available_methods
          me1 = [m for m in cls if not avm[m].req_feature]
          me2 = [m for m in cls if avm[m].req_feature]
          methods = me1 + me2
  
      if features is None:
          features = dfn.scalar_feature_names
      else:
          features = [a.lower() for a in features]
  
      header = []
      values = []
  
      # To make sure that all methods are computed for each feature in a block,
      # we loop over all features. It would be easier to loop over the methods,
      # but the resulting statistics would not be human-friendly.
      for ft in features:
          for mt in methods:
              meth = Statistics.available_methods[mt]
              if meth.req_feature:
                  if ft in ds:
                      values.append(meth(ds=ds, feature=ft))
                  else:
                      values.append(np.nan)
                  header.append(" ".join([mt, dfn.feature_name2label[ft]]))
              else:
                  # Prevent multiple entries of this method.
                  if not header.count(mt):
                      values.append(meth(ds=ds))
                      header.append(mt)
  
      return header, values