home / github

Menu
  • GraphQL API
  • Search all tables

issue_comments

Table actions
  • GraphQL API for issue_comments

5 rows where issue = 374460958 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

  • czr137 2
  • TomNicholas 2
  • shoyer 1

author_association 2

  • MEMBER 3
  • CONTRIBUTOR 2

issue 1

  • Treat accessor dataarrays as members of parent dataset · 5 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions performed_via_github_app issue
436062784 https://github.com/pydata/xarray/issues/2517#issuecomment-436062784 https://api.github.com/repos/pydata/xarray/issues/2517 MDEyOklzc3VlQ29tbWVudDQzNjA2Mjc4NA== czr137 6153603 2018-11-05T22:40:46Z 2018-11-05T22:40:46Z CONTRIBUTOR

I think #2298 is what I'm really waiting for and would solve the use cases I listed above. I'll have no trouble using the accessor methods in the time being. Thanks, @shoyer

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Treat accessor dataarrays as members of parent dataset 374460958
435532247 https://github.com/pydata/xarray/issues/2517#issuecomment-435532247 https://api.github.com/repos/pydata/xarray/issues/2517 MDEyOklzc3VlQ29tbWVudDQzNTUzMjI0Nw== shoyer 1217238 2018-11-02T22:54:19Z 2018-11-02T22:54:19Z MEMBER

I think the cleanest way to do this in the long term would be to combine some sort of "lazy array" object with caching, e.g., along the lines of what's described in https://github.com/pydata/xarray/issues/2298. I'm not sure what the best solution in the short-term is, though.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Treat accessor dataarrays as members of parent dataset 374460958
434861750 https://github.com/pydata/xarray/issues/2517#issuecomment-434861750 https://api.github.com/repos/pydata/xarray/issues/2517 MDEyOklzc3VlQ29tbWVudDQzNDg2MTc1MA== TomNicholas 35968931 2018-10-31T21:56:11Z 2018-10-31T21:56:11Z MEMBER

That's true, but unless you start subclassing dataset then isn't that always going to be the case?

You have some quantity which you can only calculate with either a function or an accessor method on the dataset, wouldn't you need to alter the __getitem__ method on the dataset object (or some subclass of it) in order to get the behaviour you're describing?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Treat accessor dataarrays as members of parent dataset 374460958
434857661 https://github.com/pydata/xarray/issues/2517#issuecomment-434857661 https://api.github.com/repos/pydata/xarray/issues/2517 MDEyOklzc3VlQ29tbWVudDQzNDg1NzY2MQ== czr137 6153603 2018-10-31T21:40:46Z 2018-10-31T21:40:46Z CONTRIBUTOR

The only problem I see with this is that actual.acc.altitude must be called before actual.altitude, otherwise it will result in the data_var being used before it is created.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Treat accessor dataarrays as members of parent dataset 374460958
434646452 https://github.com/pydata/xarray/issues/2517#issuecomment-434646452 https://api.github.com/repos/pydata/xarray/issues/2517 MDEyOklzc3VlQ29tbWVudDQzNDY0NjQ1Mg== TomNicholas 35968931 2018-10-31T11:05:18Z 2018-10-31T11:05:18Z MEMBER

If you want to return your newly-calculated altitude and also have it be a full data_var in your dataset, one way would be to just alter the original dataset in-place. Something like

```python

import xarray as xr import pandas as pd import xarray.testing as xrt

@xr.register_dataset_accessor('acc') class Accessor(object): def init(self, xarray_ds): self._ds = xarray_ds self._altitude = None

@property
def altitude(self):
    """ An expensive calculation that results in data that not everyone needs. """
    if self._altitude is None:
        self._altitude = xr.DataArray([5, 10, 15, 20, 25],
                                      coords=[('time', self._ds.time)])

        # Here we add the calculated altitude to the dataset as a new data variable
        self._ds['altitude'] = self._altitude

    # Return just the altitude dataarray
    return self._altitude

expected = xr.Dataset({'data': (['time'], [100, 30, 10, 3, 1]), 'altitude': (['time'], [5, 10, 15, 20, 25])}, coords={'time': pd.date_range('2014-09-06', periods=5, freq='1s')})

actual = xr.Dataset({'data': (['time'], [100, 30, 10, 3, 1])}, coords={'time': pd.date_range('2014-09-06', periods=5, freq='1s')})

Return newly-calculated altitude, but also store it in the actual dataset for later

altitude = actual.acc.altitude

Check that worked

xrt.assert_equal(actual, expected) xrt.assert_equal(actual['altitude'], actual.acc.altitude) ```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Treat accessor dataarrays as members of parent dataset 374460958

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 11.309ms · About: xarray-datasette