In this article, we are going to see how to Pretty Print the entire pandas Series / Dataframe. There are various pretty print options are available for use with this method. Here we will discuss 3 ways to Pretty Print the entire Pandas Dataframe:
- Use pd.set_options() method
- Use pd.option_context() method
- Use options.display() Method
Creating DataFrame to Pretty-print an entire Pandas DataFrame
import pandas as pd
# Create a dataframe df = pd.DataFrame({
'Product_id' : [ 'ABC' , 'DEF' , 'GHI' , 'JKL' ,
'MNO' , 'PQR' , 'STU' , 'VWX' ],
'Stall_no' : [ 37 , 38 , 9 , 50 , 7 , 23 , 33 , 4 ],
'Grade' : [ 1 , 0 , 0 , 2 , 0 , 1 , 3 , 0 ],
'Category' : [ 'Fashion' , 'Education' , 'Technology' ,
'Fashion' , 'Education' , 'Technology' ,
'Fashion' , 'Education' ],
'Demand' : [ 10 , 12 , 14 , 15 , 13 , 20 , 10 , 15 ],
'charges1' : [ 376 , 397 , 250 , 144 , 211 , 633 , 263 , 104 ],
'charges2' : [ 11 , 12 , 9 , 13 , 4 , 6 , 13 , 15 ],
'Max_Price' : [ 4713 , 10352 , 7309 , 20814 , 9261 ,
6104 , 5257 , 5921 ],
'Selling_price' : [ 4185.9477 , 9271.490256 , 6785.701362 ,
13028.91782 , 906.553935 , 5631.247872 ,
3874.264992 , 4820.943 ]})
display(df) |
Output:
Some Important terms to use in pretty print options are discussed below:
- display.max_columns: The maximum number of columns pandas should print. If None is provided as an argument all columns are printed.
- display.max_rows: The maximum number of rows pandas should print. If None is provided as an argument all rows are printed.
- display.colheader_justify: Controls the alignment of column headers
- display.precision: Floating point output precision in terms of a number of places after the decimal, for regular formatting as well as scientific notation.
- display.width: Width of the display in characters. If set to None, pandas will correctly auto-detect the width.
Reduce the Size of a Pandas Dataframe using pd.set_options()
We will use some options of the set_options() method on the above df to see all rows, all columns, all columns in one row with center-aligned column headers, and rounding the number of places after the decimal for each floating value to 2.
pd.set_option( 'display.max_rows' , None )
pd.set_option( 'display.max_columns' , None )
pd.set_option( 'display.width' , 1000 )
pd.set_option( 'display.colheader_justify' , 'center' )
pd.set_option( 'display.precision' , 2 )
display(df) |
Output:
Once set through pd.set_options() method, the same settings are used with all the next Dataframe printing commands.
Reduce the Size of a Pandas Dataframe using pd.option_context()
The pd.set_option() method provides permanent setting for displaying dataframe. pd.option_context() temporarily sets the options in with statement context. Following code prints the above df with 4 rows, all columns, all columns in one row with left-aligned column headers, and rounding the number of places after the decimal for each floating value.
with pd.option_context( 'display.max_rows' , 5 ,
'display.max_columns' , None ,
'display.width' , 1000 ,
'display.precision' , 3 ,
'display.colheader_justify' , 'left' ):
display(df)
|
Output:
Reduce the Size of a Pandas Dataframe using options.display
Following code prints the above df with 4 rows, 4 columns, all columns in one row with left-aligned column headers, and not rounding the number of places after the decimal for each floating value.
import pandas as pd
import numpy as np
def display_options():
display = pd.options.display
display.max_columns = 5
display.max_rows = 4
display.max_colwidth = 222
display.width = None
return None
display_options() display(df) |
Output: