大熊猫中是否有任何函数可以模拟excel公式,例如'= sum($ A $ 1:A10'(对于第10行),即该公式应从第1行获取滚动数据。
熊猫滚动功能需要一个整数值作为窗口参数。
相当于=SUM($A$1:A1)
pandas .expanding().sum()
(需要pandas 0.18.0):
ser = pd.Series([1, 2, 3, 4])
ser
Out[3]:
0 1
1 2
2 3
3 4
dtype: int64
ser.expanding().sum()
Out[4]:
0 1.0
1 3.0
2 6.0
3 10.0
您还可以通过apply来应用泛型函数:
ser.expanding().apply(lambda x: np.percentile(x, 90))
Out:
0 1.0
1 1.9
2 2.8
3 3.7
dtype: float64
或直接与分位数:
ser.expanding().quantile(0.9)
Out[15]:
0 1.0
1 1.0
2 2.0
3 3.0
dtype: float64
请注意,第90个百分位数等于第0.9个分位数。但是,Series.quantile和Series.expanding.quantile返回不同的结果,这可能是一个bug。
np.percentile返回与Excel的PERCENTILE.INC相同的结果。对于PERCENTILE.EXC,我以前在这里编写了一个小函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句