bottleneck
bottleneck copied to clipboard
Where is move_nanstd?
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])
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.