我在pyspark
下面有一个数据框。我想做groupby
和计数中的category
列data 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] 删除。
我来说两句