mrfakename commited on
Commit
c4f7417
·
verified ·
1 Parent(s): 5f845dc

Update app/leaderboard.py

Browse files
Files changed (1) hide show
  1. app/leaderboard.py +10 -6
app/leaderboard.py CHANGED
@@ -41,12 +41,16 @@ def get_leaderboard(reveal_prelim = False, hide_battle_votes = False):
41
  for i in range(len(df)):
42
  for j in range(len(df)):
43
  if i != j:
44
- expected_a = 1 / (1 + 10 ** ((df['score'][j] - df['score'][i]) / 400))
45
- expected_b = 1 / (1 + 10 ** ((df['score'][i] - df['score'][j]) / 400))
46
- actual_a = df['upvote'][i] / df['votes'][i] if df['votes'][i] > 0 else 0.5
47
- actual_b = df['upvote'][j] / df['votes'][j] if df['votes'][j] > 0 else 0.5
48
- df.at[i, 'score'] += 32 * (actual_a - expected_a)
49
- df.at[j, 'score'] += 32 * (actual_b - expected_b)
 
 
 
 
50
  df['score'] = round(df['score'])
51
  ## ELO SCORE
52
  df = df.sort_values(by='score', ascending=False)
 
41
  for i in range(len(df)):
42
  for j in range(len(df)):
43
  if i != j:
44
+ try:
45
+ expected_a = 1 / (1 + 10 ** ((df['score'][j] - df['score'][i]) / 400))
46
+ expected_b = 1 / (1 + 10 ** ((df['score'][i] - df['score'][j]) / 400))
47
+ actual_a = df['upvote'][i] / df['votes'][i] if df['votes'][i] > 0 else 0.5
48
+ actual_b = df['upvote'][j] / df['votes'][j] if df['votes'][j] > 0 else 0.5
49
+ df.at[i, 'score'] += 32 * (actual_a - expected_a)
50
+ df.at[j, 'score'] += 32 * (actual_b - expected_b)
51
+ except:
52
+ print(f'Error in ELO calculation for {df["name"][i]} and {df["name"][j]}')
53
+ pass
54
  df['score'] = round(df['score'])
55
  ## ELO SCORE
56
  df = df.sort_values(by='score', ascending=False)