I have an xarray dataset with three separate 4x4 matrices, currently filled with random values.
I can mask out each 4x4 matrix so that all values which are equal to zero are nan, and I would like to replace those nan values with the value from the next matrix down.
This will eventually be expanded to very large arrays of satellite imagery so I can perform searches and create imagery based off the "last best pixel". Below is the code I'm currently using for reference:
import numpy as np
import xarray as xr
dval = np.random.randint(5,size=[3,4,4])
x = [0,1,2,3]
y = [0,1,2,3]
time = ['2017-10-13','2017-10-12','2017-10-11']
a = xr.DataArray(dval,coords=[time,x,y],dims=['time','x','y'])
a = a.where(a > 0)
b = a.sel(time = time[0]).to_masked_array()
What I'd like to do is have any values masked False in b be replaced with values from the 4x4 matrix corresponding to '2017-10-12'. Any help with this would be greatly appreciated.