我有范围
np.arange(1,11) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
对于每个元素i,在我的范围内,我想计算从元素i = 0到当前元素的平均值。结果将是这样的:
array([ 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. , 5.5])
# got this result via np.cumsum(np.arange(1,11,dtype=np.float32))/(np.arange(1, 11))
我想知道numpy / pandas中是否没有开箱即用的功能可以给我这个结果?
您可以使用expanding()
(需要熊猫0.18.0):
ser = pd.Series(np.arange(1, 11))
ser.expanding().mean()
Out:
0 1.0
1 1.5
2 2.0
3 2.5
4 3.0
5 3.5
6 4.0
7 4.5
8 5.0
9 5.5
dtype: float64
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句