Choose Pandas display settings, inspect defaults, format previews and restore previous options without changing table data.
Show Table of Contents ↓import pandas as pd
report = pd.DataFrame({"record": range(1, 13), "amount": [i / 3 for i in range(1, 13)],
"region": ["North", "South"] * 6, "status": ["paid"] * 12})
print(report.head(3))
assert report.shape == (12, 4)Expected output
record amount region status
0 1 0.333333 North paid
1 2 0.666667 South paid
2 3 1.000000 North paidsaved_rows = pd.get_option("display.max_rows")
saved_columns = pd.get_option("display.max_columns")
try:
pd.set_option("display.max_rows", 100, "display.max_columns", 50)
print("Row limit:", pd.get_option("display.max_rows"))
print("Column limit:", pd.get_option("display.max_columns"))
assert pd.get_option("display.max_rows") == 100
finally:
pd.set_option("display.max_rows", saved_rows, "display.max_columns", saved_columns)
assert pd.get_option("display.max_rows") == saved_rowsExpected output
Row limit: 100
Column limit: 50before = pd.get_option("display.precision")
with pd.option_context("display.max_rows", 6, "display.min_rows", 6,
"display.max_columns", 3, "display.precision", 2,
"display.width", 80, "display.show_dimensions", True):
print(report)
assert pd.get_option("display.precision") == before
assert report.shape == (12, 4)Expected output
record ... status
0 1 ... paid
1 2 ... paid
2 3 ... paid
.. ... ... ...
9 10 ... paid
10 11 ... paid
11 12 ... paid
[12 rows x 4 columns]pd.describe_option("display.precision")
print("Current precision:", pd.get_option("display.precision"))Expected output
display.precision : int
Floating point output precision in terms of number of places after the
decimal, for regular formatting as well as scientific notation. Similar
to ``precision`` in :meth:`numpy.set_printoptions`.
[default: 6] [currently: 6]
Current precision: 6with pd.option_context("display.max_rows", 6, "display.max_columns", 3):
pd.reset_option("display.max_rows")
pd.reset_option("display.max_columns")
print("Default row limit:", pd.get_option("display.max_rows"))
print("Default column limit:", pd.get_option("display.max_columns"))
assert pd.get_option("display.max_rows") == saved_rows
assert pd.get_option("display.max_columns") == saved_columnsExpected output
Default row limit: 60
Default column limit: 0text = report.head(3).to_string(index=False, float_format=lambda value: f"{value:.2f}")
print(text)
assert report.loc[0, "amount"] == 1 / 3
assert len(report) == 12Expected output
record amount region status
1 0.33 North paid
2 0.67 South paid
3 1.00 North paidprecision_before = pd.get_option("display.precision")
print(report.head(2).to_string(index=False, float_format=lambda value: f"{value:.3f}"))
assert pd.get_option("display.precision") == precision_before
assert report.loc[0, "amount"] == 1 / 3Expected output
record amount region status
1 0.333 North paid
2 0.667 South paidOpen in Google Colab View on GitHub
Run examples in order, inspect the table display and try the exercise. Save a copy to keep edits.
Reference: Pandas Display Options documentation.
Author & Instructor at plus2net
I write and maintain practical tutorials on Python, PHP, SQL, JavaScript, HTML, jQuery, and web development at plus2net. The tutorials focus on clear explanations, working examples, and code that readers can test and adapt while learning.