Spaces:
Running
Running
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 |