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/1666#issuecomment-438357503,https://api.github.com/repos/pydata/xarray/issues/1666,438357503,MDEyOklzc3VlQ29tbWVudDQzODM1NzUwMw==,6815844,2018-11-13T17:21:38Z,2018-11-13T17:21:38Z,MEMBER,"> E.g. consider a 1000x1000x1000 array for which I want to apply rolling window of length 500 along the final dimension; I believe Rolling.construct/reduce will construct a 1000x1000x1000x500 array. construct method does not allocate that large array in memory. It uses the strided trick and therefore consumers only the order of 1000x1000x1000. But sometimes the user function does not like strangely strided array, e.g. nansum allocate large array with 1000x1000x1000x500 internally. What function are you using? Maybe we can add apply method but I think we need to decide a good balance between memory and computational efficiency. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,269297904 https://github.com/pydata/xarray/issues/1666#issuecomment-438324506,https://api.github.com/repos/pydata/xarray/issues/1666,438324506,MDEyOklzc3VlQ29tbWVudDQzODMyNDUwNg==,6815844,2018-11-13T16:12:25Z,2018-11-13T16:12:25Z,MEMBER,"Maybe we need a better API similar to Groupby.apply, but it can be doable by [`construct` method](http://xarray.pydata.org/en/stable/generated/xarray.core.rolling.DataArrayRolling.construct.html#xarray.core.rolling.DataArrayRolling.construct) that gives another DataArray with windowed dimension attached to the last position. We can apply any function on this constructed DataArray.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,269297904