我有一个犯罪数据集,需要绘制过去3年(2019年、2020年、2021年)所有犯罪的月度时间序列折线图。我的方法是创建一个新的 Dataframe ,其中每月的计数是2019-202年的事件总数,然后绘制该 Dataframe 。
例如
enter image description here
目前我已经得出的表如下:
我知道我将不得不使用聚合求和函数,但我是新来的,不确定的方法。
如需更多信息,请回复!
我尝试使用多个过滤器,如df.filter(...)沿着.agg(),但仍然无法获得正确的语法或方法。
1条答案
按热度按时间xzlaal3s1#
由于spark的分布式体系结构,数据集行被分割到不同的工作节点和分区上。在spark中,下一行的计算依赖于前一行的输出的操作更加棘手。
首先,按组对数据进行分区。在您的情况下,没有这样的组,因此为所有行引入一个具有常量值的伪键。然后按此键进行分区,并按必填字段排序。在您的情况下,首先按“年”排序,然后按“月”排序。现在在此窗口中执行求和以获得运行总计: