import pandas as pd df = pd.read_csv("data/raw_scores.csv") COLS = df.columns.to_list() # add column models_query with same values a smodels at the end of columns df.insert(len(COLS), "models_query", df["Models"]) # average score mean_columns = df.iloc[:,[5] + list(range(7, len(df.columns) - 3))] df.insert(2, "Average score", mean_columns.mean(axis=1).round(2)) # add win rate columns for each language old_size = len(df.columns) for col in df.columns[6:-2]: df[col + " rank"] = df[col].rank(ascending=False) df[col + " rank"] = len(df) - (df[col + " rank"] - 1) df["Win Rate"] = df.iloc[:, old_size:].mean(axis=1).round(2) df = df.drop(df.columns[old_size:-1], axis=1) df = df[["Models", "Size (B)", "Win Rate"] + df.columns[2:-1].tolist()] # sort with regard to column win rate df = df.sort_values(by=["Win Rate"], ascending=False) # add column with model links as https://huggingface.co/WizardLM/WizardCoder-15B-V1.0, https://huggingface.co/bigcode/starcoder, https://huggingface.co/bigcode/starcoderbase, https://huggingface.co/bigcode/starcoderbase-7b, # https://huggingface.co/bigcode/starcoderbase-3b, https://huggingface.co/bigcode/starcoderbase-1b, https://huggingface.co/bigcode/santacoder, https://huggingface.co/replit/replit-code-v1-3b, https://huggingface.co/THUDM/codegeex2-6b links = { "WizardCoder-15B-V1.0": "https://huggingface.co/WizardLM/WizardCoder-15B-V1.0", "OctoCoder-15B": "https://huggingface.co/bigcode/octocoder", "OctoGeeX-7B": "https://huggingface.co/bigcode/octogeex", "StableCode-3B": "https://huggingface.co/stabilityai/stablecode-completion-alpha-3b", "StarCoder-15B": "https://huggingface.co/bigcode/starcoder", "StarCoderBase-15B": "https://huggingface.co/bigcode/starcoderbase", "StarCoderBase-7B": "https://huggingface.co/bigcode/starcoderbase-7b", "StarCoderBase-3B": "https://huggingface.co/bigcode/starcoderbase-3b", "StarCoderBase-1.1B": "https://huggingface.co/bigcode/starcoderbase-1b", "SantaCoder-1.1B": "https://huggingface.co/bigcode/santacoder", "Replit-2.7B": "https://huggingface.co/replit/replit-code-v1-3b", "CodeGeex2-6B": "https://huggingface.co/THUDM/codegeex2-6b", "CodeGen25-7B-multi": "https://huggingface.co/Salesforce/codegen25-7b-multi", "CodeGen25-7B-mono": "https://huggingface.co/Salesforce/codegen25-7b-mono", "CodeGen-16B-Multi": "https://huggingface.co/Salesforce/codegen-16B-multi", } df["Links"] = df["Models"].map(links) df.insert(0, "T", "🟢") df.loc[(df["Models"].str.contains("WizardCoder") | df["Models"].str.contains("Octo")), "T"] = "🔶" # print first 5 rows and 10 cols print(df.iloc[:5, :10]) df.to_csv("data/code_eval_board.csv", index=False)