home / github

Menu
  • GraphQL API
  • Search all tables

issue_comments

Table actions
  • GraphQL API for issue_comments

4 rows where issue = 245468219 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: created_at (date), updated_at (date)

user 3

  • shoyer 2
  • floriankrb 1
  • tondieker 1

author_association 3

  • MEMBER 2
  • CONTRIBUTOR 1
  • NONE 1

issue 1

  • `axis` keyword ignored when applying `np.squeeze` to `DataArray` · 4 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions performed_via_github_app issue
366242783 https://github.com/pydata/xarray/issues/1487#issuecomment-366242783 https://api.github.com/repos/pydata/xarray/issues/1487 MDEyOklzc3VlQ29tbWVudDM2NjI0Mjc4Mw== floriankrb 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
}
  `axis` keyword ignored when applying `np.squeeze` to `DataArray` 245468219
318119534 https://github.com/pydata/xarray/issues/1487#issuecomment-318119534 https://api.github.com/repos/pydata/xarray/issues/1487 MDEyOklzc3VlQ29tbWVudDMxODExOTUzNA== shoyer 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
}
  `axis` keyword ignored when applying `np.squeeze` to `DataArray` 245468219
318110051 https://github.com/pydata/xarray/issues/1487#issuecomment-318110051 https://api.github.com/repos/pydata/xarray/issues/1487 MDEyOklzc3VlQ29tbWVudDMxODExMDA1MQ== tondieker 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.DataArrays behave the same as numpy.ndarrays 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
}
  `axis` keyword ignored when applying `np.squeeze` to `DataArray` 245468219
317871442 https://github.com/pydata/xarray/issues/1487#issuecomment-317871442 https://api.github.com/repos/pydata/xarray/issues/1487 MDEyOklzc3VlQ29tbWVudDMxNzg3MTQ0Mg== shoyer 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 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
}
  `axis` keyword ignored when applying `np.squeeze` to `DataArray` 245468219

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issue_comments] (
   [html_url] TEXT,
   [issue_url] TEXT,
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [created_at] TEXT,
   [updated_at] TEXT,
   [author_association] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [performed_via_github_app] TEXT,
   [issue] INTEGER REFERENCES [issues]([id])
);
CREATE INDEX [idx_issue_comments_issue]
    ON [issue_comments] ([issue]);
CREATE INDEX [idx_issue_comments_user]
    ON [issue_comments] ([user]);
Powered by Datasette · Queries took 6006.11ms · About: xarray-datasette