In this article we will discuss how to print the a Dataframe in pretty formats.
Table of Contents
- Print Pandas Dataframe as Table
- Print Dataframe with or without Index
- Pretty Print Pandas Dataframe to HTML
- Pretty Print Dataframe in Markdown Format
- Pretty Print Dataframe using Tabulate Package
- Pretty Print Dataframe in psql format
- Pretty Print Dataframe in fancy grid format
- Pretty Print Dataframe in plain-text format
- Pretty Print Dataframe in RST format
- Pretty Print Dataframe in HTML format
- Pretty Print Dataframe in github format
- Pretty Print Dataframe in pretty format
- Pretty Print Dataframe in tsv format
A DataFrame is a data structure that will store the data in rows and columns. We can create a DataFrame using pandas.DataFrame() method. Let’s create a dataframe with 4 rows and 4 columns
import pandas as pd # Create a Dataframe for a Dictionary df=pd.DataFrame({'id' :[58,59,60,61], 'name' :['sravan','jyothika','preethi','srinadh'], 'age' :[22,21,22,23], 'subjects':['java','php','sql','r/python']}) # Display the Dataframe print(df)
Output:
id name age subjects 0 58 sravan 22 java 1 59 jyothika 21 php 2 60 preethi 22 sql 3 61 srinadh 23 r/python
Print Pandas Dataframe as Table
We are going to print the dataframe in tabular format using the following methods.
Using set_option() method
Here we are going to display the dataframe in tabular format using set_option() method. In this method we have to set the options given below. We have to use display() method to display the dataframe.
- pd.set_option(‘display.max_rows’, n )
- This option is used to set the maximum rows to be displayed. If we want to display the all rows , we have to specify as None in n parameter.
- pd.set_option(‘display.max_columns’, n)
- This option is used to set the maximum columns to be displayed. If we want to display the all columns , we have to specify as None in n parameter.
- pd.set_option(‘display.width’, n)
- This option is used to set the width of the dataframe in n parameter.
- pd.set_option(‘display.colheader_justify’, ‘right/center/left’)
- This option is used to display the column header the dataframe in the specified position.
- pd.set_option(‘display.precision’, n)
- This option is used to set the precision for the column in the dataframe
Let’s see the example code
Frequently Asked:
- Select Rows by column value in Pandas
- Pandas Tutorial #13 – Iterate over Rows & Columns of DataFrame
- Print a specific row of a pandas DataFrame
- Convert JSON to a Pandas Dataframe
#display all rows pd.set_option('display.max_rows', None) #display all columns pd.set_option('display.max_columns', None) #set width as 100 pd.set_option('display.width', 100) #set column header in left pd.set_option('display.colheader_justify', 'left') #set precision as 5 pd.set_option('display.precision', 5) #display dataframe print(df)
Output:
id name age subjects 0 58 sravan 22 java 1 59 jyothika 21 php 2 60 preethi 22 sql 3 61 srinadh 23 r/python
Here , we are going to display the dataframe in table format with width as 100 and precision as 5 to display all rows and columns. Also all column headers are left alligned.
Using option_context() method
This method will also takes same parameters as set_option() method while setting all the parameters in a single call.
Let’s see the example
# using option_context() # to display all rows and columns # with table width as 100 with column precision as 5 # with columns headers of left align with pd.option_context('display.max_rows', None, 'display.max_columns', None, 'display.width', 100, 'display.precision', 5, 'display.colheader_justify', 'left'): # Display the Dataframe print(df)
Output:
id name age subjects 0 58 sravan 22 java 1 59 jyothika 21 php 2 60 preethi 22 sql 3 61 srinadh 23 r/python
Here , we displayed the dataframe in table format with width as 100 and precision as 5 to display all rows and columns. Also column headers are left aligned.
Print Dataframe with or without Index
In Pandas, the Dataframe provides a member function to_strint(). It returns a string i.e. in console-friendly tabular format. We are going to use that to print a Dataframe with & without index. For example,
# Display the dataframe and ignore index print(df.to_string(index=False)) # Display the dataframe with index print(df.to_string(index=True))
Output:
id name age subjects 58 sravan 22 java 59 jyothika 21 php 60 preethi 22 sql 61 srinadh 23 r/python id name age subjects 0 58 sravan 22 java 1 59 jyothika 21 php 2 60 preethi 22 sql 3 61 srinadh 23 r/python
Pretty Print Pandas Dataframe to HTML
We are going to convert the dataframe into HTML format and print the dataframe using to_html() function.
Syntax is as follows:
df.to_html('name.html')
where, df is the input dataframe and name is the name of the HTML converted.
Example Code:
#print in html df.to_html('data.html')
It created a html file i.e. data.html. In the html file Dataframe contents are saved in table format using <table>, <tr> and <td> tags. When you will open the html file in browser, then it will be like this,
Pretty Print Dataframe in Markdown Format
We will print dataframe in markdown format. Markdown is a lightweight markup language which will create the formatted text from the plain-text editor.
Syntax:
df.to_markdown()
It Returns the Dataframe contents in Markdown-friendly format string.
It requires the tabulate package. You can install it using following command
pip install tabulate
Example: Print the dataframe in markdown format.
# print dataframe in Markdown format print(df.to_markdown())
Output:
| | id | name | age | subjects | |---:|-----:|:---------|------:|:-----------| | 0 | 58 | sravan | 22 | java | | 1 | 59 | jyothika | 21 | php | | 2 | 60 | preethi | 22 | sql | | 3 | 61 | srinadh | 23 | r/python |
Pretty Print Dataframe using Tabulate Package
We can print dataframe in different formats using tabulate moduleBefore that we have to install this package. The command is
pip install tabulate
Syntax:
tabulate(df, headers='keys', tablefmt)
where, df is the input dataframe and headers refers to the columns. Lets see the different formats.
Pretty Print Dataframe in psql format
This format will prints the dataframe in plsql format.
Syntax:
tabulate(df, headers='keys', tableformat='psql')
Example:
#import tabulate module from tabulate import tabulate #print dataframe in psql format by specifying headers print(tabulate(df, headers='keys', tablefmt='psql'))
Output:
+----+------+----------+-------+------------+ | | id | name | age | subjects | |----+------+----------+-------+------------| | 0 | 58 | sravan | 22 | java | | 1 | 59 | jyothika | 21 | php | | 2 | 60 | preethi | 22 | sql | | 3 | 61 | srinadh | 23 | r/python | +----+------+----------+-------+------------+
Pretty Print Dataframe in fancy grid format
This format will prints the dataframe in grid format.
Syntax:
tabulate(df, headers='keys', tableformat='fancy_grid')
Example:
#import tabulate module from tabulate import tabulate #display in fancy grid format print(tabulate(df, headers='keys', tablefmt='fancy_grid'))
Output:
╒════╤══════╤══════════╤═══════╤════════════╕ │ │ id │ name │ age │ subjects │ ╞════╪══════╪══════════╪═══════╪════════════╡ │ 0 │ 58 │ sravan │ 22 │ java │ ├────┼──────┼──────────┼───────┼────────────┤ │ 1 │ 59 │ jyothika │ 21 │ php │ ├────┼──────┼──────────┼───────┼────────────┤ │ 2 │ 60 │ preethi │ 22 │ sql │ ├────┼──────┼──────────┼───────┼────────────┤ │ 3 │ 61 │ srinadh │ 23 │ r/python │ ╘════╧══════╧══════════╧═══════╧════════════╛
Pretty Print Dataframe in plain-text format
This format will prints the dataframe in text format.
Syntax:
tabulate(df, headers='keys', tableformat='plain')
Example:
#import tabulate module from tabulate import tabulate #display in plain text format print(tabulate(df, headers='keys', tablefmt='plain'))
Output:
id name age subjects 0 58 sravan 22 java 1 59 jyothika 21 php 2 60 preethi 22 sql 3 61 srinadh 23 r/python
Pretty Print Dataframe in RST format
This format will prints the dataframe in restructured text format.
Syntax:
tabulate(df, headers='keys', tableformat='rst')
Example:
#import tabulate module from tabulate import tabulate #display in restructured text format print(tabulate(df, headers='keys', tablefmt='rst'))
Output:
==== ==== ======== ===== ========== .. id name age subjects ==== ==== ======== ===== ========== 0 58 sravan 22 java 1 59 jyothika 21 php 2 60 preethi 22 sql 3 61 srinadh 23 r/python ==== ==== ======== ===== ==========
Pretty Print Dataframe in HTML format
This format will prints the dataframe in HTML format.
Syntax:
tabulate(df, headers='keys', tableformat='html')
Example:
#import tabulate module from tabulate import tabulate #display in html format print(tabulate(df, headers='keys', tablefmt='html'))
Output:
<table><thead> <tr><th style="text-align: right;"> </th><th style="text-align: right;"> id</th><th>name </th><th style="text-align: right;"> age</th><th>subjects </th></tr> </thead> <tbody> <tr><td style="text-align: right;"> 0</td><td style="text-align: right;"> 58</td><td>sravan </td><td style="text-align: right;"> 22</td><td>java </td></tr> <tr><td style="text-align: right;"> 1</td><td style="text-align: right;"> 59</td><td>jyothika</td><td style="text-align: right;"> 21</td><td>php </td></tr> <tr><td style="text-align: right;"> 2</td><td style="text-align: right;"> 60</td><td>preethi </td><td style="text-align: right;"> 22</td><td>sql </td></tr> <tr><td style="text-align: right;"> 3</td><td style="text-align: right;"> 61</td><td>srinadh </td><td style="text-align: right;"> 23</td><td>r/python </td></tr> </tbody> </table>
Pretty Print Dataframe in github format
This format will prints the dataframe in github format.
Syntax:
tabulate(df, headers='keys', tableformat='github')
Example:
#import tabulate module from tabulate import tabulate #display in github format print(tabulate(df, headers='keys', tablefmt='github'))
Output:
| | id | name | age | subjects | |----|------|----------|-------|------------| | 0 | 58 | sravan | 22 | java | | 1 | 59 | jyothika | 21 | php | | 2 | 60 | preethi | 22 | sql | | 3 | 61 | srinadh | 23 | r/python |
Pretty Print Dataframe in pretty format
This format will prints the dataframe in pretty format.
Syntax:
tabulate(df, headers='keys', tableformat='pretty')
Example:
#import tabulate module from tabulate import tabulate #display in pretty format print(tabulate(df, headers='keys', tablefmt='pretty'))
Output:
+---+----+----------+-----+----------+ | | id | name | age | subjects | +---+----+----------+-----+----------+ | 0 | 58 | sravan | 22 | java | | 1 | 59 | jyothika | 21 | php | | 2 | 60 | preethi | 22 | sql | | 3 | 61 | srinadh | 23 | r/python | +---+----+----------+-----+----------+
Pretty Print Dataframe in tsv format
tsv stands for tab separated value.
This format will prints the dataframe in tsv format.
Syntax:
tabulate(df, headers='keys', tableformat='tsv')
Example:
#import tabulate module from tabulate import tabulate #display in tsv format print(tabulate(df, headers='keys', tablefmt='tsv'))
Output:
id name age subjects 0 58 sravan 22 java 1 59 jyothika 21 php 2 60 preethi 22 sql 3 61 srinadh 23 r/python
Summary
In this article, we discussed how to pretty print pandas dataframe with 4 methods and in different formats.