home / github

Menu
  • GraphQL API
  • Search all tables

issue_comments

Table actions
  • GraphQL API for issue_comments

12 rows where issue = 140214928 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

  • pwolfram 8
  • shoyer 2
  • jhamman 2

author_association 2

  • CONTRIBUTOR 8
  • MEMBER 4

issue 1

  • Adding cumsum / cumprod reduction operators · 12 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions performed_via_github_app issue
203969194 https://github.com/pydata/xarray/issues/791#issuecomment-203969194 https://api.github.com/repos/pydata/xarray/issues/791 MDEyOklzc3VlQ29tbWVudDIwMzk2OTE5NA== pwolfram 4295853 2016-03-31T14:40:48Z 2016-03-31T14:40:48Z CONTRIBUTOR

Please see https://github.com/pydata/xarray/pull/812 for the PR stub. Note, I still need to work on this when I get some time.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Adding cumsum / cumprod reduction operators 140214928
202513679 https://github.com/pydata/xarray/issues/791#issuecomment-202513679 https://api.github.com/repos/pydata/xarray/issues/791 MDEyOklzc3VlQ29tbWVudDIwMjUxMzY3OQ== pwolfram 4295853 2016-03-28T18:12:28Z 2016-03-28T18:12:28Z CONTRIBUTOR

Thanks @jhamman!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Adding cumsum / cumprod reduction operators 140214928
202510107 https://github.com/pydata/xarray/issues/791#issuecomment-202510107 https://api.github.com/repos/pydata/xarray/issues/791 MDEyOklzc3VlQ29tbWVudDIwMjUxMDEwNw== jhamman 2443309 2016-03-28T18:01:35Z 2016-03-28T18:01:35Z MEMBER

@pwolfram -

We all may have slightly different development workflows but mine goes something like this:

``` bash

checkout conda environment with xarray dependencies

source activate xarray_dev34

cd path_to_xarray

install xarray using setuptools develop option

python setup.py develop

make changes to source code

run test suite

py.test ```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Adding cumsum / cumprod reduction operators 140214928
202507482 https://github.com/pydata/xarray/issues/791#issuecomment-202507482 https://api.github.com/repos/pydata/xarray/issues/791 MDEyOklzc3VlQ29tbWVudDIwMjUwNzQ4Mg== pwolfram 4295853 2016-03-28T17:55:37Z 2016-03-28T17:55:37Z CONTRIBUTOR

@shoyer and @jhamman, I've started a branch to address this at https://github.com/pwolfram/xarray/tree/add_cumsum_cumprod, but there appear to be some other issues that may need resolved prior to this implementation, e.g., https://github.com/pydata/xarray/issues/807.

Also, 2 quick new developer questions:
1. Is there any easy way to do xarray development short of doing the ful xarray install via something like pip install --upgrade git+ssh://git@github.com/pwolfram/numpy@nancumsumprod?
2. How can I run the test suite (I'm thinking it may be something like python runtests.py -v for numpy)?

I suspect there is a simple way to do these things but would appreciate hearing about your workflows. Thanks!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Adding cumsum / cumprod reduction operators 140214928
195616194 https://github.com/pydata/xarray/issues/791#issuecomment-195616194 https://api.github.com/repos/pydata/xarray/issues/791 MDEyOklzc3VlQ29tbWVudDE5NTYxNjE5NA== shoyer 1217238 2016-03-12T00:33:11Z 2016-03-12T00:33:11Z MEMBER

Why not make a PR to add nancumsum and nancumprod to NumPy as well? Then it's pretty clear that a back-port in npcompat.py is appropriate. That's actually how nanprod ended up in NumPy :).

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Adding cumsum / cumprod reduction operators 140214928
195611382 https://github.com/pydata/xarray/issues/791#issuecomment-195611382 https://api.github.com/repos/pydata/xarray/issues/791 MDEyOklzc3VlQ29tbWVudDE5NTYxMTM4Mg== pwolfram 4295853 2016-03-12T00:09:15Z 2016-03-12T00:09:15Z CONTRIBUTOR

@shoyer, should a custom version supporting nans be implemented too? I think that is more useful for my immediate needs and it would be good to have both options for completeness. However, it will be somewhat of a hack and involve adding nancumsum and nancumprod functions to npcompat.py. Note, however, that these are not standard numpy functions, even in known future versions, so I'm concerned this change falls into the "hack" category. This being said, implementation of the standard numpy functions would still be useful and the nans case could be handled at the application level.

Can you provide some perspective on what you would be willing to admit into xarray? It seems like standard cumsum and cumprod are safe bets but the nan versions are somewhat suspect.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Adding cumsum / cumprod reduction operators 140214928
195446904 https://github.com/pydata/xarray/issues/791#issuecomment-195446904 https://api.github.com/repos/pydata/xarray/issues/791 MDEyOklzc3VlQ29tbWVudDE5NTQ0NjkwNA== shoyer 1217238 2016-03-11T16:47:24Z 2016-03-11T16:47:24Z MEMBER

cumsum/cumprod will need a slightly different (simpler) interface than the other reduce methods, because unlike other aggregation functions they don't remove a dimension (the result has the same size as the input). Also, as you point out, NumPy doesn't have a nan-skipping version of these functions.

There was no particular reason why I didn't add these before -- we just never had a compelling enough need to get around to it. I don't think it would be particularly difficult.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Adding cumsum / cumprod reduction operators 140214928
195440644 https://github.com/pydata/xarray/issues/791#issuecomment-195440644 https://api.github.com/repos/pydata/xarray/issues/791 MDEyOklzc3VlQ29tbWVudDE5NTQ0MDY0NA== pwolfram 4295853 2016-03-11T16:33:11Z 2016-03-11T16:33:11Z CONTRIBUTOR

Note, numpy doesn't provide cumsum or cumprod that are nan compatible. I just checked https://github.com/numpy/numpy/blob/master/numpy/lib/nanfunctions.py#L4-L17 so injecting logic may be the way to go.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Adding cumsum / cumprod reduction operators 140214928
195440103 https://github.com/pydata/xarray/issues/791#issuecomment-195440103 https://api.github.com/repos/pydata/xarray/issues/791 MDEyOklzc3VlQ29tbWVudDE5NTQ0MDEwMw== pwolfram 4295853 2016-03-11T16:31:05Z 2016-03-11T16:31:05Z CONTRIBUTOR

You are correct that it shouldn't be too difficult.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Adding cumsum / cumprod reduction operators 140214928
195439946 https://github.com/pydata/xarray/issues/791#issuecomment-195439946 https://api.github.com/repos/pydata/xarray/issues/791 MDEyOklzc3VlQ29tbWVudDE5NTQzOTk0Ng== pwolfram 4295853 2016-03-11T16:30:28Z 2016-03-11T16:30:39Z CONTRIBUTOR

It may be more involved, e.g., there appears to be a custom nanprod called by https://github.com/pydata/xarray/blob/master/xarray/core/ops.py#L374-L383 at https://github.com/pydata/xarray/blob/master/xarray/core/npcompat.py#L186-L253. I could inject logic to remove the nan prepending for these functions at https://github.com/pydata/xarray/blob/master/xarray/core/ops.py#L310-L352 but this may be somewhat of a hack...

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Adding cumsum / cumprod reduction operators 140214928
195429158 https://github.com/pydata/xarray/issues/791#issuecomment-195429158 https://api.github.com/repos/pydata/xarray/issues/791 MDEyOklzc3VlQ29tbWVudDE5NTQyOTE1OA== jhamman 2443309 2016-03-11T16:04:15Z 2016-03-11T16:04:15Z MEMBER

I don't think this should be too difficult now that cumulative reductions are available in dask and numpy. I think you'll just have to add the cumsum and cumprod names to the list of NAN_REDUCE_METHODS. You may also need modify some of the logic in _create_nan_agg_method so it doesn't prepend a nan in-front of these two methods.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Adding cumsum / cumprod reduction operators 140214928
195419072 https://github.com/pydata/xarray/issues/791#issuecomment-195419072 https://api.github.com/repos/pydata/xarray/issues/791 MDEyOklzc3VlQ29tbWVudDE5NTQxOTA3Mg== pwolfram 4295853 2016-03-11T15:37:17Z 2016-03-11T15:37:17Z CONTRIBUTOR

Advice on the feasibility of adding cumsum / cumprod appreciated.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Adding cumsum / cumprod reduction operators 140214928

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