MrT*_*T77 8 python latex dataframe pandas
我有以下数据框:
dataset Baseline Version2
F-1 F-2 F-1 F-2
0 G 0.971 0.967 0.971 0.967
1 H 0.780 0.762 0.800 0.777
2 S 0.401 0.320 0.453 0.365
3 T 0.881 0.825 0.989 0.985
Run Code Online (Sandbox Code Playgroud)
我的目标是将其导出到 LaTeX,这是通过 pandas.DataFrame.to_latex() 完成的:
latex = df.to_latex(
index=False,
escape=False,
sparsify=True,
multirow=True,
multicolumn=True,
multicolumn_format='c',
position='H'
)
Run Code Online (Sandbox Code Playgroud)
在 LaTeX 中获取以下代码:
\begin{table}[H]
\centering
\begin{tabular}{lrrrr}
\toprule
dataset & \multicolumn{2}{c}{Baseline} & \multicolumn{2}{c}{Version2} \\
& F-1 & F-2 & F-1 & F-2 \\
\midrule
G & 0.971 & 0.967 & 0.971 & 0.967 \\
H & 0.780 & 0.762 & 0.800 & 0.777 \\
S & 0.401 & 0.320 & 0.453 & 0.365 \\
T & 0.881 & 0.825 & 0.989 & 0.985 \\
\bottomrule
\end{tabular}
\end{table}
Run Code Online (Sandbox Code Playgroud)
渲染如下:
我的问题是:我希望“数据集”中出现多行,用“数据集”和“”覆盖两行,如下所示:
我有multirow=True选择,但我无法完成这项工作。知道如何解决这个问题吗?
我更喜欢稍微不同的东西,即不要在视觉上混合索引和列。这里的索引是“数据集”,列在“Benchmark”和“Version2”下分层作为根。

为此,请从以下数据文件开始
dataset Baseline Version2
F-1 F-2 F-1 F-2
0 G 0.971 0.967 0.971 0.967
1 H 0.780 0.762 0.800 0.777
2 S 0.401 0.320 0.453 0.365
3 T 0.881 0.825 0.989 0.985
Run Code Online (Sandbox Code Playgroud)
然后生成表
dataset Baseline Version2
F-1 F-2 F-1 F-2
0 G 0.971 0.967 0.971 0.967
1 H 0.780 0.762 0.800 0.777
2 S 0.401 0.320 0.453 0.365
3 T 0.881 0.825 0.989 0.985
Run Code Online (Sandbox Code Playgroud)
和乳胶代码
latex = df.to_latex(
index=True,
escape=False,
sparsify=True,
multirow=True,
multicolumn=True,
multicolumn_format='c',
position='p',
bold_rows=True
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1636 次 |
| 最近记录: |