python - تصدير جدول LaTeX من الباندا DataFrame




pandas (2)

هل هناك طريقة سهلة لتصدير إطار بيانات (أو حتى جزء منه) إلى LaTeX؟

لقد بحثت في google ولم أتمكن إلا من إيجاد حلول باستخدام asciitables.


فقط اكتب إلى ملف نصي. لا يوجد سحر:

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}")

تحتوي to_latex طريقة to_latex :

In [42]: df = pd.DataFrame(np.random.random((5, 5)))

In [43]: df
Out[43]: 
          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

In [44]: 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}

يمكنك ببساطة كتابة هذا إلى ملف tex.

افتراضيا اللاتكس سيجعل هذا على النحو التالي:

ملاحظة: تقدم طريقة to_latex العديد من خيارات التكوين.





pandas