pyspark数据帧中分组元素的分组和除法计数

Question_bank

我在pyspark下面有一个数据框我想做groupby和计数中的categorydata frame

df.show()
+--------+----+
|category| val|
+--------+----+
|    cat1|  13|
|    cat2|  12|
|    cat2|  14|
|    cat3|  23|
|    cat1|  20|
|    cat1|  10|
|    cat2|  30|
|    cat3|  11|
|    cat1|   7|
|    cat1|   8|
+--------+----+


res = df.groupBy('category').count()

res.show()

+--------+-----+
|category|count|
+--------+-----+
|    cat2|    3|
|    cat3|    2|
|    cat1|    5|
+--------+-----+

我得到了想要的结果。现在,我要计算average类别。data frame有3天的记录。我想计算这3天的平均计数。

我想要的结果如下。我基本上想做count/no.of.days

+--------+-----+
|category|count|
+--------+-----+
|    cat2|    1|
|    cat3|    1|
|    cat1|    2|
+--------+-----+

我怎样才能做到这一点?

谭瑞恩

我相信你想要的是

from pyspark.sql import functions as F

df.groupby('category').agg((F.count('val') / 3).alias('average'))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章