home / github / issue_comments

Menu
  • GraphQL API
  • Search all tables

issue_comments: 454322871

This data as json

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/2674#issuecomment-454322871 https://api.github.com/repos/pydata/xarray/issues/2674 454322871 MDEyOklzc3VlQ29tbWVudDQ1NDMyMjg3MQ== 1217238 2019-01-15T09:24:38Z 2019-01-15T09:24:38Z MEMBER

cc @fujiisoup

The challenge here is that this logic depends on the nature of the function. It only makes skip variables if applying the operation to a scalar returns the scalar. This is true for many but not all reductions, and there are lots of edge cases, e.g., - mean returns the same value, but integers should be cast to floats for consistency - sum returns the original element unless it's a scalar NaN (in which case it gets replaced by 0, unless skipna=False - count should always return 1, regardless of the original value - indexing does always return the same value

So this really needs to be opt-in only, and even then I'm not sure it's worth the trouble. It might be better to explicitly define functions even in the case of axis=() (the empty tuple), and either reuse the reduce() interface or make another (e.g., transform?) for functions that are oriented along a set of axes.

Actually, it isn't documented behavior but reduce() will already correctly handle this cases, too, e.g., for functions like cumsum() (this is used internally): ``` In [13]: ds = xarray.Dataset({'a': ('x', np.arange(3))})

In [14]: ds.reduce(np.cumsum) Out[14]: <xarray.Dataset> Dimensions: (x: 3) Dimensions without coordinates: x Data variables: a (x) int64 0 1 3 ```

{
    "total_count": 2,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 1,
    "rocket": 0,
    "eyes": 0
}
  399164733
Powered by Datasette · Queries took 0.866ms · About: xarray-datasette