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/5091#issuecomment-813520134,https://api.github.com/repos/pydata/xarray/issues/5091,813520134,MDEyOklzc3VlQ29tbWVudDgxMzUyMDEzNA==,1217238,2021-04-05T17:27:49Z,2021-04-05T17:27:49Z,MEMBER,Let's sort out `drop_duplicates` (https://github.com/pydata/xarray/pull/5089) first. I imagine `unique()` could be a special case of the exact same logic.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,843961481
https://github.com/pydata/xarray/pull/5091#issuecomment-813133441,https://api.github.com/repos/pydata/xarray/issues/5091,813133441,MDEyOklzc3VlQ29tbWVudDgxMzEzMzQ0MQ==,15331990,2021-04-05T01:14:52Z,2021-04-05T01:15:51Z,CONTRIBUTOR,"What if we added coordinates/dims to it and it returns a stacked dimension if multiple dims?
```
def unique(da):
da_stack = da.stack({'tmp_dim': da.dims})
_, index = np.unique(da_stack.values, return_index=True)
return da_stack.isel({'tmp_dim': index})
da = xr.DataArray([[[0, 1, 1], [2, 3, 4], [4, 5, 6]], [[7, 8, 9], [10, 11, 12], [13, 14, 15]]],
coords={'lat': [0, 1, 2], 'lon': [4, 5, 6], 'time': [7, 8]}, dims=['time', 'lat', 'lon'])
unique(da) # would be da.unique()
```
Then users can use `da.unique().unstack()` if they like.

","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,843961481
https://github.com/pydata/xarray/pull/5091#issuecomment-812108370,https://api.github.com/repos/pydata/xarray/issues/5091,812108370,MDEyOklzc3VlQ29tbWVudDgxMjEwODM3MA==,1217238,2021-04-01T19:00:13Z,2021-04-01T19:00:13Z,MEMBER,"> > We don't have precedent for methods that return a numpy array. But it's unclear what xarray object this would return.
>
> There is a precedent in xarray (it might be the only one):
>
> ```
> In [2]: xr.DataArray([1,2,3,4,5]).searchsorted([-10, 10, 2, 3])
> Out[2]: array([0, 5, 1, 2])
> ```
I think `searchsorted` was probably a mistake from the very early days of Xarray.
I would lean against adding `unique`. These functions are very short to write (and thus easy to reproduce in user code), so it's not clear that the cost/benefit is worth it.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,843961481
https://github.com/pydata/xarray/pull/5091#issuecomment-811306431,https://api.github.com/repos/pydata/xarray/issues/5091,811306431,MDEyOklzc3VlQ29tbWVudDgxMTMwNjQzMQ==,32801740,2021-03-31T18:20:30Z,2021-03-31T21:40:58Z,CONTRIBUTOR,"> We don't have precedent for methods that return a numpy array. But it's unclear what xarray object this would return.
There is a precedent in xarray (it might be the only one):
```
In [2]: xr.DataArray([1,2,3,4,5]).searchsorted([-10, 10, 2, 3])
Out[2]: array([0, 5, 1, 2])
```
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,843961481
https://github.com/pydata/xarray/pull/5091#issuecomment-811208778,https://api.github.com/repos/pydata/xarray/issues/5091,811208778,MDEyOklzc3VlQ29tbWVudDgxMTIwODc3OA==,5635139,2021-03-31T16:26:39Z,2021-03-31T16:26:55Z,MEMBER,"Thank you for the PR @ahuang11 !
What are people's thoughts?
We don't have precedent for methods that return a numpy array. But it's unclear what xarray object this would return. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,843961481