Czy istnieje łatwy sposób na wyeksportowanie ramki danych (lub jej części) do LaTeX?Wyeksportuj tabelę LaTeX z pand DataFrame
Szukałem w google i byłem w stanie znaleźć rozwiązania tylko za pomocą asciitables.
Czy istnieje łatwy sposób na wyeksportowanie ramki danych (lub jej części) do LaTeX?Wyeksportuj tabelę LaTeX z pand DataFrame
Szukałem w google i byłem w stanie znaleźć rozwiązania tylko za pomocą asciitables.
DataFrames mają to_latex
metody:
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}
można po prostu napisać to do pliku tex.
Domyślnie lateksu uczyni to jako:
Uwaga: metoda to_latex
oferuje kilka opcji konfiguracyjnych.
@hayden dzięki za edycję – bmu
thx, że działało! Musiałem tylko zaktualizować moje pandy – PlagTag
czy 'to_latex()' obsługuje multiindeksowanie? – TheChymera
Wystarczy napisać do pliku tekstowego. To nie magia:
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}")
Chociaż przydatne jest pokazanie, jak łatwo jest eksportować dane tabelaryczne do pliku LaTeX za pomocą zwykłego Pythona, oczywiście lepiej jest używać istniejących obiektów, np. 'DataFrame.to_latex()' w tym przypadku. –
Witam, całkowicie się zgadzam. Moje powody to: 1. Zacząłem od pand przed wersją 0.9, gdzie to_latex nie było dostępne 2. Może to być przydatne, gdy potrzebne jest jakieś dostosowanie lub ktoś chce wyeksportować do innego formatu, np. XAML, niestandardowy XML lub cokolwiek innego . Ale dziękuję za komentarz –
Oprócz odpowiedzi tutaj, to pytanie ma również interesujące podejście. Eksportuj do pliku csv, a następnie importuj csv do lateksu: http://tex.stackexchange.com/questions/54990/convert-numpy-array-into-tabular –