Pandas、SciPy或NumPy有提供累积标准差函数吗?
我有一个Pandas的序列。我需要计算sigma_i,也就是从开始到索引i
的标准差。有没有现成的函数可以高效地计算这个?
我注意到有cummax和cummin这两个函数。
1 个回答
10
请查看 pandas.expanding_std
。
举个例子:
import numpy as np
import matplotlib.pyplot as plt
import pandas
%matplotlib inline
data = pandas.Series(np.random.normal(size=37))
full_std = np.std(data)
expand_std = pandas.expanding_std(data, min_periods=1)
fig, ax = plt.subplots()
expand_std.plot(ax=ax, color='k', linewidth=1.5, label='Expanded Std. Dev.')
ax.axhline(y=full_std, color='g', label='Full Value')
ax.legend()