home / github / issue_comments

Menu
  • Search all tables
  • GraphQL API

issue_comments: 236960237

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/issues/934#issuecomment-236960237 https://api.github.com/repos/pydata/xarray/issues/934 236960237 MDEyOklzc3VlQ29tbWVudDIzNjk2MDIzNw== 1217238 2016-08-02T16:27:16Z 2016-08-02T16:27:16Z MEMBER

Yes, this would be nice to support automatically.

Doing indexing requiring constructing a hash table (in the form of a pandas.Index), which we currently cache on xarray.Coordinate variables. Coordinate is a Variable subclass used only for dimension coordinates (maybe we should rename it DimCoordinate or Coordinate1D).

The only material difference between Coordinate and Variable is that coordinate caches values in the form of a pandas.Index, whereas Variable caches values in the form of a numpy array. This means that Coordinate is currently immutable (because Index is immutable) and some subtle distinctions in terms of how different types of data are stored due to Index vs ndarray differences (basically, keeping things as an index is more efficient for handling native pandas types like Period, but a little less efficient if you don't need indexing).

So there are a few approaches we could take here: 1. Convert 1D coordinates that are not dimensions into a pandas.Index via .to_index() when indexing happens with .sel. This approach would be non-ideal, because we would need to recreate the hash table every time indexing happens. 2. Switch all 1D coordinates (even non-dimensions) to use the Coordinate class. This would be the preferred approach, except it would be a breaking change because it would make them immutable. 3. Cache the result of .to_index() on Variable objects, too, and invalidate it when they are changed with __setitem__. The downside is that it makes Variable a little more complex.

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