Is there an easy way to export a data frame (or even a part of it) to LaTeX?
I searched in google and was only able to find solutions using asciitables.
Is there an easy way to export a data frame (or even a part of it) to LaTeX?
I searched in google and was only able to find solutions using asciitables.
DataFrames have a to_latex (see the pandas docs) method:
>>> df = pd.DataFrame(np.random.random((5, 5))) >>> df 0 1 2 3 4 0 0.886864 0.518538 0.359964 0.167291 0.940414 1 0.834130 0.022920 0.265131 0.059002 0.530584 2 0.648019 0.953043 0.263551 0.595798 0.153969 3 0.207003 0.015721 0.931170 0.045044 0.432870 4 0.039886 0.898780 0.728195 0.112069 0.468485 >>> print(df.to_latex()) \begin{tabular}{|l|c|c|c|c|c|c|} \hline {} & 0 & 1 & 2 & 3 & 4 \\ \hline 0 & 0.886864 & 0.518538 & 0.359964 & 0.167291 & 0.940414 \\ 1 & 0.834130 & 0.022920 & 0.265131 & 0.059002 & 0.530584 \\ 2 & 0.648019 & 0.953043 & 0.263551 & 0.595798 & 0.153969 \\ 3 & 0.207003 & 0.015721 & 0.931170 & 0.045044 & 0.432870 \\ 4 & 0.039886 & 0.898780 & 0.728195 & 0.112069 & 0.468485 \\ \hline \end{tabular} You can simply write this to a tex file.
By default latex will render this as:

Note: the to_latex (see the pandas docs) method offers several configuration options.
to_latex() support multi-indexing?float_format=lambda x: '%10.2f' % x proved to be very useful in my case. Also, in LaTeX, I had to add \usepackage{booktabs}, as the output uses \toprule which requires it.latex code?If you want to save it:
with open('mytable.tex', 'w') as tf: tf.write(df.to_latex()) df.to_latex('mytable.tex')Just write to a textfile. It's no magic:
import pandas as pd df = pd.DataFrame({"a":range(10), "b":range(10,20)}) with open("my_table.tex", "w") as f: f.write("\\begin{tabular}{" + " | ".join(["c"] * len(df.columns)) + "}\n") for i, row in df.iterrows(): f.write(" & ".join([str(x) for x in row.values]) + " \\\\\n") f.write("\\end{tabular}") DataFrame.to_latex() in this case.small update: it is now recommended to use df.style.to_latex('mytable.tex') instead of df.to_latex('mytable.tex')
escape = False.