import numpy as np
import bottleneck as bn

# 欠損値を含む配列
a = np.array([1, 2, np.nan, 4, 5])

# NaN-aware 集計
print(bn.nanmean(a))    # 3.0
print(bn.nanmedian(a))  # 3.0
print(bn.nanstd(a))     # 1.5811...
print(bn.anynan(a))     # True

# 移動窓演算
print(bn.move_mean(a, window=2, min_count=1))
# [ 1.   1.5  2.   4.   4.5]

print(bn.move_std(a, window=3, min_count=1))

# ベンチマーク
bn.bench()