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)
有没有办法防止这种情况发生?
是的,默认情况下,方法的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)