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/pull/702#issuecomment-223054569,https://api.github.com/repos/pydata/xarray/issues/702,223054569,MDEyOklzc3VlQ29tbWVudDIyMzA1NDU2OQ==,1217238,2016-06-01T16:48:54Z,2016-06-01T16:48:54Z,MEMBER,"No, that should be updated. Thanks for pointing it! ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322 https://github.com/pydata/xarray/pull/702#issuecomment-223005736,https://api.github.com/repos/pydata/xarray/issues/702,223005736,MDEyOklzc3VlQ29tbWVudDIyMzAwNTczNg==,316517,2016-06-01T14:15:25Z,2016-06-01T14:15:25Z,NONE,"The docs say (http://xarray.pydata.org/en/stable/data-structures.html#creating-a-dataarray) > xarray does not (yet!) support labeling coordinate values with a `pandas.MultiIndex` (see gh-164) Is that sentence still accurate given this PR? ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322 https://github.com/pydata/xarray/pull/702#issuecomment-172363285,https://api.github.com/repos/pydata/xarray/issues/702,172363285,MDEyOklzc3VlQ29tbWVudDE3MjM2MzI4NQ==,1217238,2016-01-17T18:41:16Z,2016-01-17T18:41:16Z,MEMBER,"Thanks for taking a look. I'm writing some docs on reshaping today, then will merge this and issue the new release / rename if I have time. On Sat, Jan 16, 2016 at 11:23 PM, Joe Hamman notifications@github.com wrote: > ## @shoyer - this is cool. I just breezed through the code and didn't see anything that jumped out at me. The main API comment I have is about the `repr` which has already been discussed and identified in #719. > > Reply to this email directly or view it on GitHub: > https://github.com/pydata/xarray/pull/702#issuecomment-172298171 ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322 https://github.com/pydata/xarray/pull/702#issuecomment-172298171,https://api.github.com/repos/pydata/xarray/issues/702,172298171,MDEyOklzc3VlQ29tbWVudDE3MjI5ODE3MQ==,2443309,2016-01-17T07:23:44Z,2016-01-17T07:23:44Z,MEMBER,"@shoyer - this is cool. I just breezed through the code and didn't see anything that jumped out at me. The main API comment I have is about the `repr` which has already been discussed and identified in #719. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322 https://github.com/pydata/xarray/pull/702#issuecomment-171503989,https://api.github.com/repos/pydata/xarray/issues/702,171503989,MDEyOklzc3VlQ29tbWVudDE3MTUwMzk4OQ==,953992,2016-01-14T02:13:04Z,2016-01-14T02:13:04Z,MEMBER,"makes sense about dask.array.dropna though I think you should dropna if at all possible (or have an option at least) it IS a bit suprising to get back the full index not sure how common that will be in practice esp if u r stacking multiple levels finally - think about only supporting sequential stacking as it conceptually makes more sense ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322 https://github.com/pydata/xarray/pull/702#issuecomment-171453513,https://api.github.com/repos/pydata/xarray/issues/702,171453513,MDEyOklzc3VlQ29tbWVudDE3MTQ1MzUxMw==,1217238,2016-01-13T22:12:06Z,2016-01-13T22:12:06Z,MEMBER,"> hmm, is dask.array dropna not implemented? I don't see why it couldn't conceptually be done (though a bit unfamiliar with the impl) We have a dropna in xarray. The problem is that for dask arrays, you need to know the shape of the result. With dropna, you don't know the shape until you've actually done the computation, so it can't be done lazily. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322 https://github.com/pydata/xarray/pull/702#issuecomment-171422543,https://api.github.com/repos/pydata/xarray/issues/702,171422543,MDEyOklzc3VlQ29tbWVudDE3MTQyMjU0Mw==,953992,2016-01-13T20:26:03Z,2016-01-13T20:26:14Z,MEMBER,"hmm, is `dask.array` dropna not implemented? I don't see why it couldn't conceptually be done (though a bit unfamiliar with the impl) - `set_index` takes 'data' and makes it an 'index', so that is orthogonal. It would _make_ a new Coordinate. `reset_index` would do the converse. - `stack/unstack` effectively take existing `Coordinates` and transform between them. ok makes sense. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322 https://github.com/pydata/xarray/pull/702#issuecomment-171407924,https://api.github.com/repos/pydata/xarray/issues/702,171407924,MDEyOklzc3VlQ29tbWVudDE3MTQwNzkyNA==,1217238,2016-01-13T19:31:51Z,2016-01-13T19:31:51Z,MEMBER,"@jreback thanks for the comments! > I think the repr, though technically accurate, is a bit misleading. lists of tuples is really only useful as a MI, so why not actually indicate that Agreed -- this is part of my ""better repr"" TODO. > stack/unstack (as in [9]) is not idempotent, as you are reconstituting the full cartesian product of levels. This seems a bit odd though (pandas can do this because its is separately tracking what is actually in the index, via the labels), I don't think you have this though? This is true, and definitely worth noting as a compatibility break. But I do think we have a good reason for this: pandas's stack uses `dropna` (effectively) to drop unused levels, but this operation cannot be done lazily with dask.array. I am happy to force users to do a non-lazy `dropna` explicitly. > these ops are really analogs of set_index/reset_index, rather than stack/unstack, so might be a bit confusing (though I think I get why you are doing it this way), it makes more sense esp for multi-dim. Maybe explain this in the pandas guide? I'm not quite sure what you mean here -- `set_index`/`reset_index` seem independent of these to me (though they would definitely also be worth adding!). The difference I see: - `set_index`: make 1d variables part of a (multi)-index along their existing axis - `stack`: combine orthogonal indexes (along different axes) into a multi-index ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322 https://github.com/pydata/xarray/pull/702#issuecomment-171298177,https://api.github.com/repos/pydata/xarray/issues/702,171298177,MDEyOklzc3VlQ29tbWVudDE3MTI5ODE3Nw==,953992,2016-01-13T13:58:57Z,2016-01-13T13:58:57Z,MEMBER,"couple of comments: - I think the repr, though technically accurate, is a bit misleading. lists of tuples is really only useful as a MI, so why not actually indicate that - `stack/unstack` (as in [9]) is not idempotent, as you are reconstituting the full cartesian product of levels. This seems a bit odd though (pandas can do this because its is separately tracking what is actually in the index, via the labels), I don't think you have this though? - these ops are really analogs of `set_index/reset_index`, rather than `stack/unstack`, so might be a bit confusing (though I think I get why you are doing it this way), it makes more sense esp for multi-dim. Maybe explain this in the pandas guide? ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322 https://github.com/pydata/xarray/pull/702#issuecomment-171191938,https://api.github.com/repos/pydata/xarray/issues/702,171191938,MDEyOklzc3VlQ29tbWVudDE3MTE5MTkzOA==,1197350,2016-01-13T06:47:11Z,2016-01-13T06:47:11Z,MEMBER,"I think the api is great. Stack / unstack is a nice way to describe the operation of aggregating coordinates. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322 https://github.com/pydata/xarray/pull/702#issuecomment-170691105,https://api.github.com/repos/pydata/xarray/issues/702,170691105,MDEyOklzc3VlQ29tbWVudDE3MDY5MTEwNQ==,1217238,2016-01-11T21:11:40Z,2016-01-11T21:11:40Z,MEMBER,"Any opinions, even on the API here? I'd like to merge this this week... ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322 https://github.com/pydata/xarray/pull/702#issuecomment-170241880,https://api.github.com/repos/pydata/xarray/issues/702,170241880,MDEyOklzc3VlQ29tbWVudDE3MDI0MTg4MA==,1197350,2016-01-09T14:04:07Z,2016-01-09T14:04:07Z,MEMBER,"Big :+1: from me. This seems like a feature with enormous potential. > It would be nice to eventually build a full example showing how stack can be combined with lazy loading / dask to do out-of-core PCA on a large geophysical dataset (e.g., identify El Nino) I have an [example notebook](https://github.com/rabernat/python_teaching/blob/master/one_day_workshop/04_xray_sst.ipynb) for doing svd on a sea-surface-temperature field which should be pretty easy to adapt to these new methods. (Currently I just switch over to numpy for the actual svd.) ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322 https://github.com/pydata/xarray/pull/702#issuecomment-170158694,https://api.github.com/repos/pydata/xarray/issues/702,170158694,MDEyOklzc3VlQ29tbWVudDE3MDE1ODY5NA==,1217238,2016-01-08T23:48:31Z,2016-01-08T23:48:31Z,MEMBER,"I'd like to this into the next release in something close to its current state. It's not as full featured as I would eventually like (see checklist above), but it's enough to be useful, and I'd like to get v0.7 (with the new name) out next week. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,124700322