html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/issues/2028#issuecomment-1146877847,https://api.github.com/repos/pydata/xarray/issues/2028,1146877847,IC_kwDOAMm_X85EW_eX,5347026,2022-06-05T20:24:20Z,2022-06-05T20:24:20Z,NONE,"> I agree this is harder that it should be. > > Here's one way: > > ```python > In [28]: a.where(a.currency=='EUR', drop=True) > Out[28]: > > array([20., 30.]) > Coordinates: > * country (country) currency (country) ``` > > I'm not sure whether `.sel` should work for non-`IndexVariables` - thoughts? @max-sixty , perhaps there is any update on OPs question or maybe you can help to achieve the following? I would like `sel based on a non-dim coordinate` to be as fast as `sel based on the dim itself`. Timings: ```python # sel based on a non-dim coordinate # (using this coordinate directly .sel(product_id=26) would result in error ""'no index found for coordinate product_id"") %timeit xds.sel(product=xds.product_id==26) 1.54 ms ± 64.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each) # sel based on the dim itself %timeit xds.sel(product='GN91 Glove Medium') 499 µs ± 16.1 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each) %timeit xds.where(xds.product_id==26, drop=True) 4.17 ms ± 39 µs per loop (mean ± std. dev. of 7 runs, 100 loops each) ``` Anyways, _xarray_ is brilliant and made my week :)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,309691307