如何计算每组的累计和,具体使用DataFrame
abstraction
;在PySpark
中呢?
下面是一个示例数据集:
df = sqlContext.createDataFrame( [(1,2,"a"),(3,2,"a"),(1,3,"b"),(2,2,"a"),(2,3,"b")],
["time", "value", "class"] )
+----+-----+-----+
|time|value|class|
+----+-----+-----+
| 1| 2| a|
| 3| 2| a|
| 1| 3| b|
| 2| 2| a|
| 2| 3| b|
+----+-----+-----+
我想为(有序)time
变量上的每个class
分组添加一个value
的累积和列。
4条答案
按热度按时间wpx232ag1#
这可以使用窗口函数和窗口范围中的Window.unboundedPreceding值的组合来完成,如下所示:
第一个
kadbb4592#
更新之前的答案。正确和精确的方法是:
ruarlubt3#
我试过这种方法,它对我很有效。
gab6jxml4#
我在此链接中创建此函数以供用途:kolang/列函数/累计和