code: def _store(
      results,
      key_name,
      array,
      n_splits,
      n_candidates,
      weights=None,
      splits=False,
      rank=False,
  ):
      
      # When iterated first by n_splits and then by parameters
      array = np.array(array, dtype=np.float64).reshape(n_splits, n_candidates).T
      if splits:
          for split_i in range(n_splits):
              results["split%d_%s" % (split_i, key_name)] = array[:, split_i]
  
      array_means = np.average(array, axis=1, weights=weights)
      results["mean_%s" % key_name] = array_means
      # Weighted std is not directly available in numpy
      array_stds = np.sqrt(
          np.average((array - array_means[:, np.newaxis]) ** 2, axis=1, weights=weights)
      )
      results["std_%s" % key_name] = array_stds
  
      if rank:
          results["rank_%s" % key_name] = np.asarray(
              rankdata(-array_means, method="min"), dtype=np.int32
          )
docs: A small helper to store the scores/times to the cv_results_