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/1487#issuecomment-366242783,https://api.github.com/repos/pydata/xarray/issues/1487,366242783,MDEyOklzc3VlQ29tbWVudDM2NjI0Mjc4Mw==,8441217,2018-02-16T14:01:20Z,2018-02-16T14:01:20Z,CONTRIBUTOR,"Yes, @shoyer is right : Looking at the numpy code, this array.squeeze(axis) -> array.squeeze() is happening.
```
1256 try:
1257 # First try to use the new axis= parameter
1258 return squeeze(axis=axis)
1259 except TypeError:
1260 # For backwards compatibility
1261 return squeeze()
```
I added the `axis` parameter in xarray and this fixed the problem.
```
PYTHONPATH=$HOME/sandbox/dev/xarray python -c 'import numpy as np ; import xarray as xr ; test = np.random.random((1,10,1)) ; print(np.squeeze(test, axis=0).shape); print(np.squeeze(xr.DataArray(test), axis=0).shape, np.__version__, xr.__version__) '
(10, 1)
(10, 1) 1.13.1 0.10.0+dev64.gd554ece
```
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,245468219
https://github.com/pydata/xarray/issues/1487#issuecomment-318119534,https://api.github.com/repos/pydata/xarray/issues/1487,318119534,MDEyOklzc3VlQ29tbWVudDMxODExOTUzNA==,1217238,2017-07-26T17:08:12Z,2017-07-26T17:08:12Z,MEMBER,"> I was under the impression that xarray.DataArrays behave the same as numpy.ndarrays when applying numpy functions, so that I didn't have to change any of my code.
We do attempt to make this work when feasible, but unfortunately it isn't always the case. In this case I do think this is doable, so I'm marking this issue as ""Contributions welcome.""","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,245468219
https://github.com/pydata/xarray/issues/1487#issuecomment-318110051,https://api.github.com/repos/pydata/xarray/issues/1487,318110051,MDEyOklzc3VlQ29tbWVudDMxODExMDA1MQ==,25275251,2017-07-26T16:35:45Z,2017-07-26T16:35:45Z,NONE,"Yes, I did realize there are workarounds and `DataArray.squeeze()` is the preferred one.
In my mind this is a kind of incompatibility problem and it would be nice to fix this. I had existing numpy code, and later decided to add dimension and coordinate labels using `xarray`. I was under the impression that `xarray.DataArray`s behave the same as `numpy.ndarray`s when applying numpy functions, so that I didn't have to change any of my code.
At least for `np.squeeze` this is not the case. Perhaps there are other functions for which a similar issue arises. If you don't think this kind of compatibility is desired then it would be good to address this in the documentation.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,245468219
https://github.com/pydata/xarray/issues/1487#issuecomment-317871442,https://api.github.com/repos/pydata/xarray/issues/1487,317871442,MDEyOklzc3VlQ29tbWVudDMxNzg3MTQ0Mg==,1217238,2017-07-25T21:02:59Z,2017-07-25T21:02:59Z,MEMBER,"This is (somewhat) expected. Basically, you should use the `DataArray.squeeze()` method instead.
The long story is that some but not all NumPy functions define themselves by (attempting) to call methods, e.g., `np.squeeze(array)` -> `array.squeeze()`.
`squeeze` is a special and somewhat surprising case. [Apparently](https://github.com/numpy/numpy/blob/v1.13.0/numpy/core/fromnumeric.py#L1143-L1201) `np.squeeze(array, axis)` -> `array.squeeze(axis)` -> `array.squeeze()` if the `axis` argument isn't handled. But we didn't bother to define an `axis` argument for `DataArray.squeeze()`, so this results in an error.
I suppose we could fix this by defining an `axis` argument, like we do for some methods like `.mean()`. But the short answer is that using xarray methods should be preferred.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,245468219