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/3607#issuecomment-1462754116,https://api.github.com/repos/pydata/xarray/issues/3607,1462754116,IC_kwDOAMm_X85XL9tE,43316012,2023-03-09T20:37:18Z,2023-03-09T20:37:18Z,COLLABORATOR,"Is that still wanted?
It seems like a useful feature to have.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,535686852
https://github.com/pydata/xarray/pull/3607#issuecomment-851459023,https://api.github.com/repos/pydata/xarray/issues/3607,851459023,MDEyOklzc3VlQ29tbWVudDg1MTQ1OTAyMw==,24736507,2021-05-31T12:31:28Z,2021-05-31T12:39:49Z,NONE,"Hello @niowniow! Thanks for updating this PR. We checked the lines you've touched for [PEPĀ 8](https://www.python.org/dev/peps/pep-0008) issues, and found:
There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers:
##### Comment last updated at 2021-05-31 12:39:49 UTC","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,535686852
https://github.com/pydata/xarray/pull/3607#issuecomment-564303463,https://api.github.com/repos/pydata/xarray/issues/3607,564303463,MDEyOklzc3VlQ29tbWVudDU2NDMwMzQ2Mw==,6815844,2019-12-10T23:16:51Z,2019-12-10T23:16:51Z,MEMBER,"@niowniow
Thank you for your contribution!
I think `stride` option is a good idea.
One thing is how to implement this efficient nan-reduction method.
Currently, we use 'bottleneck' if it is installed for speeding up nan-ops, but bottleneck does not support `stride` option.
Another problem is inefficiency of nan-ops of numpy for strided arrays; he copies the strided array into full array and replace np.nan by zero before the reduction.
One way we could do is
1. skip using 'bottleneck' if `stride` is other than 1
2. implement our nan-ops for rolling.
For example, for `nansum`, we can replace `np.nan` by 0 *before* creating the strided arrays and apply usual `sum` for the strided array.
In `rolling.count`, we did a similar thing.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,535686852