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/2795#issuecomment-709991825,https://api.github.com/repos/pydata/xarray/issues/2795,709991825,MDEyOklzc3VlQ29tbWVudDcwOTk5MTgyNQ==,38673295,2020-10-16T11:34:05Z,2020-10-16T11:34:05Z,NONE,"Hi, I also vote for this function, My typical use-case. There is some structure in 3D space and I need to ""flatten it"" to 2D. Let us say it is axially symetric so I assign R and Z coordinate to points (or r and theta in polar). And I want to simplify this using `interp`; however, it requuires unique coordinates. I have some solution here: https://stackoverflow.com/questions/51058379/drop-duplicate-times-in-xarray and adapted this into actuall function: ```python def distribure_uniform(ds, N_points=512): ds_theta = ds.sortby(""theta"").swap_dims({""idx"": ""theta""}) _, index = np.unique(ds_theta['theta'], return_index=True) ds_theta = ds_theta.isel(theta=index) ds_theta = ds_theta.interp( theta=np.linspace(ds.theta.min(), ds.theta.max(), N_points)) ds_theta = ds_theta.swap_dims({""theta"": ""idx""}) return ds_theta ``` In an idal case I would like to write something like this: ```python def distribure_uniform(ds, N_points=512): ds_theta= ds.unique(""theta"", sorted=False, sort=True) ds_theta = ds_theta.swap_dims({""idx"": ""theta""}) ds_theta = ds_theta.interp( theta=np.linspace(ds.theta.min(), ds.theta.max(), N_points)) ds_theta = ds_theta.swap_dims({""theta"": ""idx""}) return ds_theta ``` ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,415774106 https://github.com/pydata/xarray/issues/2795#issuecomment-469477745,https://api.github.com/repos/pydata/xarray/issues/2795,469477745,MDEyOklzc3VlQ29tbWVudDQ2OTQ3Nzc0NQ==,15331990,2019-03-05T00:01:58Z,2019-03-05T00:01:58Z,CONTRIBUTOR,"Right, it would return a 1D numpy or dask array. I suppose I'm used to simply typing pd.Series().unique() rather than np.unique(pd.Series()). I use it in for loops primarily. `for season in da['time.season'].unique():` vs `for season in np.unique(da['time.season'].data):` ","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,415774106 https://github.com/pydata/xarray/issues/2795#issuecomment-469153520,https://api.github.com/repos/pydata/xarray/issues/2795,469153520,MDEyOklzc3VlQ29tbWVudDQ2OTE1MzUyMA==,1217238,2019-03-04T07:58:23Z,2019-03-04T07:58:23Z,MEMBER,"What would `.unique()` return on xarray.DataArray? For consistency with pandas, I guess it would return a 1D numpy or dask array? I don't see a lot of value in adding this to xarray, given that all the xarray metadata gets lost by the `unique()` operation. You might as well just write `np.unique(my_data_array.data)`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,415774106