You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为数学竞赛数据集生成历史加权Competitor新列?

求助:大型数学竞赛数据集高效生成Competitor列

原始数据集(按日期降序排列)

Race_ID   Date           Student_ID      Rank  
1         1/1/2023       1               3     
1         1/1/2023       2               2     
1         1/1/2023       3               1     
1         1/1/2023       4               4     
2         11/9/2022      1               2     
2         11/9/2022      2               3     
2         11/9/2022      3               1     
3         17/4/2022      5               4     
3         17/4/2022      2               1     
3         17/4/2022      3               2     
3         17/4/2022      4               3     
4         1/3/2022       1               1     
4         1/3/2022       2               2     
5         1/1/2021       1               2     
5         1/1/2021       2               3     
5         1/1/2021       3               1     

需求说明

需要为数据集新增名为Competitor的列,该列基于历史竞赛的近期加权排名差计算,公式如下:

1/(当前竞赛日期 - 历史竞赛t-1日期) ×(该学生在t-1竞赛的排名 - 当前竞赛其他学生在t-1竞赛的排名之和)

期望生成结果示例

Race_ID   Date           Student_ID      Rank    Competitor
1         1/1/2023       1               3       -0.003268 =(1/112)((2-3)+(2-1))+(1/259)(0)+(1/306)(1-2)+(1/730)((2-3)+(2-1))
1         1/1/2023       2               2       0.03150884
1         1/1/2023       3               1       -0.0308953
1         1/1/2023       4               4       0.01158301
2         11/9/2022      1               2       -0.0051546
2         11/9/2022      2               3       0.00320629
2         11/9/2022      3               1       -0.0048544
3         17/4/2022      5               4       0
3         17/4/2022      2               1       0.02764602
3         17/4/2022      3               2       -0.0063694
3         17/4/2022      4               3       0
4         1/3/2022       1               1       -0.0023585 
4         1/3/2022       2               2       0.00235849
5         1/1/2021       1               2       0
5         1/1/2021       2               3       0
5         1/1/2021       3               1       0

计算逻辑示例

以第一条数据(Race_ID=1,Student_ID=1)为例:

  • 112是当前竞赛日期1/1/2023与历史竞赛11/9/2022的天数差
  • 最终值-0.003268的计算过程:(1/112)((2-3)+(2-1))+(1/259)(0)+(1/306)(1-2)+(1/730)((2-3)+(2-1))

目前不清楚针对大型数据集的高效实现方法,寻求技术帮助。


内容的提问来源于Stack Exchange,提问作者Apook

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 23:20:41