我试图更好地格式化我的pandas数据帧输出。
我有一个系列,然后我将其转换为数据帧然后输出到LaTeX。
meal.to_frame().to_latex('meal.tex')
这会产生:
\begin{tabular}{lr}
\toprule
{} & count \\
\midrule
Meal & \\
Spam & 11723 \\
Eggs & 5865 \\
\bottomrule
\end{tabular}
如何将\toprule
,\midrule
,\bottomrule
更改为\hline
。
我如何才能将索引名称model
的名称显示为列标题?我要找的最终结果是:
\begin{tabular}{lr}
\hline
Meal & count \\
\hline
Spam & 11723 \\
Eggs & 5865 \\
\hline
\end{tabular}
答案 0 :(得分:0)
您可以尝试使用制表https://pypi.python.org/pypi/tabulate。 我一直用它来做我的Python项目。你有两种不同的LaTeX风格。但它的输出只是一个包含LaTeX代码的字符串,因此您总是可以使用自定义函数来替换某些部分。
如果这不起作用,请尝试除to_frame方法之外的其他方法。您可以使用as_matrix()
获取数据,添加标签并从那里开始。
对于真正的自定义样式,您需要编写一个简单的脚本来自己构建字符串。
答案 1 :(得分:0)
to_frame()
的输出是一个字符串,因此您可以将\toprule
,\midrule
和\bottomrule
替换为\hline
:
print(df.to_latex(index=False).replace('\\toprule', '\\hline').replace('\\midrule', '\\hline').replace('\\bottomrule','\\hline'))
(假设df
是您的pandas数据帧)
设置index=False
将删除第一个示例标题中的奇数{}
。