Keep index dimension when selecting only a single coord #3458
Open
Description
MCVE Code Sample
# Your code here
import numpy as np
import xarray as xr
data = np.zeros((10, 4))
example_xr = xr.DataArray(data, coords=[range(10), ["idx0", "idx1", "idx2", "dim3"]], dims=["rows", "cols"])
# desired behavior
subset = example_xr[:, 1:2]
subset.shape
# inclusive indexing means both idx1 and idx2 kept
subset_named1 = example_xr.loc[:, "idx1":"idx2"]
subset_named1.shape
# slicing behavior means that 2nd dimension is dropped
subset_named2 = example_xr.loc[:, "idx1"]
subset_named2.shape
Expected Output
I'd like to be able to use named .loc indexing to select only a single named coord from one dimension, but not have that dimension collapse when subsetting.
Problem Description
I looked, but wasn't able to find anything in the documentation about how to perform this same action using named coords. It works with integer-based slicing.
Output of xr.show_versions()
# Paste the output here xr.show_versions() here