issues: 1235725650
This data as json
id | node_id | number | title | user | state | locked | assignee | milestone | comments | created_at | updated_at | closed_at | author_association | active_lock_reason | draft | pull_request | body | reactions | performed_via_github_app | state_reason | repo | type |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1235725650 | I_kwDOAMm_X85Jp61S | 6607 | Coordinate promotion workaround broken | 20629530 | closed | 0 | 4160723 | 4 | 2022-05-13T21:20:25Z | 2022-09-27T09:33:41Z | 2022-09-27T09:33:41Z | CONTRIBUTOR | What happened?Ok so this one is a bit weird. I'm not sure this is a bug, but code that worked before doesn't anymore, so it is some sort of regression. I have a dataset with one dimension and one coordinate along that one, but they have different names. I want to transform this so that the coordinate name becomes the dimension name so it becomes are proper dimension-coordinate (I don't know how to call it). After renaming the dim to the coord's name, it all looks good in the repr, but the coord still is missing an Instead, the last line of the MCVE downgrades the variable, the final What did you expect to happen?In the MCVE below, I show what the old "workaround" was. I expected Minimal Complete Verifiable Example```Python import xarray as xr A dataset with a 1d variable along a dimensionds = xr.Dataset({'lon': xr.DataArray([1, 2, 3], dims=('x',))}) Promote to coord. This still is not a proper crd-dim (different name)ds = ds.set_coords(['lon']) Rename dim:ds = ds.rename(x='lon') Now do we have a proper coord-dim ? No. not yet because:ds.indexes # is empty Workaround that was used up to the last releaselon = ds.lon.reset_coords(drop=True) Because of the missing indexes the next line fails on the masterlon - lon.diff('lon') ``` MVCE confirmation
Relevant log outputNo response Anything else we need to know?My guess is that this line is causing It would be nice if the renaming was sufficient for the indexes to appear. My example is weird I know. The real use case is a script where we receive a 2d coordinate but where all lines are the same, so we take the first line and promote it to a proper coord-dim. But the current code fails on the master on the Environment
INSTALLED VERSIONS
------------------
commit: None
python: 3.9.12 | packaged by conda-forge | (main, Mar 24 2022, 23:22:55)
[GCC 10.3.0]
python-bits: 64
OS: Linux
OS-release: 5.13.19-2-MANJARO
machine: x86_64
processor:
byteorder: little
LC_ALL: None
LANG: fr_CA.UTF-8
LOCALE: ('fr_CA', 'UTF-8')
libhdf5: None
libnetcdf: None
xarray: 2022.3.1.dev104+gc34ef8a6
pandas: 1.4.2
numpy: 1.22.2
scipy: 1.8.0
netCDF4: None
pydap: installed
h5netcdf: None
h5py: None
Nio: None
zarr: None
cftime: 1.5.2
nc_time_axis: None
PseudoNetCDF: None
rasterio: None
cfgrib: None
iris: None
bottleneck: None
dask: 2022.02.1
distributed: 2022.2.1
matplotlib: None
cartopy: None
seaborn: None
numbagg: None
fsspec: 2022.3.0
cupy: None
pint: None
sparse: 0.13.0
setuptools: 59.8.0
pip: 22.0.3
conda: None
pytest: 7.0.1
IPython: 8.3.0
sphinx: None
|
{ "url": "https://api.github.com/repos/pydata/xarray/issues/6607/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | 13221727 | issue |