pandas to_latex()转义了mathmode

Ask*_*ons 4 python latex pandas

pandas to_latex()方法似乎是将更大的tabulars转换为乳胶代码的便捷方式.但是,写数学模式,$似乎逃脱了.

一个例子:

import pandas as pd
import numpy as np

table=np.asarray([['$x^2$',3]])
df=pd.DataFrame(table[:,1], columns=['value'], index=table[:,0])
print(df.to_latex(encoding='utf-8'))
Run Code Online (Sandbox Code Playgroud)

输出:

\begin{tabular}{ll}
\toprule
{} & value \\
\midrule
\$x\textasciicircum2\$ &     3 \\
\bottomrule
\end{tabular}
Run Code Online (Sandbox Code Playgroud)

有没有办法防止这种情况发生?

ayh*_*han 8

是的,默认情况下,方法的escape参数设置为True.您可以将其更改为False:

print(df.to_latex(encoding='utf-8', escape=False))

\begin{tabular}{ll}
\toprule
{} & value \\
\midrule
$x^2$ &     3 \\
\bottomrule
\end{tabular}
Run Code Online (Sandbox Code Playgroud)