File size: 2,088 Bytes
541cf85
 
 
 
 
 
993709c
 
541cf85
 
 
 
 
 
 
 
 
 
 
 
f36fa2e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
993709c
541cf85
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import pandas as pd

def load_data(data_path):
    df = pd.read_csv(data_path, skiprows=1, header=0).dropna()

    columns = ['Model', 'type', 'open?', 'shot', 'en', 'zh', 'id', 'th', 'vi', 'avg', 'avg_sea']
    columns_sorted = ['rank','type', 'Model', 'open?', 'shot', 'avg', 'avg_sea', 'en', 'zh', 'id', 'th', 'vi']

    
    # Splitting into three separate DataFrames based on the groups M3Exam and MMLU and average
    df_m3exam = df.iloc[:, :11]  # M3Exam columns
    df_mmlu = df.iloc[:, [0, 1, 2, 3, 11, 12, 13, 14, 15, 16, 17]]  # MMLU columns
    df_avg = df.iloc[:, [0, 1, 2, 3, 18, 19, 20, 21, 22, 23, 24]]  # Average columns
    df_mmlu.columns = columns
    df_avg.columns = columns

    # # multiply the values in the ['en', 'zh', 'id', 'th', 'vi', 'avg', 'avg_sea'] by 100 and display as 1 decimal
    for df_tmp in [df_m3exam, df_mmlu, df_avg]:
        df_tmp[['en', 'zh', 'id', 'th', 'vi', 'avg', 'avg_sea']] *= 100
        df_tmp[['en', 'zh', 'id', 'th', 'vi', 'avg', 'avg_sea']] = df_tmp[['en', 'zh', 'id', 'th', 'vi', 'avg', 'avg_sea']].round(2)
        df_tmp['rank'] = df_tmp['avg_sea'].rank(ascending=False).astype(int)
        df_tmp = df_tmp[columns_sorted]

    # sort the DataFrames by the 'avg_sea' column in descending order
    df_m3exam = df_m3exam.sort_values(by='avg_sea', ascending=False)
    df_mmlu = df_mmlu.sort_values(by='avg_sea', ascending=False)
    df_avg = df_avg.sort_values(by='avg_sea', ascending=False)

    # change the column name from 'avg_sea' to 'avg_sea⬆️'
    df_m3exam = df_m3exam.rename(columns={'avg_sea': 'avg_sea⬆️'})
    df_mmlu = df_mmlu.rename(columns={'avg_sea': 'avg_sea⬆️'})
    df_avg = df_avg.rename(columns={'avg_sea': 'avg_sea⬆️'})

    # map the values in the 'type' column to the following values: {'base': 'Base', 'chat': 'Chat'}
    df_m3exam['type'] = df_m3exam['type'].map({'base': '🟢', 'chat': '🔶'})
    df_mmlu['type'] = df_mmlu['type'].map({'base': '🟢', 'chat': '🔶'})
    df_avg['type'] = df_avg['type'].map({'base': '🟢', 'chat': '🔶'})

    return df_m3exam, df_mmlu, df_avg