issue_comments
60 rows where issue = 241578773 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 · 60 ✖
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 | |
337965865 | https://github.com/pydata/xarray/pull/1473#issuecomment-337965865 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzNzk2NTg2NQ== | jhamman 2443309 | 2017-10-19T16:38:35Z | 2017-10-19T16:38:35Z | MEMBER | LGTM. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
337805095 | https://github.com/pydata/xarray/pull/1473#issuecomment-337805095 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzNzgwNTA5NQ== | fujiisoup 6815844 | 2017-10-19T05:40:57Z | 2017-10-19T05:40:57Z | MEMBER | I'm happy with this :) |
{ "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 | |
335319183 | https://github.com/pydata/xarray/pull/1473#issuecomment-335319183 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzNTMxOTE4Mw== | fujiisoup 6815844 | 2017-10-09T23:45:55Z | 2017-10-10T12:12:04Z | MEMBER | @shoyer, thanks for your review.
OK. It makes sense also for me. Merging your PR.
Actually, the vectorized label-indexing currently does not work almost entirely with
works as expected,
fail without appropriate error messages
destructs the MultiIndex structure silently. I will add better Exceptions later today. |
{ "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 | |
334024556 | https://github.com/pydata/xarray/pull/1473#issuecomment-334024556 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzNDAyNDU1Ng== | fujiisoup 6815844 | 2017-10-04T01:20:13Z | 2017-10-04T01:20:13Z | MEMBER | @jhamman Thanks for the review (and sorry for my late reply). I made some modifications. @shoyer Do you have further comments about coordinate confliction? Limitations of the current implementation are
+ Coordinate confliction and attachment related to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
331920149 | https://github.com/pydata/xarray/pull/1473#issuecomment-331920149 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzMTkyMDE0OQ== | fujiisoup 6815844 | 2017-09-25T15:35:03Z | 2017-09-25T15:35:22Z | MEMBER | I think it's ready. I appreciate any further comments. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
331909557 | https://github.com/pydata/xarray/pull/1473#issuecomment-331909557 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzMTkwOTU1Nw== | jhamman 2443309 | 2017-09-25T15:01:14Z | 2017-09-25T15:01:14Z | MEMBER | @shoyer and @fujiisoup - is this ready for a final review? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
331480985 | https://github.com/pydata/xarray/pull/1473#issuecomment-331480985 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzMTQ4MDk4NQ== | fujiisoup 6815844 | 2017-09-22T15:32:58Z | 2017-09-22T15:32:58Z | MEMBER | I think it would be better to update |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
330168943 | https://github.com/pydata/xarray/pull/1473#issuecomment-330168943 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzMDE2ODk0Mw== | fujiisoup 6815844 | 2017-09-18T09:27:38Z | 2017-09-18T09:27:38Z | MEMBER | Another case that might be confusing, ```python import numpy as np import xarray as xr da = xr.DataArray(np.random.randn(3), dims=['x'], coords={'x': ['a', 'b', 'c']}) index_ds = xr.Dataset({}, coords={'x': [0, 1]}) this results in the coordinate conflictionda.isel(x=index_ds['x'])
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
330133651 | https://github.com/pydata/xarray/pull/1473#issuecomment-330133651 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzMDEzMzY1MQ== | fujiisoup 6815844 | 2017-09-18T05:49:26Z | 2017-09-18T05:49:26Z | MEMBER | For the second issue pointed out in this comment,
I noticed it is due to the somewhat irregular ```python In [1]: import numpy as np ...: import xarray as xr ...: import pandas as pd ...: ...: midx = pd.MultiIndex.from_product([list('abc'), [0, 1]], ...: names=('one', 'two')) ...: # midx is automatically converted to a coordinate ...: xr.DataArray(midx[:3], dims='z') ...: Out[1]: <xarray.DataArray (z: 3)> array([('a', 0), ('a', 1), ('b', 0)], dtype=object) Coordinates: * z (z) MultiIndex - one (z) object 'a' 'a' 'b' - two (z) int64 0 1 0 In [2]: # If a coordinate is explicitly specified, midx will be a data ...: xr.DataArray(midx[:3], dims='z', coords={'z': [0, 1, 2]}) ...: Out[2]: <xarray.DataArray (z: 3)> array([('a', 0), ('a', 1), ('b', 0)], dtype=object) Coordinates: * z (z) int64 0 1 2 ``` I added tests for this case. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
330048656 | https://github.com/pydata/xarray/pull/1473#issuecomment-330048656 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzMDA0ODY1Ng== | fujiisoup 6815844 | 2017-09-17T14:08:28Z | 2017-09-17T14:08:35Z | MEMBER |
OK. I adopt |
{ "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 | |
330022824 | https://github.com/pydata/xarray/pull/1473#issuecomment-330022824 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzMDAyMjgyNA== | fujiisoup 6815844 | 2017-09-17T05:42:01Z | 2017-09-17T05:42:01Z | MEMBER | How about the following case?
However,
I would like to add an additional rule to take care of the first case, which might be valid only for DataArray
+ If |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
330018569 | https://github.com/pydata/xarray/pull/1473#issuecomment-330018569 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMzMDAxODU2OQ== | fujiisoup 6815844 | 2017-09-17T04:17:28Z | 2017-09-17T04:17:28Z | MEMBER | Sorry for my late reply, and thanks for the information.
It sounds great if we could use preexisting criteria (and maybe logic also). I will look inside xarray's merge logic deeply. |
{ "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 | |
328508165 | https://github.com/pydata/xarray/pull/1473#issuecomment-328508165 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyODUwODE2NQ== | fujiisoup 6815844 | 2017-09-11T12:02:25Z | 2017-09-11T12:02:25Z | MEMBER |
It's not yet clear to me either. I think, in such a case, we should choose the simplest rule so that we can explain it easily and we could add more rule later if necessary. I think indexer's coordinates should not conflict is the simplest. The other end might be we don't care the indexer's coordinates, but I like the previous one. |
{ "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 | |
328403754 | https://github.com/pydata/xarray/pull/1473#issuecomment-328403754 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyODQwMzc1NA== | fujiisoup 6815844 | 2017-09-11T03:04:05Z | 2017-09-11T03:04:05Z | MEMBER | Thank you for review.
I thought we have agreed to simply neglect the coordinate conflict (comment). Yes, but now I agree to raise an IndexError is clearer for users. I will revert it.
I forgot to consider MultiIndex. I will fix it. (May be later this week.) |
{ "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 | |
327802435 | https://github.com/pydata/xarray/pull/1473#issuecomment-327802435 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNzgwMjQzNQ== | fujiisoup 6815844 | 2017-09-07T13:40:30Z | 2017-09-07T13:40:30Z | MEMBER | Added, with some code clean-ups. (Although I prepared tests for it), I agree that the boolean indexing with a different dimension name is a rare use case But I personally think this rule adds additional complexity.
From an analogy of np.ndarray indexing
I think we should recommend |
{ "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 | |
327194050 | https://github.com/pydata/xarray/pull/1473#issuecomment-327194050 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNzE5NDA1MA== | fujiisoup 6815844 | 2017-09-05T14:31:28Z | 2017-09-05T14:31:28Z | MEMBER | Thank you for the careful review. I updated most part you pointed out, but not all. I will finish it up tomorrow. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
326857965 | https://github.com/pydata/xarray/pull/1473#issuecomment-326857965 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNjg1Nzk2NQ== | fujiisoup 6815844 | 2017-09-04T03:24:49Z | 2017-09-04T03:24:49Z | MEMBER |
OK. Done.
I think the condition is something 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 | |
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 | |
326778667 | https://github.com/pydata/xarray/pull/1473#issuecomment-326778667 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNjc3ODY2Nw== | fujiisoup 6815844 | 2017-09-03T01:30:49Z | 2017-09-03T02:00:46Z | MEMBER |
Yes, this is another difference, but if the indexer of
I thought this when working with the power-user example,
As this example,
I considered the In such a use case, it would be better for
I agree. I also would like to try that, but it might be a bit tough and it would be better to do after the next release. Maybe I need to switch to much easier task in this example. Do you have any suggestion? |
{ "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 | |
326753554 | https://github.com/pydata/xarray/pull/1473#issuecomment-326753554 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNjc1MzU1NA== | fujiisoup 6815844 | 2017-09-02T16:10:59Z | 2017-09-02T16:10:59Z | MEMBER | API question.
My preference is to make |
{ "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 | |
326334294 | https://github.com/pydata/xarray/pull/1473#issuecomment-326334294 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNjMzNDI5NA== | fujiisoup 6815844 | 2017-08-31T15:36:49Z | 2017-08-31T15:39:24Z | MEMBER |
I think I am approaching. See docs for the detail,
but the essential change of this PR is that now indexing ( If indexers have no named dimension (e.g. np.ndarray, integer, slice), then the indexing behaves exactly the same way to the current version. So this change should be compatible almost all the existing codes. Now all the existing tests passed and I added many test cases as far as I think of. However, I would like to ask members to use this branch for your daily work and make sure there is no inconvenience, because indexing is very fundamental and a single bug would affect every user significantly. Any comments or thoughts are welcome. (I refactored indexing.rst largely according to this change. I would also appreciate very much if anyone could point out some confusing/unnatural sentences.) I am looking forward to seeing it in v.0.10 :) |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
325141121 | https://github.com/pydata/xarray/pull/1473#issuecomment-325141121 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyNTE0MTEyMQ== | fujiisoup 6815844 | 2017-08-26T15:59:18Z | 2017-08-26T16:06:11Z | MEMBER |
OK. I agree. It's might be the best. I will update the code. But I can't yet imagine all the cases that are incompatible the existing code. I am just wondering if we could bring such a sudden change without warning. Do we need API change warning period? |
{ "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 | |
321213528 | https://github.com/pydata/xarray/pull/1473#issuecomment-321213528 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyMTIxMzUyOA== | fujiisoup 6815844 | 2017-08-09T10:10:58Z | 2017-08-09T11:10:14Z | MEMBER | @shoyer
Agreed. I changed the code not to overwrite coordinate.
My current implementation does this, but I am still worrying about even in this situation there will be a similar unexpected behavior, e.g. because an unexpected coordinate is attached in previous indexing, the coordinate to be attached would be silently neglected. I think we may need a careful API decision.
I am currently thinking
(assuming |
{ "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 | |
321119003 | https://github.com/pydata/xarray/pull/1473#issuecomment-321119003 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyMTExOTAwMw== | fujiisoup 6815844 | 2017-08-09T00:32:46Z | 2017-08-09T00:32:46Z | MEMBER | Another case I am wondering is when indexing-DataArray has the same name but different valued coordinate, ```python In [1]: import numpy as np ...: import xarray as xr ...: ...: da = xr.DataArray(np.arange(3 * 2).reshape(3, 2), dims=['x', 'y'], ...: coords={'x': [0, 1, 2], 'y': ['a', 'b']}) ...: da # indexed DataArray ...: Out[1]: <xarray.DataArray (x: 3, y: 2)> array([[0, 1], [2, 3], [4, 5]]) Coordinates: * x (x) int64 0 1 2 * y (y) <U1 'a' 'b' In [2]: ind = xr.DataArray([2, 1], dims=['x'], coords={'x': [0.1, 0.2]}) ...: ind # indexing DataArray. This also has 'x' ...: Out[2]: <xarray.DataArray (x: 2)> array([2, 1]) Coordinates: * x (x) float64 0.1 0.2 In [3]: da.isel(x=ind.variable) ...: Out[3]: <xarray.DataArray (x: 2, y: 2)> array([[4, 5], [2, 3]]) Coordinates: * x (x) int64 2 1 * y (y) <U1 'a' 'b' In [4]: da.isel(x=ind) # Overwrite da['x'] by ind['x'] ...: Out[4]: <xarray.DataArray (x: 2, y: 2)> array([[4, 5], [2, 3]]) Coordinates: * x (x) float64 0.1 0.2 * y (y) <U1 'a' 'b' ``` Currently, the original coordinate is overwritten by the indexer's coordinate, but it may cause an unintentional change of the coordinate values. May be we should keep the original coordinate in such a case or raise an Exception? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
321115367 | https://github.com/pydata/xarray/pull/1473#issuecomment-321115367 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyMTExNTM2Nw== | fujiisoup 6815844 | 2017-08-09T00:06:10Z | 2017-08-09T00:06:10Z | MEMBER | I am wondering how the indexing by In my current implementation, it bahaves ```python In [1]: import numpy as np ...: import xarray as xr ...: ...: da = xr.DataArray(np.arange(3 * 2).reshape(3, 2), dims=['x', 'y'], ...: coords={'x': [0, 1, 2], 'y': ['a', 'b']}) ...: da ...: Out[1]: <xarray.DataArray (x: 3, y: 2)> array([[0, 1], [2, 3], [4, 5]]) Coordinates: * x (x) int64 0 1 2 * y (y) <U1 'a' 'b' In [2]: ind = xr.DataArray([2, 1], dims=['a'], ...: coords={'a': [0.1, 0.2], 'time': (('a', ), [10, 20])}) ...: ind # 'a': coordinate, 'time': non-dimension coordinate ...: Out[2]: <xarray.DataArray (a: 2)> array([2, 1]) Coordinates: * a (a) float64 0.1 0.2 time (a) int64 10 20 In [3]: da.isel(x=ind) Out[3]: <xarray.DataArray (a: 2, y: 2)> array([[4, 5], [2, 3]]) Coordinates: x (a) int64 2 1 * y (y) <U1 'a' 'b' * a (a) float64 0.1 0.2 ``` I think we should keep (indexed-version of the) original coordinate ( I am slightly worrying that after repetitive indexing the number of coordinates may unintentionally increase. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
320493296 | https://github.com/pydata/xarray/pull/1473#issuecomment-320493296 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMyMDQ5MzI5Ng== | fujiisoup 6815844 | 2017-08-06T08:28:14Z | 2017-08-06T08:28:14Z | MEMBER | @shoyer Thanks for your help! I will take a look. |
{ "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 | |
319028665 | https://github.com/pydata/xarray/pull/1473#issuecomment-319028665 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxOTAyODY2NQ== | fujiisoup 6815844 | 2017-07-31T10:22:44Z | 2017-07-31T10:23:04Z | MEMBER | Thanks, @shoyer. I will take a look shortly.
Thanks. It's a great help!
I think a similar logic (flatten -> lookup -> reshape) will be necessary to improve |
{ "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 | |
318813583 | https://github.com/pydata/xarray/pull/1473#issuecomment-318813583 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxODgxMzU4Mw== | fujiisoup 6815844 | 2017-07-29T08:26:30Z | 2017-07-29T08:26:30Z | MEMBER | @shoyer Thanks for the detailed review.
Yes. Actually, some backends seem to check something 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 | |
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 | |
317902607 | https://github.com/pydata/xarray/pull/1473#issuecomment-317902607 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxNzkwMjYwNw== | fujiisoup 6815844 | 2017-07-25T23:29:10Z | 2017-07-25T23:29:10Z | MEMBER |
OK. Thanks for the suggestion. I'm slightly hesitating to deprecate this indexing in this PR. I guess it should go with another issue. (Some tests assume this indexing behavior.) |
{ "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 | |
317742791 | https://github.com/pydata/xarray/pull/1473#issuecomment-317742791 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxNzc0Mjc5MQ== | fujiisoup 6815844 | 2017-07-25T13:48:12Z | 2017-07-25T13:48:12Z | MEMBER | @shoyer Thanks for the suggestion. As you suggested, I prepared our own indexer class. I think the codes became much cleaner. I struggled with the boolean index behavior,
In my current PR, the boolean index is simply converted to integer array by |
{ "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 | |
317247671 | https://github.com/pydata/xarray/pull/1473#issuecomment-317247671 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxNzI0NzY3MQ== | fujiisoup 6815844 | 2017-07-23T11:51:00Z | 2017-07-23T11:51:00Z | MEMBER |
I am wondering what the cleanest design is.
Because the cases 3 and 4 you suggested are pretty exculsive, I tried to distinguish cases 1, 2, and 4 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 | |
317137217 | https://github.com/pydata/xarray/pull/1473#issuecomment-317137217 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxNzEzNzIxNw== | fujiisoup 6815844 | 2017-07-21T23:54:38Z | 2017-07-21T23:54:38Z | MEMBER | Currently, this line in backends/rasterio_.py fails.
This is because that the new indexing logic converts integer-arrays into slices as much as possible, e.g.
However, other array wrappers seem to require the automatic slice conversion. As I am not familiar with rasterio, I will appreciate if anyone gives me a help. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
317012255 | https://github.com/pydata/xarray/pull/1473#issuecomment-317012255 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxNzAxMjI1NQ== | fujiisoup 6815844 | 2017-07-21T14:13:44Z | 2017-07-21T14:13:44Z | MEMBER |
I implemented Now some array-adaptors accepts orthogonal-indexers and other accepts broadcasted-indexers. I think it is a little confusing. Maybe clearer terminology is necessary? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
315746067 | https://github.com/pydata/xarray/pull/1473#issuecomment-315746067 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxNTc0NjA2Nw== | fujiisoup 6815844 | 2017-07-17T12:49:46Z | 2017-07-17T12:50:55Z | MEMBER | @shoyer Thanks for your help.
Yes. Thanks to your patch, dask-based variable is now indexed fine. Some replies to your comments to the outdated codes.
+ multidimensional boolean indexer I will try to fit the other array wrappers, |
{ "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 | |
315593569 | https://github.com/pydata/xarray/pull/1473#issuecomment-315593569 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxNTU5MzU2OQ== | fujiisoup 6815844 | 2017-07-16T08:19:11Z | 2017-07-16T08:19:11Z | MEMBER | I just realized that dask's indexing is limited, e.g. it does not support nd-array indexing.
I will try to make a work around this issue, but I am not very familiar with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
WIP: indexing with broadcasting 241578773 | |
314718320 | https://github.com/pydata/xarray/pull/1473#issuecomment-314718320 | https://api.github.com/repos/pydata/xarray/issues/1473 | MDEyOklzc3VlQ29tbWVudDMxNDcxODMyMA== | fujiisoup 6815844 | 2017-07-12T10:13:48Z | 2017-07-12T10:13:48Z | MEMBER | Thanks @shoyer
I updated As you pointed out, we may need better Error message in here.
I guess we should raise our own |
{ "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 3