基于多准则的Pypark求平均

2024-05-15 02:19:56 发布

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

我有学生证和每年的费率(学生评价)。我想计算培训开始日期和结束日期之间的平均比率(当开始和结束行被填充且不为空时):average-rate = average(start-date.rate, between rates...end-date)。让我解释一下:

这是我的数据:

ID  Year     rate      start-date      end-date
1   2015      2          2015           2017
8   2012      3          2010           2012
7   2007      12          Null          2008
1   2016      4           2015          2017
8   2010      7          2010           2012
9   2002      10          2002          null
1   2015      2          2015           2017
1   2017      8          2015           2017
8   2011      3          2010           2012

在本表中:

  • 删除日期单元格中空值的ID7ID9(因为我们找不到与训练相关的平均值)。

  • 重复的行(如表底部的两行)将减少为一个唯一的行。

  • 计算平均率,例如ID1。开始日期为2015年,结束日期为2017年。因此,我们需要对第二栏和第三栏(20152016和2017年)的费率进行平均。 所以对于ID1:

2015 rate = 2
2016 rate = 4
2017 rate = 8
average-rate = (14/3 = 4.66)

输出表将是

ID   avarage_rate
1     4.66
8     4.33

有什么想法吗?你知道吗


Tags: 数据iddateratebetweenstart学生评价

热门问题