Spaces:
Runtime error
Runtime error
import pandas as pd | |
from tabulate import tabulate | |
import re | |
# 创建一个示例 DataFrame | |
data = { | |
'Model': [ | |
'GPT-4', 'GLM-4', 'GPT-3.5-turbo', 'Qwen-72B-Chat', 'ERNIE-Bot-4.0', 'LLaMA-2-70B', | |
'DevOps-Model-14B-Chat', 'GLM-3-turbo', 'Qwen-14B-Chat', 'LLaMA-2-13B', 'InternLM2-Chat-20B', | |
'LLaMA-2-7B', 'Qwen-7B-Chat', 'Baichuan2-13B-Chat', 'InternLM2-Chat-7B', 'Mistral-7B', 'ChatGLM3-6B' | |
], | |
'Naive': [ | |
'/', '64.77', '68.30', '70.32', '60.00', '55.00', '63.85', '59.53', '62.60', '53.30', '60.48', | |
'48.20', '52.10', '51.90', '48.20', '47.22', '42.10' | |
], | |
'SC': [ | |
'/', '64.77', '68.30', '70.32', '60.00', '56.20', '61.96', '59.53', '59.70', '53.00', '60.48', | |
'46.80', '51.00', '51.60', '48.20', '47.22', '42.10' | |
], | |
'CoT': [ | |
'88.70', '77.06', '70.90', '70.13', '70.00', '66.80', '41.15', '63.65', '50.58', '56.80', '45.10', | |
'52.00', '48.30', '44.50', '49.74', '45.58', '43.47' | |
], | |
'CoT+SC': [ | |
'/', '77.06', '72.50', '70.22', '70.00', '67.20', '44.01', '63.65', '55.88', '61.00', '45.10', | |
'55.20', '49.80', '47.45', '49.74', '45.58', '43.47' | |
] | |
} | |
df = pd.DataFrame(data) | |
# 使用tabulate生成LaTeX表格 | |
latex_table = tabulate(df, headers='keys', tablefmt='latex', showindex=False, | |
colalign='left') | |
def gen_latex_table(caption, label, dataframe): | |
# print(caption) | |
# print(label) | |
# print(dataframe) | |
if len(dataframe.columns) > 2: | |
table = tabulate(dataframe, headers='keys', tablefmt='latex', showindex=False, | |
missingval='/', | |
colalign='left') | |
else: | |
table = tabulate(dataframe, headers='keys', tablefmt='latex', showindex=False, | |
missingval='/') | |
table = ( | |
"\\begin{table}[]\n" | |
f"\\caption{{{caption}}}\n" | |
f"\\label{{{label}}}\n" | |
"\\footnotesize\n" | |
f"{table}\n" | |
"\\end{table}" | |
) | |
# 确认生成的\hline只有三个 | |
assert table.count("\\hline") == 3 | |
# 将table中的第一个\hline改为\toprule | |
table = table.replace("\\hline", "\\toprule", 1) | |
# 将table中的第二个\hline改为\midrule | |
table = table.replace("\\hline", "\\midrule", 1) | |
# 将table中的最后一个\hline改为\bottomrule | |
table = table.replace("\\hline", "\\bottomrule", 1) | |
# 将table中的所有nan(独立的单词)替换为/ | |
table = re.sub(r'\bnan\b', '/', table) | |
return table | |
# # 添加表格环境 | |
# latex_table = ( | |
# "\\begin{table}[]\n" | |
# "\\caption{LLMs' overall performance (Accuracy\\%) on Wired Network Operations English test set (3-shot). " | |
# "\\normalfont Models are ranked based on their best performance (marked as bold) among different settings.}\n" | |
# "\\label{tab:network_eng_3shot}\n" | |
# "\\footnotesize\n" | |
# f"{latex_table}\n" | |
# "\\end{table}" | |
# ) | |
# latex_table = gen_latex_table( | |
# caption="LLMs' overall performance (Accuracy\%) on Wired Network Operations English test set (3-shot). " | |
# "Models are ranked based on their best performance (marked as bold) among different settings.", | |
# label="tab:network_eng_3shot", | |
# table=latex_table | |
# ) | |
# print(latex_table) | |