class_docstr: Move a chunk for a position to another in an array
code: def _apply_array(self, arrays: tp.Sequence[np.ndarray]) -> np.ndarray:
      assert len(arrays) == 1
      data = arrays[0]
      L = data.shape[self.axis]
      size = self.random_state.randint(1, self.size)
      asdata = AxisSlicedArray(data, self.axis)
      init = self.random_state.randint(L)
      chunck = asdata[init : init + size]
      remain: np.ndarray = np.concatenate(
          [asdata[:init], asdata[init + size :]], axis=self.axis
      )
      # pylint: disable=unsubscriptable-object
      newpos = self.random_state.randint(remain.shape[self.axis])
      asremain = AxisSlicedArray(remain, self.axis)
      return np.concatenate(
          [asremain[:newpos], chunck, asremain[newpos:]], axis=self.axis
      )
  
imports: import typing
  import numpy
  from .None import core
  from .None import transforms
  from .data import Data, Scalar
  from .choice import Choice
  from .None import _layering
label_desc: Use image node_id 5 for calling the Jumping obj's underlying member method code with example usage: obj._apply_array(arrays) and returns: np