pandas to_latex() seems to be a convenient way to convert bigger tabulars into latex code. However, writing math mode, the $
seems to get escaped.
An example:
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'))
output:
\begin{tabular}{ll}
\toprule
{} & value \\
\midrule
\$x\textasciicircum2\$ & 3 \\
\bottomrule
\end{tabular}
Is there a way to prevent this from happening?
Yes, the method's escape parameter is set to True by default. You can change it to False:
print(df.to_latex(encoding='utf-8', escape=False))
\begin{tabular}{ll}
\toprule
{} & value \\
\midrule
$x^2$ & 3 \\
\bottomrule
\end{tabular}