Temporarily control table display, restore previous options and practise nested contexts and Excel input.
Show Table of Contents ↓import pandas as pd
students = pd.DataFrame({"id": range(1, 36),
"name": [f"Student {i:02d}" for i in range(1, 36)],
"class": ["Four"] * 35, "mark": [40 + i for i in range(35)],
"sex": ["female" if i % 2 else "male" for i in range(35)]}).set_index("id")
print(students.head(3))
assert students.shape == (35, 4)Expected output
name class mark sex
id
1 Student 01 Four 40 male
2 Student 02 Four 41 female
3 Student 03 Four 42 malebefore_rows = pd.get_option("display.max_rows")
before_columns = pd.get_option("display.max_columns")
with pd.option_context("display.max_rows", 6, "display.min_rows", 6,
"display.max_columns", 3, "display.width", 80,
"display.show_dimensions", True):
print(students)
assert pd.get_option("display.max_rows") == 6
print("Rows restored:", pd.get_option("display.max_rows") == before_rows)
print("Columns restored:", pd.get_option("display.max_columns") == before_columns)
assert students.shape == (35, 4)Expected output
name ... sex
id ...
1 Student 01 ... male
2 Student 02 ... female
3 Student 03 ... male
.. ... ... ...
33 Student 33 ... male
34 Student 34 ... female
35 Student 35 ... male
[35 rows x 4 columns]
Rows restored: True
Columns restored: Trueoriginal = pd.get_option("display.max_rows")
with pd.option_context("display.max_rows", 12):
with pd.option_context("display.max_rows", 6):
print("Inner:", pd.get_option("display.max_rows"))
print("Outer restored:", pd.get_option("display.max_rows"))
print("Original restored:", pd.get_option("display.max_rows") == original)
assert pd.get_option("display.max_rows") == originalExpected output
Inner: 6
Outer restored: 12
Original restored: Truesaved = pd.get_option("display.max_columns")
try:
with pd.option_context("display.max_columns", 2):
raise ValueError("Synthetic review failure")
except ValueError as error:
print(str(error))
print("Restored after failure:", pd.get_option("display.max_columns") == saved)
assert pd.get_option("display.max_columns") == savedExpected output
Synthetic review failure
Restored after failure: Truefrom tempfile import TemporaryDirectory
from pathlib import Path
with TemporaryDirectory(dir=".") as folder:
workbook = Path(folder) / "student.xlsx"
students.reset_index().to_excel(workbook, index=False, engine="openpyxl")
loaded = pd.read_excel(workbook, index_col="id")
print("Imported shape:", loaded.shape)
pd.testing.assert_frame_equal(loaded, students)
print("Temporary workbook removed:", not workbook.exists())Expected output
Imported shape: (35, 4)
Temporary workbook removed: Truetext = students.head(2).to_string(index=False)
print(text)
assert students.index.name == "id" and len(students) == 35Expected output
name class mark sex
Student 01 Four 40 male
Student 02 Four 41 femaleprevious = pd.get_option("display.max_columns")
with pd.option_context("display.max_columns", 2):
print("Inside:", pd.get_option("display.max_columns"))
print("Restored:", pd.get_option("display.max_columns") == previous)
assert pd.get_option("display.max_columns") == previousExpected output
Inside: 2
Restored: TrueOpen 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 option_context() 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.