在汇总表结果中舍入结果(pyspark)

时间:2019-10-29 21:35:20

标签: pyspark aggregate iris-dataset

您好,我将如何舍入这段代码输出的表的内容。

from pyspark.sql.functions import *
exprs = {x: "sum" for x in data2.columns[:4]}
data2.groupBy("Species").agg(exprs).show() 

res 我已经尝试过

round(data2.groupBy("Species").agg(exprs),2).show() #not ok

data2.groupBy("Species").agg(exprs).show().round(2) # not ok

1 个答案:

答案 0 :(得分:4)

回合仅适用于一列。因此,您必须为每列调用它,例如

agg_cols = data2.columns[:4]
exprs = [sum(col(x)).alias(x) for x in agg_cols]
aggregated_df = data2.groupBy("Species").agg(*exprs)
aggregated_df.select(col("Species"), *[round(c, 2) for c in agg_cols]).show()