【发布时间】:2015-08-16 18:39:27
【问题描述】:
我的项目:我正在为网球运动员创建一个 elo 评级,我有两个不同的数据框。
(1)玩家评分的数据框 (2)按时间顺序排列的匹配数据框
在处理比赛数据库时,我想检索两名球员的评分并应用两个函数(我已经定义了它们)predicted_result(rating1, rating2) 和 updated_rating(rating1, rating2)。第一个给出了给定收视率的比赛预期结果,第二个给出了更新后的收视率。最后我需要在玩家数据库中记录更新的评分。
我认为我正在寻找的是逐行循环:
- 在匹配数据框的第一行,检索来自
的评分 玩家数据库 - 同时运行两个函数
- 用播放器中的更新评级替换旧评级 数据库。
匹配数据帧
Winner Loser
0 Nadal Federer
1 Djokovic Verdasco
2 Nadal Djokovic
3 Del Potro Verdasco
玩家数据框
Player Rating
0 Nadal 2320
1 Djokovic 2280
2 Verdasco 2120
3 Federer 1890
4 Del potro 1542
我在下面找到了指示如何向下滚动公式的答案,但我错过了如何将更新后的评分保存在播放器数据框上
【问题讨论】:
-
这是一个多部分的问题,理想情况下应该是每个问题 1 个问题。对于第一部分,我会将每场比赛的球员评分添加到比赛中,例如
match['winner_rating'] = match['Player'].map(player.set_index('Player')['Rating']),然后对失败者评分进行类似的操作,运行您的公式,然后更新评分 df
标签: python loops numpy pandas dataframe