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/2292#issuecomment-722565840,https://api.github.com/repos/pydata/xarray/issues/2292,722565840,MDEyOklzc3VlQ29tbWVudDcyMjU2NTg0MA==,22542812,2020-11-05T18:41:24Z,2020-11-05T18:41:24Z,NONE,"I just came along this question as I tried something similar to @joshburkart. Using a string-enum instead, the code works in principle:
```python
import enum
import numpy as np
import pandas as pd
import xarray as xr
class CoordId(str, enum.Enum):
LAT = 'lat'
LON = 'lon'
pd.DataFrame({CoordId.LAT: [1,2,3]}).to_csv()
# Returns: ',CoordId.LAT\n0,1\n1,2\n2,3\n'
xr.DataArray(
data=np.arange(3 * 2).reshape(3, 2),
coords={CoordId.LAT: [1, 2, 3], CoordId.LON: [7, 8]},
dims=[CoordId.LAT, CoordId.LON],
)
# output
#
# array([[0, 1],
# [2, 3],
# [4, 5]])
# Coordinates:
# * lat (CoordId.LAT) int64 1 2 3
# * lon (CoordId.LON) int64 7 8
```
We however got somewhat ambivalent results, that the dimensions are still enum elements `dims = (, )`, but the coordinate names are the strings. After writing and reading the `DataArray`, everything is a plain string, we can still access the elements using the enum elements, as they are equal to the strings.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,341643235