guillaumefrd commited on
Commit
0a7fec5
·
1 Parent(s): 82e5cca

add code to get its true rank

Browse files
Files changed (1) hide show
  1. get_real_rank.py +27 -0
get_real_rank.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # code to get its "true" rank on the agent course challenge
2
+ # - remove all the users that used the code space of someone else (won't work for the forks)
3
+ # - set the same rank for all the people with same score
4
+
5
+ import pandas as pd
6
+ from datasets import load_dataset
7
+
8
+ username = 'guillaumefrd'
9
+
10
+ dataset = load_dataset('agents-course/unit4-students-scores')
11
+ df = pd.DataFrame(dataset['train'])
12
+ df.sort_values('score', ascending=False, inplace=True)
13
+
14
+ # keep only users that submitted from their own code space or than ran locally (with None in code space)
15
+ df['to_keep'] = df.apply(lambda row: row['username'] in row['code'] or 'None' in row['code'], axis=1)
16
+ df = df[df['to_keep'] == True]
17
+
18
+ # compute rank (all users with same score have the same rank)
19
+ ranks_to_add = 0
20
+ for i, score in enumerate(df['score'].unique()):
21
+ df.loc[df['score'] == score, 'rank'] = ranks_to_add + i + 1
22
+ ranks_to_add += len(df[df['score'] == score]) - 1
23
+
24
+ # find `username` rank
25
+ rank = int(df[df['username'] == username]['rank'].values[0])
26
+ total = len(df['code'].unique())
27
+ print(f"{username} rank: {rank}/{total} (top {rank/total*100:.1f}%)")