最初,您可以简单地在Pandas DataFrame
对象的to_latex
方法中传递参数.现在,您会收到一条关于签名更改的警告消息.例子:
>>> import pandas as pd
>>> import numpy as np
>>> data = {f'Column {i + 1}': np.random.randint(0, 10, size=(10, )) for i in range(5)}
>>> df = pd.DataFrame(data)
>>> df
Column 1 Column 2 Column 3 Column 4 Column 5
0 1 8 3 3 5
1 8 6 7 7 3
2 2 1 6 1 1
3 9 7 9 5 5
4 5 4 7 8 9
5 9 5 3 6 2
6 6 9 9 6 8
7 8 7 2 6 5
8 4 9 4 6 2
9 2 6 5 3 0
>>> lat_og = df.to_latex(index=False)
<ipython-input-7-986346043a05>:1: FutureWarning: In future versions `DataFrame.to_latex` is expected to utilise the base implementation of `Styler.to_latex` for formatting and rendering. The arguments signature may therefore change. It is recommended instead to use `DataFrame.style.to_latex` which also contains additional functionality.
lat_og = df.to_latex(index=False)
>>> print(lat_og)
\begin{tabular}{rrrrr}
\toprule
Column 1 & Column 2 & Column 3 & Column 4 & Column 5 \\
\midrule
1 & 8 & 3 & 3 & 5 \\
8 & 6 & 7 & 7 & 3 \\
2 & 1 & 6 & 1 & 1 \\
9 & 7 & 9 & 5 & 5 \\
5 & 4 & 7 & 8 & 9 \\
9 & 5 & 3 & 6 & 2 \\
6 & 9 & 9 & 6 & 8 \\
8 & 7 & 2 & 6 & 5 \\
4 & 9 & 4 & 6 & 2 \\
2 & 6 & 5 & 3 & 0 \\
\bottomrule
\end{tabular}
您可以在没有索引列的情况下获得所需的输出,但如果它会发生变化,或者如果我必须连续使用import warnings
来修复它,我不想继续使用它.
警告消息建议使用style
属性.如何使用style
属性忽略索引列?我阅读了与style
属性相关联的to_latex
方法的文档,但它没有如上所述的简单参数.例子:
>>> lat_new = df.style.to_latex(hrules=True)
>>> print(lat_new)
\begin{tabular}{lrrrrr}
\toprule
& Column 1 & Column 2 & Column 3 & Column 4 & Column 5 \\
\midrule
0 & 1 & 8 & 3 & 3 & 5 \\
1 & 8 & 6 & 7 & 7 & 3 \\
2 & 2 & 1 & 6 & 1 & 1 \\
3 & 9 & 7 & 9 & 5 & 5 \\
4 & 5 & 4 & 7 & 8 & 9 \\
5 & 9 & 5 & 3 & 6 & 2 \\
6 & 6 & 9 & 9 & 6 & 8 \\
7 & 8 & 7 & 2 & 6 & 5 \\
8 & 4 & 9 & 4 & 6 & 2 \\
9 & 2 & 6 & 5 & 3 & 0 \\
\bottomrule
\end{tabular}
索引列在latex 中.有哪些方法可以在不使用原始方法的情况下删除索引列?
Edit
如果您遇到这个问题,请知道pandas开发人员计划不推荐DataFrame.to_latex()
方法.他们目前正在使用Styler.to_latex()
方法.到目前为止,签名并不相同,需要其他方法来隐藏索引列或转义latex语法.有关此过程的更多最新更新,请参见41649,兔子洞的开始请参见44411.他们计划在Pandas 2.0中修复这个问题.