pandas.DataFrame.to_latex #
- 数据框。to_latex ( buf = None , * , columns = None , header = True , index = True , na_rep = 'NaN' , formatters = None , float_format = None , sparsify = None , index_names = True , bold_rows = False , column_format = None , longtable = None, escape = None, encoding = None, decimal = '.', multicolumn = None, multicolumn_format = None, multirow = None, caption = None, label = None, position = None)[来源] #
将对象渲染为 LaTeX 表格、长表或嵌套表。
需要
\usepackage{{booktabs}}
.输出可以复制/粘贴到主 LaTeX 文档中或从带有\input{{table.tex}}
.版本 2.0.0 中进行了更改:重构为通过 jinja2 模板使用 Styler 实现。
- 参数:
- buf str,Path 或类似 StringIO,可选,默认 None
要写入的缓冲区。如果没有,则输出以字符串形式返回。
- 标签列列表,可选
要写入的列的子集。默认写入所有列。
- header bool 或 str 列表,默认 True
写出列名称。如果给出了字符串列表,则假定它是列名的别名。
- 索引bool,默认 True
写入行名称(索引)。
- na_rep str,默认 'NaN'
缺少数据表示。
- 格式化函数列表或 {{str: function}} 的字典,可选
格式化程序功能可按位置或名称应用于列的元素。每个函数的结果必须是 unicode 字符串。列表的长度必须等于列数。
- float_format单参数函数或str,可选,默认None
浮点数格式化程序。例如
float_format="%.2f"
和float_format="{{:0.2f}}".format
都会导致 0.1234 被格式化为 0.12。- 稀疏布尔值,可选
对于具有分层索引的 DataFrame 设置为 False 以打印每行的每个多索引键。默认情况下,将从配置模块读取该值。
- index_names bool, 默认 True
打印索引的名称。
- bold_rows布尔值,默认 False
将输出中的行标签设为粗体。
- column_format str,可选
列格式按照LaTeX 表格格式指定,例如 'rcl' 表示 3 列。默认情况下,“l”将用于除数字列之外的所有列,数字列默认为“r”。
- longtable布尔值,可选
使用长表环境而不是表格环境。需要将 usepackage{{longtable}} 添加到您的 LaTeX 序言中。默认情况下,该值将从 pandas 配置模块中读取,如果选项为 “longtable” ,则设置为True。
styler.latex.environment
版本 2.0.0 中已更改:影响此参数的 pandas 选项已更改。
- escape布尔值,可选
默认情况下,如果选项为 “latex”,将从 pandas 配置模块读取该值并将其设置为True。当设置为 False 时,可防止转义列名称中的乳胶特殊字符。
styler.format.escape
版本 2.0.0 中的更改:影响此参数的 pandas 选项已更改,默认值已更改为False。
- 编码str,可选
表示输出文件中使用的编码的字符串,默认为“utf-8”。
- 十进制str,默认 '.'
被识别为小数点分隔符的字符,例如欧洲的“,”。
- 多列布尔值,默认 True
使用多列来增强多索引列。默认值将从配置模块中读取,并设置为 option
styler.sparse.columns
。版本 2.0.0 中已更改:影响此参数的 pandas 选项已更改。
- multicolumn_format str,默认“r”
多列的对齐方式,与column_format类似 ,默认会从config模块中读取,并设置为 option
styler.latex.multicol_align
。版本 2.0.0 中的更改:影响此参数的 pandas 选项已更改,默认值“r”也已更改。
- 多行布尔值,默认 True
使用多行来增强多索引行。需要将 usepackage{{multirow}} 添加到您的 LaTeX 序言中。将在包含的行上打印居中标签(而不是顶部对齐),通过斜线分隔组。默认值将从 pandas 配置模块中读取,并设置为 option
styler.sparse.index
。版本 2.0.0 中的更改:影响此参数的 pandas 选项已更改,默认值也已更改为True。
- 标题str 或元组,可选
元组(full_caption,short_caption),结果为
\caption[short_caption]{{full_caption}}
;如果传递单个字符串,则不会设置短标题。- 标签str,可选
\label{{}}
要放置在输出中的 LaTeX 标签。这\ref{{}}
在主文件中使用.tex
。- 位置str,可选
表的 LaTeX 位置参数,放置
\begin{{}}
在输出中的后面。
- 返回:
- 字符串或无
如果 buf 为 None,则以字符串形式返回结果。否则返回 None。
也可以看看
io.formats.style.Styler.to_latex
使用条件格式将 DataFrame 渲染为 LaTeX。
DataFrame.to_string
将 DataFrame 渲染为控制台友好的表格输出。
DataFrame.to_html
将 DataFrame 渲染为 HTML 表。
笔记
从 v2.0.0 开始,此方法已更改为使用 Styler 实现作为
Styler.to_latex()
过jinja2
孔模板的一部分。这意味着这jinja2
是一个要求,并且需要安装才能使此方法发挥作用。建议用户改用 Styler,因为该实现更新更频繁,并且输出具有更大的灵活性。例子
将通用 DataFrame 转换为 LaTeX,并格式化:
>>> df = pd.DataFrame(dict(name=['Raphael', 'Donatello'], ... age=[26, 45], ... height=[181.23, 177.65])) >>> print(df.to_latex(index=False, ... formatters={"name": str.upper}, ... float_format="{:.1f}".format, ... )) \begin{tabular}{lrr} \toprule name & age & height \\ \midrule RAPHAEL & 26 & 181.2 \\ DONATELLO & 45 & 177.7 \\ \bottomrule \end{tabular}