平均火花请求

2024-04-19 08:44:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我想申请平均一周中最忙的一天。在

我的数据帧上有一个字段日(星期一、星期二…)。在

我的请求如下:

mostBusyDayDF = logDF.groupBy("day_week")
  .agg(functions.count("day_week").alias("cntDay"))
  .groupBy("cntDay").agg(functions.avg("cntDay").alias("avgDay"))
  .orderBy(functions.desc("avgDay")).limit(1).show()

结果是所有计数之和的平均值,但我想得到每天的平均值。在

例如:

我的意见

^{pr2}$

我想要输出

day_week       count()        avg()
  Monday            1          1/(1+2+4+2)
  Tuesday           2          2/(1+2+4+2)
  Monday            4          4/(1+2+4+2)
  Monday            2          2/(1+2+4+2)

我怎样才能解决我的问题?在

非常感谢。在


Tags: 数据countaliasfunctionsaggavg平均值groupby
1条回答
网友
1楼 · 发布于 2024-04-19 08:44:51

您需要先对列计数求和,有多种方法可以完成此操作,例如:

sum_count = logDF.count() 

一旦你有了这个总和,你就可以用和除以你的组,例如:

^{pr2}$

注意:lit创建一列文字值。在

相关问题 更多 >