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/pull/6665#issuecomment-1187594857,https://api.github.com/repos/pydata/xarray/issues/6665,1187594857,IC_kwDOAMm_X85GyUJp,14371165,2022-07-18T14:48:17Z,2022-07-18T14:48:17Z,MEMBER,Thanks @headtr1ck !,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1261153511 https://github.com/pydata/xarray/pull/6665#issuecomment-1154368202,https://api.github.com/repos/pydata/xarray/issues/6665,1154368202,IC_kwDOAMm_X85EzkLK,5635139,2022-06-13T19:54:41Z,2022-06-13T19:54:41Z,MEMBER,"Yes great, let's merge this. > And then open another issue on how to procede with rename in light of the index refactor? Great! --- Then two main options I see for synthesizing the vars issues: - `rename` operates on DataArray as described in https://github.com/pydata/xarray/pull/6665#issuecomment-1150810485. Generally I'm less keen on ""different types have different semantics"", and here a positional arg would mean a DataArray rename, and kwarg would mean var rename. But it does work locally to DataArray quite well. - `rename` only exists on DataArrays for the name of the DataArray, and we use `rename_vars` & `rename_dims` for both DataArrays & Datasets. So `Dataset.rename` is soft-deprecated. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1261153511 https://github.com/pydata/xarray/pull/6665#issuecomment-1152983813,https://api.github.com/repos/pydata/xarray/issues/6665,1152983813,IC_kwDOAMm_X85EuSMF,14808389,2022-06-11T19:11:15Z,2022-06-11T19:11:15Z,MEMBER,"> Would this also rename the coord associated with the dim? To decide that we probably need to figure out what the role of a dimension will be after the index refactor. Before the refactor, we needed to rename the dimension coordinate along with the dimension to keep the index, but now that indexes are independent of dimensions it might be fine not to do that.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1261153511 https://github.com/pydata/xarray/pull/6665#issuecomment-1152977928,https://api.github.com/repos/pydata/xarray/issues/6665,1152977928,IC_kwDOAMm_X85EuQwI,5635139,2022-06-11T18:32:14Z,2022-06-11T18:32:14Z,MEMBER,"@keewis v interesting suggestion — the object name as positional and vars as kwargs. As I think was mentioned above, one choice is whether a kwarg with the name of the object renames the object. I would worry it's slightly ambiguous. And potentially not additive. WDYT? > a `rename_dims` method This could be good. Would this also rename the coord associated with the dim?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1261153511 https://github.com/pydata/xarray/pull/6665#issuecomment-1150810485,https://api.github.com/repos/pydata/xarray/issues/6665,1150810485,IC_kwDOAMm_X85El_l1,14808389,2022-06-09T08:10:57Z,2022-06-09T11:32:11Z,MEMBER,"> We do want it to be fluent though, so it can be directly on the `DataArray`, otherwise you can't do: I was referring to the concept rather than the method. The idea is that you can refer to the `DataArray` by positional or by name, and the method takes either a single string or a `dict` mapping old names to new names, also with a kwargs version (the merging happens with `either_dict_or_kwargs`). That would mean these all do the same thing: ```python a = xr.DataArray([0, 1, 2], dims=""x"") a.rename(""new"") a.rename({None: ""new""}) # None is the current name b = xr.DataArray([0, 1, 2], dims=""x"", name=""b"") b.rename(""new"") b.rename(b=""new"") # b is the current name # with coords c = xr.DataArray([0, 1, 2], dims=""x"", coords={""x"": [""a"", ""b"", ""c""]}, name=""c"") c.rename(""new"", x=""y"") c.rename(c=""new"", x=""y"") c.rename({""c"": ""new"", ""x"": ""y""}) # providing both the `dict` and the kwargs raises ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1261153511 https://github.com/pydata/xarray/pull/6665#issuecomment-1150582510,https://api.github.com/repos/pydata/xarray/issues/6665,1150582510,IC_kwDOAMm_X85ElH7u,5635139,2022-06-09T01:45:57Z,2022-06-09T01:46:07Z,MEMBER,"> in `pint-xarray` we have the `.pint.to` method which uses a very similar concept, maybe it is worth copying that for `rename`? We do want it to be fluent though, so it can be directly on the `DataArray`, otherwise you can't do: ```python ( da .rename(...) .sum(...) ) ```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1261153511 https://github.com/pydata/xarray/pull/6665#issuecomment-1150469696,https://api.github.com/repos/pydata/xarray/issues/6665,1150469696,IC_kwDOAMm_X85EksZA,14808389,2022-06-08T22:17:29Z,2022-06-08T22:17:29Z,MEMBER,"in `pint-xarray` we have the `.pint.to` method which uses a very similar concept, maybe it is worth copying that for `rename`?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1261153511 https://github.com/pydata/xarray/pull/6665#issuecomment-1150438146,https://api.github.com/repos/pydata/xarray/issues/6665,1150438146,IC_kwDOAMm_X85EkksC,5635139,2022-06-08T21:35:33Z,2022-06-08T21:35:33Z,MEMBER,"This seems like a nice improvement given the existing state. I've found the effort to specialize methods (e.g. `drop_var` vs. `drop_sel`) has been good, and we might want to extend this principle. With the proposed code: - renaming a coord on a `DataArray` is `rename` - renaming a coord on a `Dataset` is `rename_vars` ...which is not ideal, though might be the best tradeoff. WDYT @headtr1ck ? Or any other thoughts from others?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1261153511