issue_comments
25 rows where author_association = "MEMBER", issue = 241578773 and user = 1217238 sorted by updated_at descending
This data as json, CSV (advanced)
Suggested facets: created_at (date), updated_at (date)
issue 1
- WIP: indexing with broadcasting · 25 ✖
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | performed_via_github_app | issue |
---|---|---|---|---|---|---|---|---|---|---|---|
337969983 | https://github.com/pydata/xarray/pull/1473#issuecomment-337969983 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzNzk2OTk4Mw== | shoyer 1217238 | 2017-10-19T16:53:28Z | 2017-10-19T16:53:28Z | MEMBER | I closed this intentionally since I think there is a good chance GitHub won't let you open a new PR otherwise. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
337969765 | https://github.com/pydata/xarray/pull/1473#issuecomment-337969765 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzNzk2OTc2NQ== | shoyer 1217238 | 2017-10-19T16:52:44Z | 2017-10-19T16:52:44Z | MEMBER | @fujiisoup Can you open a new pull request with this branch? I'd like to give you credit on GitHub for this (since you did most of the work), but I think if I merge this with "Squash and Merge" everything will get credited to me. You can also try doing your own rebase to clean-up history into fewer commits if you like (or I could "squash and merge" locally in git), but I think the new PR would do a better job of preserving history anyone who wants to look at this later. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
337771698 | https://github.com/pydata/xarray/pull/1473#issuecomment-337771698 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzNzc3MTY5OA== | shoyer 1217238 | 2017-10-19T01:16:48Z | 2017-10-19T01:16:48Z | MEMBER | I think this is ready to go in. @jhamman @fujiisoup any reason to wait? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
335281238 | https://github.com/pydata/xarray/pull/1473#issuecomment-335281238 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzNTI4MTIzOA== | shoyer 1217238 | 2017-10-09T20:46:13Z | 2017-10-09T20:46:13Z | MEMBER | I will take a look at the multi-index issues. I suspect that many of these will be hard to resolve until we complete the refactor making |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
335279657 | https://github.com/pydata/xarray/pull/1473#issuecomment-335279657 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzNTI3OTY1Nw== | shoyer 1217238 | 2017-10-09T20:42:53Z | 2017-10-09T20:42:53Z | MEMBER | @fujiisoup Thanks again for all your hard work on this and for my slow response. I've made another PR with tweaks to your logic for conflicting coordinates: https://github.com/fujiisoup/xarray/pull/5 Mostly, my PR is about simplifying the logic by removing the special case work arounds you added that check object identity (things like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
330023143 | https://github.com/pydata/xarray/pull/1473#issuecomment-330023143 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzMDAyMzE0Mw== | shoyer 1217238 | 2017-09-17T05:52:35Z | 2017-09-17T05:52:35Z | MEMBER |
I appreciate the goal here, but this makes me a little nervous. Xarray doesn't check names for other functionality, besides deciding how to propagate names and cases where names are used to indicate how to convert a DataArray into a Dataset. So users aren't used to checking names to understand how code works. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
329366409 | https://github.com/pydata/xarray/pull/1473#issuecomment-329366409 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyOTM2NjQwOQ== | shoyer 1217238 | 2017-09-14T04:16:22Z | 2017-09-14T04:16:22Z | MEMBER | It occurs to me now that we actually have an pre-existing merge feature ( The rule we could use would be:
- For Which we would use with normal rule for dimension/non-dimension coordinates: - Conflicts between dimension coordinates (except for precedence) result in an error. - Conflicts between non-dimension coordinates result in silently dropping the conflicting variable. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
328438707 | https://github.com/pydata/xarray/pull/1473#issuecomment-328438707 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyODQzODcwNw== | shoyer 1217238 | 2017-09-11T07:14:55Z | 2017-09-11T07:14:55Z | MEMBER |
To be honest, it's still not clear to me which is the right choice. Some considerations:
One possible resolution is to require exactly matching dimension coordinates only for |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
328401215 | https://github.com/pydata/xarray/pull/1473#issuecomment-328401215 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyODQwMTIxNQ== | shoyer 1217238 | 2017-09-11T02:42:26Z | 2017-09-11T02:42:26Z | MEMBER | Two issues I encountered when testing this locally:
In [5]: ds.isel(x=xr.DataArray([0, 1], [('x', [3, 4])])) Out[5]: <xarray.Dataset> Dimensions: (x: 2) Coordinates: * x (x) int64 1 2 Data variables: bar (x) int64 1 2 ``` I thought we agreed that these cases should raise an error, i.e., to require exact alignment? It's one thing to drop non-dimension coordinates, but dimension coordinates should not be ignored.
The multi-index remains with the name "x"In [16]: mda.isel(x=xr.DataArray(np.arange(3), dims='z')) Out[16]: <xarray.DataArray (z: 3, y: 3)> array([[ 0.990021, 0.371052, 0.996406], [ 0.384432, 0.605875, 0.361161], [ 0.367431, 0.339736, 0.816142]]) Coordinates: x (z) object ('a', 0) ('a', 1) ('b', 0) * y (y) int64 0 1 2 Dimensions without coordinates: z the multi-index is now called "z"In [17]: mda.sel(x=xr.DataArray(mda.indexes['x'][:3], dims='z')) Out[17]: <xarray.DataArray (z: 3, y: 3)> array([[ 0.990021, 0.371052, 0.996406], [ 0.384432, 0.605875, 0.361161], [ 0.367431, 0.339736, 0.816142]]) Coordinates: x (z) object ('a', 0) ('a', 1) ('b', 0) * y (y) int64 0 1 2 * z (z) MultiIndex - one (z) object 'a' 'a' 'b' - two (z) int64 0 1 0 ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
328396835 | https://github.com/pydata/xarray/pull/1473#issuecomment-328396835 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyODM5NjgzNQ== | shoyer 1217238 | 2017-09-11T02:04:42Z | 2017-09-11T02:04:42Z | MEMBER | Just sent out a bunch of doc edits: https://github.com/fujiisoup/xarray/pull/4 |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
327670299 | https://github.com/pydata/xarray/pull/1473#issuecomment-327670299 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNzY3MDI5OQ== | shoyer 1217238 | 2017-09-07T03:02:18Z | 2017-09-07T03:02:18Z | MEMBER | Thinking about boolean indexing again. I think we possibly only allow using unlabeled boolean array or boolean arrays defined along the dimension they are indexing. My concern is that otherwise, we will rule out the possibility of making In [30]: da[da.x > -1] Out[30]: <xarray.DataArray (x: 10, y: 10)> array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [10, 11, 12, 13, 14, 15, 16, 17, 18, 19], [20, 21, 22, 23, 24, 25, 26, 27, 28, 29], [30, 31, 32, 33, 34, 35, 36, 37, 38, 39], [40, 41, 42, 43, 44, 45, 46, 47, 48, 49], [50, 51, 52, 53, 54, 55, 56, 57, 58, 59], [60, 61, 62, 63, 64, 65, 66, 67, 68, 69], [70, 71, 72, 73, 74, 75, 76, 77, 78, 79], [80, 81, 82, 83, 84, 85, 86, 87, 88, 89], [90, 91, 92, 93, 94, 95, 96, 97, 98, 99]]) Dimensions without coordinates: x, y In [31]: da[da.y > -1] Out[31]: <xarray.DataArray (y: 10)> array([ 0, 11, 22, 33, 44, 55, 66, 77, 88, 99]) Dimensions without coordinates: y ``` The only way these can be guaranteed to be consistent with I can see some potential use for boolean indexing with a different dimension name, but I suspect it would be pretty rare. There is also an easy work around (using an integer indexer instead, which is also arguably clearer). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
326818830 | https://github.com/pydata/xarray/pull/1473#issuecomment-326818830 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNjgxODgzMA== | shoyer 1217238 | 2017-09-03T17:28:46Z | 2017-09-03T17:28:46Z | MEMBER |
I agree, this feels closer to a use-case for multi-dimensional Let's recall the use cases fro these methods:
- So one possible way to define multi-dimensional reindexing would be as follows:
- Given In practice, multi-dimensional
:+1: So for now, let's raise a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
326776669 | https://github.com/pydata/xarray/pull/1473#issuecomment-326776669 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNjc3NjY2OQ== | shoyer 1217238 | 2017-09-03T00:27:05Z | 2017-09-03T00:27:05Z | MEMBER |
There are two key differences between
I'm not sure this is desirable, because it's nice to have a way to do indexing that is guaranteed not to introduce missing values. Currently, I do think there is a valid concern about consistency between From a practical perspective, writing a version of vectorized indexing that fills in |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
326367356 | https://github.com/pydata/xarray/pull/1473#issuecomment-326367356 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNjM2NzM1Ng== | shoyer 1217238 | 2017-08-31T17:32:02Z | 2017-08-31T17:32:02Z | MEMBER | I agree that this is pretty close! I will do another review shortly when I have time. This is a really exciting feature and I am super excited to get it into v0.10 -- thanks again for your hard work on it! This goes a long way to completing xarray's labeled data model. The consensus over in #1535 seems to be that we can go ahead without a deprecation warning. Also: I agree that it would be great if others can test this, but we should also definitely make a release candidate for 0.10 to help iron out any bugs before the final release. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
325066185 | https://github.com/pydata/xarray/pull/1473#issuecomment-325066185 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNTA2NjE4NQ== | shoyer 1217238 | 2017-08-26T00:52:03Z | 2017-08-26T00:52:03Z | MEMBER | Thinking about this more: I still think I would prefer including all coordinates from indexers unless there is already an existing coordinates of the same name. Reasons why I like this rule:
1. It's simple and easy to explain, without any special cases.
2. If the coordinates are descriptive of the indexers, I think they're almost certainly still descriptive of the indexed results.
3. Users seem to be happier with keeping around metadata (e.g., |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
324960486 | https://github.com/pydata/xarray/pull/1473#issuecomment-324960486 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNDk2MDQ4Ng== | shoyer 1217238 | 2017-08-25T15:50:22Z | 2017-08-25T15:50:22Z | MEMBER |
I like these rules. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
321148108 | https://github.com/pydata/xarray/pull/1473#issuecomment-321148108 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyMTE0ODEwOA== | shoyer 1217238 | 2017-08-09T04:16:03Z | 2017-08-09T04:16:03Z | MEMBER | @fujiisoup you're asking good questions about how to handle coordinates. I don't have a lot of time to think about this right now, but really briefly:
- |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
320491761 | https://github.com/pydata/xarray/pull/1473#issuecomment-320491761 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyMDQ5MTc2MQ== | shoyer 1217238 | 2017-08-06T07:51:30Z | 2017-08-06T07:51:30Z | MEMBER | I opened another PR to your branch for consolidating the logic between dask and numpy vindex: https://github.com/fujiisoup/xarray/pull/3 You will need to install dask master to run the full test suite, but it appears to be working! The logic is slightly tricky because even with vindex we need to reorder the sliced dimensions sometimes. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
319113096 | https://github.com/pydata/xarray/pull/1473#issuecomment-319113096 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxOTExMzA5Ng== | shoyer 1217238 | 2017-07-31T15:55:27Z | 2017-07-31T15:55:27Z | MEMBER |
Yes, agreed! |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
318975595 | https://github.com/pydata/xarray/pull/1473#issuecomment-318975595 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxODk3NTU5NQ== | shoyer 1217238 | 2017-07-31T05:59:46Z | 2017-07-31T06:00:03Z | MEMBER | I added a few more commits to my PR to your branch (https://github.com/fujiisoup/xarray/pull/2):
- Reorganized |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
318111741 | https://github.com/pydata/xarray/pull/1473#issuecomment-318111741 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxODExMTc0MQ== | shoyer 1217238 | 2017-07-26T16:41:40Z | 2017-07-26T16:41:40Z | MEMBER |
OK, we can certainly discuss this more broadly. But I think this test was just broken. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
317795244 | https://github.com/pydata/xarray/pull/1473#issuecomment-317795244 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxNzc5NTI0NA== | shoyer 1217238 | 2017-07-25T16:35:09Z | 2017-07-25T16:35:09Z | MEMBER |
Thanks! I'll take a look shortly.
Yes, I think NumPy has deprecated/removed this sort of indexing.
No, for 1D boolean arrays I think we should insist that sizes match exactly. There is no obvious map between boolean indexer positions and array values otherwise. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
317465968 | https://github.com/pydata/xarray/pull/1473#issuecomment-317465968 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxNzQ2NTk2OA== | shoyer 1217238 | 2017-07-24T15:48:33Z | 2017-07-24T15:48:33Z | MEMBER | With the current logic, we normalize everything into a standard indexer tuple in in core/indexing.pyclass IndexerTuple(tuple): """Base class for xarray indexing tuples."""
class BasicIndexer(IndexerTuple): """Tuple for basic indexing.""" class OuterIndexer(IndexerTuple): """Tuple for outer/orthogonal indexing (.oindex).""" class VectorizedIndexer(IndexerTuple): """Tuple for vectorized indexing (.vindex).""" in core/variable.pyclass Variable(...): def _broadcast_indexes(self, key): # return a BasicIndexer if possible, otherwise an OuterIndexer if possible # and finally a VectorizedIndexer in adapters for various backends/storage typesclass DaskArrayAdapter(...): def getitem(self, key): if isinstance(key, VectorizedIndexer): raise IndexError("dask doesn't yet support vectorized indexing") ... ``` This is a little more work at the outset because we have to handle each indexer type in each backend, but it avoids the error prone broadcasting/un-broadcasting logic. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
315659641 | https://github.com/pydata/xarray/pull/1473#issuecomment-315659641 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxNTY1OTY0MQ== | shoyer 1217238 | 2017-07-17T02:58:57Z | 2017-07-17T02:58:57Z | MEMBER | Let's not worry about supporting every indexing type with dask. I think that with my patch we can do everything we currently do. We'll want I think we'll also want to make an "vectorized to orthogonal" indexing adapter that we can use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
315631661 | https://github.com/pydata/xarray/pull/1473#issuecomment-315631661 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxNTYzMTY2MQ== | shoyer 1217238 | 2017-07-16T19:35:40Z | 2017-07-16T19:35:40Z | MEMBER |
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 |
Advanced export
JSON shape: default, array, newline-delimited, object
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]);
user 1