# xarray.DataArray.shift

`DataArray.``shift`(shifts: Mapping[Hashable, int] = None, fill_value: Any = <NA>, **shifts_kwargs) → xarray.core.dataarray.DataArray

  Shift this array by an offset along one or more dimensions.

  Only the data is moved; coordinates stay in place. Values shifted from beyond array bounds are replaced by NaN. This is consistent with the behavior of `shift` in pandas.

  Parameters:

  - shifts (Mapping with the form of {dim: offset}) – Integer offset to shift along each of the given dimensions. Positive offsets shift to the right; negative offsets shift to the left.
  - fill_value (scalar, optional) – Value to use for newly missing values
  - **shifts_kwargs – The keyword arguments form of `shifts`. One of shifts or shifts_kwargs must be provided.

  Returns: | shifted – DataArray with the same coordinates and attributes but shifted data.
  Return type: | DataArray

  See also

  `roll()`

  Examples

      >>> arr = xr.DataArray([5, 6, 7], dims='x')
      >>> arr.shift(x=1)
      <xarray.DataArray (x: 3)>
      array([ nan,   5.,   6.])
      Coordinates:
        * x        (x) int64 0 1 2