groupby和const除法的Pyspark数据帧总和

时间:2020-10-08 12:47:22

标签: dataframe pyspark

假设具有这样的数据框:

 Day     Hour     Values
Monday    7        65      
Monday    8        66
Monday    9        66
Tuesday   7        68
Tuesday   9        68
Tuesday   10       58 

我可以按日期和小时分组,然后将值相加如下:

groupby('Day', 'Hour').agg(F.sum('Values').alias('Values')) 

如果我想同时执行总和与自定义const值的除法怎么办?

简单的方法是在groupby之后执行以下操作:

df.withColumn('Values', F.col("Values")/constant)

有没有比在聚合中组合此表达式更好的方法了?

1 个答案:

答案 0 :(得分:0)

您可以就地完成它:

df_origin.groupby('Day', 'Hour').agg((F.sum('Values') / constant).alias('Values'))