home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

4 rows where author_association = "MEMBER", issue = 352677925 and user = 1217238 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

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

user 1

  • shoyer · 4 ✖

issue 1

  • Make `dim` optional on unstack · 4 ✖

author_association 1

  • MEMBER · 4 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions performed_via_github_app issue
415647225 https://github.com/pydata/xarray/pull/2375#issuecomment-415647225 https://api.github.com/repos/pydata/xarray/issues/2375 MDEyOklzc3VlQ29tbWVudDQxNTY0NzIyNQ== shoyer 1217238 2018-08-24T04:24:33Z 2018-08-24T04:24:33Z MEMBER

It might make sense to use a list instead of a set here. On Thu, Aug 23, 2018 at 8:37 PM Keisuke Fujii notifications@github.com wrote:

@fujiisoup commented on this pull request.

Thanks. A few comments.

In xarray/core/dataset.py https://github.com/pydata/xarray/pull/2375#discussion_r212513643:

+ + missing_dims = [dim for dim in dims if dim not in self.dims] + if missing_dims: + raise ValueError('Dataset does not contain the dimensions: %s' + % missing_dims) + + non_multi_dims = [dim for dim in dims + if not isinstance(self.get_index(dim), pd.MultiIndex)] + if non_multi_dims and dim_from_kwarg: + raise ValueError('cannot unstack dimensions that do not ' + 'have a MultiIndex: %s' % non_multi_dims) + + dims = dims - set(non_multi_dims) + if len(dims) == 0: + raise ValueError('cannot unstack an object that does not have ' + 'MultiIndex dimensions')

I think that we can allow to unstack an object without MultiIndex, which just returns as is. It would be useful if users want to remove any MultiIndexes from an object.


In xarray/core/dataset.py https://github.com/pydata/xarray/pull/2375#discussion_r212513859:


  • unstacked : Dataset
  • Dataset with unstacked data. +
  • See also

  • Dataset.stack
  • """
  • dim_from_kwarg = dim is not None +
  • if isinstance(dim, basestring):
  • dims = set([dim])
  • elif dim is None:
  • dims = set(self.dims)
  • else:
  • dims = set(dim)

Maybe we can use OrderedSet instead of set so that the resultant dimension order is fixed.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/pydata/xarray/pull/2375#pullrequestreview-149165031, or mute the thread https://github.com/notifications/unsubscribe-auth/ABKS1k4sM5-2xSpTAI02Sa792Zqido7eks5uT3TggaJpZM4WGc2s .

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Make `dim` optional on unstack 352677925
415492951 https://github.com/pydata/xarray/pull/2375#issuecomment-415492951 https://api.github.com/repos/pydata/xarray/issues/2375 MDEyOklzc3VlQ29tbWVudDQxNTQ5Mjk1MQ== shoyer 1217238 2018-08-23T17:01:23Z 2018-08-23T17:01:23Z MEMBER

Dataset.transpose accepts *args based on the design of numpy.ndarray.transpose, but that API is probably a mistake (both in NumPy and xarray). Everything else uses an axis/dim argument that can take a scalar or sequence value. On Thu, Aug 23, 2018 at 9:56 AM Julia Signell notifications@github.com wrote:

I can change it. I guess I was looking at Dataset.transpose: https://github.com/pydata/xarray/blob/master/xarray/core/dataset.py#L2498

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/pydata/xarray/pull/2375#issuecomment-415490818, or mute the thread https://github.com/notifications/unsubscribe-auth/ABKS1iLWT36Dqq18sjbI-Tymh8_eJJG1ks5uTt6ogaJpZM4WGc2s .

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Make `dim` optional on unstack 352677925
415486919 https://github.com/pydata/xarray/pull/2375#issuecomment-415486919 https://api.github.com/repos/pydata/xarray/issues/2375 MDEyOklzc3VlQ29tbWVudDQxNTQ4NjkxOQ== shoyer 1217238 2018-08-23T16:46:41Z 2018-08-23T16:46:41Z MEMBER

I chose to use *dims rather than a list of dims so that this change will have a very small impact on people. Most people probably do something like unstack('z') right now, and that will still work.

Usually we prefer to stick to a single argument, but use isinstance checks to support both single dimensions and lists of dimensions, e.g., see how dim is parsed in Dataset.reduce: https://github.com/pydata/xarray/blob/master/xarray/core/dataset.py#L2774-L2779

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Make `dim` optional on unstack 352677925
415227870 https://github.com/pydata/xarray/pull/2375#issuecomment-415227870 https://api.github.com/repos/pydata/xarray/issues/2375 MDEyOklzc3VlQ29tbWVudDQxNTIyNzg3MA== shoyer 1217238 2018-08-23T00:06:56Z 2018-08-23T00:06:56Z MEMBER

I think unstack() unstacking all dimensions by default would make sense.

Should we be using xr.full_like in this way?

I'm not really opposed to full_like working this way, but it does look a little strange to my eye. The "full" part of the name doesn't really make sense to me. I would usually suggest using the DataArray constructor here, e.g., xr.DataArray(output_values, flat_input.coords, flat_input.dims, flat_inputs.attrs).

Maybe we can figure a better way to spell "label these arrays like this template xarray object" that doesn't require referencing flat_input multiple times. Maybe xarray.label_like(array, source) or source.with_data(array)?

Would something like xr.unstack_like be desirable?

I'm not sure that a dedicated function unstack_like would make sense for xarray. This is the sort of helper function that you can write yourself in a couple of lines.

{
    "total_count": 2,
    "+1": 2,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Make `dim` optional on unstack 352677925

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