code: def _reshape_data(self, new_size, bin_map, axis=0):
          
          if bin_map is None:
              return
          else:
              new_shape = list(self.shape)
              new_shape[axis] = new_size
              new_frequencies = np.zeros(new_shape, dtype=self._frequencies.dtype)
              new_errors2 = np.zeros(new_shape, dtype=self._frequencies.dtype)
              self._apply_bin_map(
                  old_frequencies=self._frequencies, new_frequencies=new_frequencies,
                  old_errors2=self._errors2, new_errors2=new_errors2,
                  bin_map=bin_map, axis=axis)
              self._frequencies = new_frequencies
              self._errors2 = new_errors2
docs: Reshape data to match new binning schema.
  
          Fills frequencies and errors with 0.
  
          Parameters
          ----------
          new_size: int
          bin_map: Iterable[(old, new)] or int or None
              If None, we can keep the data unchanged.
              If int, it is offset by which to shift the data (can be 0)
              If iterable, pairs specify which old bin should go into which new bin
          axis: int
              On which axis to apply