groupby_bins: exclude bin or assign bin with nan when bin has no values
See original GitHub issueWhen using groupby_bins there are cases where no values are found for some of the bins specified. Currently, it appears that in these cases, the bin is skipped, with no value neither a bin entry added to the output dataarray.
Is there a way to identify which bins have been skipped. Or preferably, is it possible to have an option to include those bins, but with nan values. This would make comparing two dataarrays easier in cases where despite the same bin intervals as inputs, the outputs result in dataarrays with different variable and coordinates lengths.
import xarray as xr
var = xr.open_dataset('c:\\users\\saveMWE.nc')
pop = xr.open_dataset('c:\\users\\savePOP.nc')
# binns includes very small bin to test this
binns = [-100, -50, 0, 50, 50.00001, 100]
binned = pop.p2010T.groupby_bins(var.EnsembleMean, binns).sum()
print binned
print binned.EnsembleMean_bins
In this case, no data falls in the 4th bin between 50 and 50.00001.
<xarray.DataArray 'p2010T' (EnsembleMean_bins: 4)>
array([ 2.64352214e+09, 3.46869168e+09, 3.08998110e+08,
1.48247440e+07])
Coordinates:
* EnsembleMean_bins (EnsembleMean_bins) object '(0, 50]' '(-50, 0]' ...
<xarray.DataArray 'EnsembleMean_bins' (EnsembleMean_bins: 4)>
array(['(0, 50]', '(-50, 0]', '(51, 100]', '(-100, -50]'], dtype=object)
Obviously one can count the lengths but this doesn’t indicate which bin was skipped. An option to include the empty bin with a nan value would be useful! Thanks
Issue Analytics
- State:
- Created 7 years ago
- Comments:10 (5 by maintainers)
Top GitHub Comments
As for the empty bins, I can see how this would be useful. I suppose it is a bug. Curious what @shoyer thinks about this case…
@rabernat @shoyer thank you very much - (at least for my purposes) this appears to be working well.