set_nodata#

set_nodata(xda: xarray.core.dataarray.DataArray, nodata_val: Union[float, int]) xarray.core.dataarray.DataArray[source]#

Set nodata to a xarray that have no default nodata value.

In the data array, the no data will be set to np.nan. The encoded value can be retrieved with xda.rio.encoded_nodata.

>>> A = xr.DataArray(dims=("x", "y"), data=np.zeros((3,3), dtype=np.uint8))
>>> A[0, 0] = 1
<xarray.DataArray (x: 3, y: 3)>
array([[1, 0, 0],
       [0, 0, 0],
       [0, 0, 0]], dtype=uint8)
Dimensions without coordinates: x, y

>>> A_nodata = set_nodata(A, 0)
<xarray.DataArray (x: 3, y: 3)>
array([[ 1., nan, nan],
       [nan, nan, nan],
       [nan, nan, nan]])
Dimensions without coordinates: x, y
Parameters
  • xda (xr.DataArray) – DataArray

  • nodata_val (Union[float, int]) – Nodata value

Returns

DataArray with nodata set

Return type

xr.DataArray