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/1130#issuecomment-457307207,https://api.github.com/repos/pydata/xarray/issues/1130,457307207,MDEyOklzc3VlQ29tbWVudDQ1NzMwNzIwNw==,1217238,2019-01-24T18:34:37Z,2019-01-24T18:34:37Z,MEMBER,Closing this in favor of https://github.com/pydata/xarray/issues/1130,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,189998469
https://github.com/pydata/xarray/issues/1130#issuecomment-261599007,https://api.github.com/repos/pydata/xarray/issues/1130,261599007,MDEyOklzc3VlQ29tbWVudDI2MTU5OTAwNw==,1217238,2016-11-18T18:03:06Z,2016-11-18T18:03:06Z,MEMBER,"> But maybe_wrap_array is simple and does not break anything, it wraps it only when it's safe.
It's safe in the sense that the `xarray.DataArray` contains the information from the numpy array, but it's not safe in terms of a stable type signature.
> I think that could be quite likely as one might want to apply a DataArray-compatible function. This would force users to remember which type of ""function applier"" to use for a given function and might be confusing.
I think this is unavoidable. It's impossible to design a single entry point that works smoothly for both use cases.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,189998469
https://github.com/pydata/xarray/issues/1130#issuecomment-261318464,https://api.github.com/repos/pydata/xarray/issues/1130,261318464,MDEyOklzc3VlQ29tbWVudDI2MTMxODQ2NA==,1217238,2016-11-17T17:52:02Z,2016-11-17T17:52:02Z,MEMBER,"As for `dim`/`axis`, my inclination would be to unilaterally remap any `dim` keyword argument to `.apply` to `axis` using the `get_axis_num`. Something like:
```
dim = kwargs.pop('dim', None)
if dim is not None:
if 'axis' in kwargs:
raise ValueError('cannot set both `dim` and `axis`')
kwargs['axis'] = self.get_axis_num(dim)
```
In the unlikely event your function takes a `dim` argument that should not be remapped, you can pass in a lambda or `functools.partial` instead.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,189998469
https://github.com/pydata/xarray/issues/1130#issuecomment-261317205,https://api.github.com/repos/pydata/xarray/issues/1130,261317205,MDEyOklzc3VlQ29tbWVudDI2MTMxNzIwNQ==,1217238,2016-11-17T17:47:12Z,2016-11-17T17:47:12Z,MEMBER,"On `Dataset`, `.pipe` and `.apply` work differently -- `pipe` passes the entire Dataset whereas `apply` passes each of the variables in turn.
I'm OK with calling `maybe_wrap_array` in `DataArray.apply`, but I'd rather not adjust `DataArray.pipe`, which is intentionally very simple.
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,189998469