bottleneck icon indicating copy to clipboard operation
bottleneck copied to clipboard

Where is move_nanstd?

Open Xiams1921 opened this issue 2 years ago • 1 comments

the docstring of move_std says: Moving window standard deviation along the specified axis, optionally ignoring NaNs.

how can I ignoring NaNs so the function do same thing like nanstd on each moving_window?

I find a function called bn.move_nanstd in old version, but I can't call it in 1.3.2 on linux,

for exmaple:

a = np.array([1, 2, 3, np.nan, 5, 6, 7, 8])
bn.move_std(a, 7) -> array([nan, nan, nan, nan, nan, nan, nan, nan])
bn.nanstd(a) -> 2.4411439272335804

however the result I want is: bn.move_std(a, 7) -> array([nan, nan, nan, nan, nan, nan, nan, 2.4411439272335804])

Xiams1921 avatar Oct 14 '21 03:10 Xiams1921

bn.move_std(a, window=8, min_count=7) gives the result you want. The default value of min_count is equal to window, which means the moving window result will be nan if any nan value exists in the window.

jkadbear avatar Jun 28 '22 05:06 jkadbear