Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Notifications
Mark all as read
Q&A

Post History

71%
+3 −0
Q&A How to plot table from pandas dataframe

posted 2mo ago by Goyo‭  ·  edited 2mo ago by __blackjack__‭

Answer
#3: Post edited by user avatar __blackjack__‭ · 2022-08-11T14:10:46Z (about 2 months ago)
Adding latex as language to code block with LaTeX source so it doen't render as CSS source code.
  • If you want a table for including in a latex document, then [DataFrame.to_latex](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_latex.html) should be the best way.
  • ```
  • import pandas as pd
  • import numpy as np
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • print(df.to_latex())
  • ```
  • Output:
  • ```
  • \begin{tabular}{lrrrr}
  • \toprule
  • {} & a & b & c & d \\
  • \midrule
  • 0 & 0.883901 & 0.910674 & 0.306624 & 0.470303 \\
  • 1 & 0.922612 & 0.219801 & 0.611842 & 0.743910 \\
  • 2 & 0.996779 & 0.379242 & 0.674361 & 0.782147 \\
  • 3 & 0.765185 & 0.011737 & 0.884637 & 0.162817 \\
  • 4 & 0.845882 & 0.916658 & 0.244468 & 0.497107 \\
  • 5 & 0.304585 & 0.047682 & 0.180011 & 0.399425 \\
  • 6 & 0.720945 & 0.906463 & 0.845129 & 0.151063 \\
  • 7 & 0.998912 & 0.631897 & 0.504105 & 0.633605 \\
  • 8 & 0.523401 & 0.322309 & 0.507168 & 0.843320 \\
  • \bottomrule
  • \end{tabular}
  • ```
  • If you want a table for including in a latex document, then [DataFrame.to_latex](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_latex.html) should be the best way.
  • ```
  • import pandas as pd
  • import numpy as np
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • print(df.to_latex())
  • ```
  • Output:
  • ```latex
  • \begin{tabular}{lrrrr}
  • \toprule
  • {} & a & b & c & d \\
  • \midrule
  • 0 & 0.883901 & 0.910674 & 0.306624 & 0.470303 \\
  • 1 & 0.922612 & 0.219801 & 0.611842 & 0.743910 \\
  • 2 & 0.996779 & 0.379242 & 0.674361 & 0.782147 \\
  • 3 & 0.765185 & 0.011737 & 0.884637 & 0.162817 \\
  • 4 & 0.845882 & 0.916658 & 0.244468 & 0.497107 \\
  • 5 & 0.304585 & 0.047682 & 0.180011 & 0.399425 \\
  • 6 & 0.720945 & 0.906463 & 0.845129 & 0.151063 \\
  • 7 & 0.998912 & 0.631897 & 0.504105 & 0.633605 \\
  • 8 & 0.523401 & 0.322309 & 0.507168 & 0.843320 \\
  • \bottomrule
  • \end{tabular}
  • ```
#2: Post edited by user avatar Goyo‭ · 2022-08-01T08:32:17Z (2 months ago)
Fix formatting.
  • If you want a table for including in a latex document, then [DataFrame.to_latex](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_latex.html) should be the best way.
  • ```import pandas as pd
  • import numpy as np
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • print(df.to_latex())
  • ```
  • Output:
  • ```\begin{tabular}{lrrrr}
  • \toprule
  • {} & a & b & c & d \\
  • \midrule
  • 0 & 0.883901 & 0.910674 & 0.306624 & 0.470303 \\
  • 1 & 0.922612 & 0.219801 & 0.611842 & 0.743910 \\
  • 2 & 0.996779 & 0.379242 & 0.674361 & 0.782147 \\
  • 3 & 0.765185 & 0.011737 & 0.884637 & 0.162817 \\
  • 4 & 0.845882 & 0.916658 & 0.244468 & 0.497107 \\
  • 5 & 0.304585 & 0.047682 & 0.180011 & 0.399425 \\
  • 6 & 0.720945 & 0.906463 & 0.845129 & 0.151063 \\
  • 7 & 0.998912 & 0.631897 & 0.504105 & 0.633605 \\
  • 8 & 0.523401 & 0.322309 & 0.507168 & 0.843320 \\
  • \bottomrule
  • \end{tabular}
  • ```
  • If you want a table for including in a latex document, then [DataFrame.to_latex](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_latex.html) should be the best way.
  • ```
  • import pandas as pd
  • import numpy as np
  • df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
  • print(df.to_latex())
  • ```
  • Output:
  • ```
  • \begin{tabular}{lrrrr}
  • \toprule
  • {} & a & b & c & d \\
  • \midrule
  • 0 & 0.883901 & 0.910674 & 0.306624 & 0.470303 \\
  • 1 & 0.922612 & 0.219801 & 0.611842 & 0.743910 \\
  • 2 & 0.996779 & 0.379242 & 0.674361 & 0.782147 \\
  • 3 & 0.765185 & 0.011737 & 0.884637 & 0.162817 \\
  • 4 & 0.845882 & 0.916658 & 0.244468 & 0.497107 \\
  • 5 & 0.304585 & 0.047682 & 0.180011 & 0.399425 \\
  • 6 & 0.720945 & 0.906463 & 0.845129 & 0.151063 \\
  • 7 & 0.998912 & 0.631897 & 0.504105 & 0.633605 \\
  • 8 & 0.523401 & 0.322309 & 0.507168 & 0.843320 \\
  • \bottomrule
  • \end{tabular}
  • ```
#1: Initial revision by user avatar Goyo‭ · 2022-08-01T08:19:12Z (2 months ago)
If you want a table for including in a latex document, then [DataFrame.to_latex](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_latex.html) should be the best way.

```import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(9, 4), columns=['a', 'b', 'c', 'd'])
print(df.to_latex())
```

Output:

```\begin{tabular}{lrrrr}
\toprule
{} &         a &         b &         c &         d \\
\midrule
0 &  0.883901 &  0.910674 &  0.306624 &  0.470303 \\
1 &  0.922612 &  0.219801 &  0.611842 &  0.743910 \\
2 &  0.996779 &  0.379242 &  0.674361 &  0.782147 \\
3 &  0.765185 &  0.011737 &  0.884637 &  0.162817 \\
4 &  0.845882 &  0.916658 &  0.244468 &  0.497107 \\
5 &  0.304585 &  0.047682 &  0.180011 &  0.399425 \\
6 &  0.720945 &  0.906463 &  0.845129 &  0.151063 \\
7 &  0.998912 &  0.631897 &  0.504105 &  0.633605 \\
8 &  0.523401 &  0.322309 &  0.507168 &  0.843320 \\
\bottomrule
\end{tabular}
```