issue_comments
12 rows where issue = 955936490 sorted by updated_at descending
This data as json, CSV (advanced)
Suggested facets: reactions, created_at (date), updated_at (date)
issue 1
- Flexible indexes: review the implementation of alignment and merge · 12 ✖
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | performed_via_github_app | issue |
---|---|---|---|---|---|---|---|---|---|---|---|
1239162673 | https://github.com/pydata/xarray/issues/5647#issuecomment-1239162673 | https://api.github.com/repos/pydata/xarray/issues/5647 | IC_kwDOAMm_X85J3B8x | benbovy 4160723 | 2022-09-07T09:47:13Z | 2022-09-07T09:47:13Z | MEMBER | I think we can close this issue, which has mostly been addressed in #5692. I opened #7002 for the potential problem of index alignment vs. coordinate ordering. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Flexible indexes: review the implementation of alignment and merge 955936490 | |
949618104 | https://github.com/pydata/xarray/issues/5647#issuecomment-949618104 | https://api.github.com/repos/pydata/xarray/issues/5647 | IC_kwDOAMm_X844mgW4 | benbovy 4160723 | 2021-10-22T13:11:01Z | 2021-10-22T13:11:01Z | MEMBER | @shoyer I'm now reviewing the merging logic. I works mostly fine, with some minor concerns:
Let's take this example: ```python
Do we raise a Note: the following example does not raise any error in xarray: ```python
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Flexible indexes: review the implementation of alignment and merge 955936490 | |
946883858 | https://github.com/pydata/xarray/issues/5647#issuecomment-946883858 | https://api.github.com/repos/pydata/xarray/issues/5647 | IC_kwDOAMm_X844cE0S | benbovy 4160723 | 2021-10-19T16:16:24Z | 2021-10-19T16:16:24Z | MEMBER | Other possible solutions (from discussion with @shoyer):
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Flexible indexes: review the implementation of alignment and merge 955936490 | |
946546464 | https://github.com/pydata/xarray/issues/5647#issuecomment-946546464 | https://api.github.com/repos/pydata/xarray/issues/5647 | IC_kwDOAMm_X844aycg | benbovy 4160723 | 2021-10-19T09:47:04Z | 2021-10-19T09:47:04Z | MEMBER | I've used the following key type to find matching indexes:
where the order of coordinates doesn't matter. For Are there potential custom indexes where the order of coordinates doesn't matter? Maybe a good example is a meta-index for staggered grids where the cell center coordinate and the cell edges coordinates might be given in any order. Possible solutions to address this:
Option 2 is more flexible but option 1 might be enough. Option 1 may also be great for clearer indexes and coordinates sections in Xarray objects |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Flexible indexes: review the implementation of alignment and merge 955936490 | |
945933099 | https://github.com/pydata/xarray/issues/5647#issuecomment-945933099 | https://api.github.com/repos/pydata/xarray/issues/5647 | IC_kwDOAMm_X844Ycsr | benbovy 4160723 | 2021-10-18T16:09:11Z | 2021-10-18T16:09:11Z | MEMBER |
Yes, I did that for |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Flexible indexes: review the implementation of alignment and merge 955936490 | |
945931002 | https://github.com/pydata/xarray/issues/5647#issuecomment-945931002 | https://api.github.com/repos/pydata/xarray/issues/5647 | IC_kwDOAMm_X844YcL6 | shoyer 1217238 | 2021-10-18T16:07:06Z | 2021-10-18T16:07:06Z | MEMBER |
Sounds good to me! If we like, we could probably even add static type information on ... def reindex_like(self: T, other: T) -> DimIntIndexers: ... ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Flexible indexes: review the implementation of alignment and merge 955936490 | |
945928870 | https://github.com/pydata/xarray/issues/5647#issuecomment-945928870 | https://api.github.com/repos/pydata/xarray/issues/5647 | IC_kwDOAMm_X844Ybqm | shoyer 1217238 | 2021-10-18T16:04:52Z | 2021-10-18T16:04:52Z | MEMBER |
I agree, this doesn't make sense in the long term because the "name" of the MultiIndex is no longer necessary: it's just the same index that happens to index each of the levels. Let's preserve it (for now) for backwards compat, but in the long term the ideal is certainly either (a) using
If part of Xarray's API currently doesn't raise an error but instead returns all NaNs, and this case can be detected based on static type information (e.g., shapes, dtypes, dimension names, variable name, index types), then I agree that the best user experience is almost certainly to raise an error instead. NaNs in numerical computing are essentially a mechanism for "runtime error handling" that can arise from values in array computation. If something can be identified based on type information, that is a better user experience.
I think we can consider these edge cases bugs and fix them :) |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Flexible indexes: review the implementation of alignment and merge 955936490 | |
945592260 | https://github.com/pydata/xarray/issues/5647#issuecomment-945592260 | https://api.github.com/repos/pydata/xarray/issues/5647 | IC_kwDOAMm_X844XJfE | benbovy 4160723 | 2021-10-18T09:43:18Z | 2021-10-18T10:47:26Z | MEMBER | Ok, I'm now hitting another obstacle while working on reindex. So one general approach for both alignment and re-indexing that is "pretty straightforward" to implement with the new Xarray index data model is: (1) find matching indexes based on their corresponding coordinate/dimension names and index type, and (2) call Relaxing any of the constraints in (1) would be much more complicated to implement. We would need to do some sort of mapping from dimension labels to all involved (multi-/meta-)indexes, then check for conflicts in dimension indexers returned from multiple indexes, possibly handle/remove multi-index coordinates (or convert back to non-indexed coordinates), etc. One problem with
Cases 3 and 4 are a big obstacle for me right now. I really don't know how we can still support those special cases without deeply re-thinking the problem. If they could be considered as a bug, then the new implementation would already raise an nice error message :-). |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Flexible indexes: review the implementation of alignment and merge 955936490 | |
944273383 | https://github.com/pydata/xarray/issues/5647#issuecomment-944273383 | https://api.github.com/repos/pydata/xarray/issues/5647 | IC_kwDOAMm_X844SHfn | benbovy 4160723 | 2021-10-15T12:53:45Z | 2021-10-15T12:57:38Z | MEMBER | I've now re-implemented most of the alignment logic in #5692, using a dedicated class so that all intermediate steps are implemented in a clearer and more maintainable way. One remaining task is to get the re-indexing logic right. Rather than relying on an ```python DimIntIndexers = Dict[Hashable, Any] class Index: def reindex(self, dim_labels: Mapping[Hashable, Any]) -> DimIntIndexers: ...
``` For alignment, I think we could directly call |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Flexible indexes: review the implementation of alignment and merge 955936490 | |
937865982 | https://github.com/pydata/xarray/issues/5647#issuecomment-937865982 | https://api.github.com/repos/pydata/xarray/issues/5647 | IC_kwDOAMm_X8435rL- | benbovy 4160723 | 2021-10-07T14:48:02Z | 2021-10-07T14:48:02Z | MEMBER | @shoyer I'm looking more deeply into this. I think it will be impossible to avoid a heavy refactoring in I'm thinking about the following approach:
Does that sounds right to you? I'd really appreciate any guidance on this before going further as I'm worried about missing something important or another more straightforward approach. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Flexible indexes: review the implementation of alignment and merge 955936490 | |
889483293 | https://github.com/pydata/xarray/issues/5647#issuecomment-889483293 | https://api.github.com/repos/pydata/xarray/issues/5647 | IC_kwDOAMm_X841BHAd | benbovy 4160723 | 2021-07-29T21:49:02Z | 2021-07-29T21:49:02Z | MEMBER |
Agreed.
I could see some examples (e.g., union or intersection of staggered grids) where it could still be useful to have a (meta-)index that implements alignment, though. Actually, while working on #5636 I was thinking more about how to perform alignment based on We could maybe add an Alternatively, we could allow I'd lean towards the 2nd option, which is consistent with the class method constructors added in #5636. Not sure the 1st option is a good idea and it doesn't solve all the issues mentioned in my comment above. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Flexible indexes: review the implementation of alignment and merge 955936490 | |
889288761 | https://github.com/pydata/xarray/issues/5647#issuecomment-889288761 | https://api.github.com/repos/pydata/xarray/issues/5647 | IC_kwDOAMm_X841AXg5 | shoyer 1217238 | 2021-07-29T16:26:01Z | 2021-07-29T16:26:01Z | MEMBER | Conceptually, This is potentially ambiguous for cases with multiple (non-MultiIndex) indexes, if the result of aligning the separate indexes does not match, e.g., if we have:
- Index for We should raise an error in this cases (and/or suggest setting a MultiIndex). It should also be OK if not every index implements alignment, in which case they should raise an error if coordinates do not match exactly. With regards to your concern:
I don't think we should try to support alignment with multi-dimensional (non-orthogonal) inside But if your indexes correpsond to multi-dimensional arrays (rather than just multiple coordinates), joining indexes together is a much messier operation, one that may not be possible without thinking carefully about interpolation/regridding. In many cases it may not be possible to retain the multi-dimensional nature of the indexes in the result (e.g., the union of two partially overlapping grids). Since the desired behavior is not clear, it is better to force the user to make a choice, either by stacking the dimensions in multi-dimensional indexes into 1D (like a MultiIndex) or by calling a specialized method for interpolation/regridding. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Flexible indexes: review the implementation of alignment and merge 955936490 |
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 2