移动 GroupBys

Moving GroupBys

我的数据集看起来像

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) 是否有 method/api 开箱即用。 c)我在谷歌上搜索了这种解决方案,我得到的最接近的是移动平均值/滚动平均值/移动组。这个操作有术语吗?

在 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 中执行此操作,但话虽如此,我也不确定这是否是一项 "parallelalizable" 任务:因为每一步都依赖于上一步,所以我我不确定您如何将其分解为多个步骤。