<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _reshape_data(self, new_size, bin_map, axis=0):
 """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 """

        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