home / github / issue_comments

Menu
  • GraphQL API
  • Search all tables

issue_comments: 611719548

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/3959#issuecomment-611719548 https://api.github.com/repos/pydata/xarray/issues/3959 611719548 MDEyOklzc3VlQ29tbWVudDYxMTcxOTU0OA== 35968931 2020-04-09T19:46:50Z 2020-04-09T19:47:45Z MEMBER

All that said, is it still a bad idea to try to subclass Xarray data structures even if the intent was never to touch any part of the internal APIs?

One of the more immediate problems you'll find if you subclass is that xarray internally uses methods like self._construct_dataarray(dims, values, coords, attrs) to construct return values, so you will likely find that for a lot of methods you call you will only get back a bare DataArray, not the subclass you put in.

You could make custom accessors which perform checks on the input arrays when they get used? ```python @xr.register_dataset_accessor('haplo') def HaploDatasetAccessor: def init(self, ds) check_conforms_to_haplo_requirements(ds) self.data = ds

def analyse(self):
    ...

ds.haplo.analyse() ```

I'm also wondering whether given that the only real difference (not just by convention) of your desired data structures from xarray's is the dtype, then (if xarray actually offered it) would something akin to pandas' ExtensionDtype solve your problem?

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