import pandas as pd
df = pd.DataFrame(...)
df.to_latex(latex_filepath)
with open(latex_filepath, "r") as fr:
txt = fr.read()
make_bold_strs = (
"column-name-1",
"column-name-2",
...
)
for s in make_bold_strs:
txt = txt.replace(s, "\\textbf{" + s + "}")
with open(latex_filepath, "w") as fw:
fw.write(txt)
4条答案
按热度按时间ztyzrc3y1#
更新
我被告知on GitHub,这是完全可能的平原Pandas,但有一些失踪的文档,这将很快更新。
您可以使用下面的行。
旧答案
这里有一个完整的例子,这是改编自官方文件。
有一个关键字可以打印粗体列
bold_rows=True
。遗憾的是,没有kyword参数为列做同样的事情。但我可以用它来检查我的代码是否为列标题提供了相同的结果。我使用
to_latex()
的结果并将其分成三个部分。一个部分是列名称行。在这一行中,我使用正则表达式添加\text{}
-字符串。我的代码只有在列名没有空格的情况下才能工作。在输出中,您可以看到,标题现在是粗体。
ercv8c1e2#
这里给出的答案有些不必要。您可以使用
pandas.Styler
实现。Styler.to_latex
的文档提供了其他方法,如果你想自定义LaTeX粗体函数,例如:例如使用\textbf{}
而不是\bfseries
。Styler实施最终旨在取代较旧且灵活性较差的
DataFrame.LatexFormatter
lymgl2op3#
基于mosc9575操作
df.to_latex
输出的直觉,您可以使用一些唯一的分隔符 Package 列标题,以使替换更容易。0yycz8jy4#
这有点麻烦,但是如果你提前知道列名,你可以将你的表保存到一个文件中,然后直接用python脚本更新文件。在乳胶项目中,您可以使用
input{<filepath>}
命令导入保存的文件。将保存到
latex_filepath
的表导入到主latex文件中,如下所示:\input{latex_filepath}