移动GroupBys

时间:2015-07-12 23:10:49

标签: python-2.7 numpy apache-spark pyspark

我的数据集看起来像

1
2
3
4
5
...

我有一个中间步骤,应该做下面的

1
1,2
1,2,3
1,2,3,4
1,2,3,4,5
....

最后计算其平均值

1
1.5
2
2.5
3
...

问题 a)有没有办法在python / py-spark中实现它? b)是否有方法/ api开箱即用。 c)我用google搜索这种解决方案,我得到的最接近的是移动平均值/滚动平均值/移动组。这个操作有一个术语吗?

1 个答案:

答案 0 :(得分:0)

在Pandas中,这被称为expanding_mean

import pandas as pd
df = pd.Series(range(1,6))
s = pd.Series(range(1,6))
pd.expanding_mean(s)
Out[128]: 
0    1.0
1    1.5
2    2.0
3    2.5
4    3.0
dtype: float64

我不确定你是如何在Spark中做到这一点的,但是那说,我也不确定这是否是一个可以平行的""任务:由于每一步都依赖于上一步,我不确定你是如何将其分解为步骤的。