Challenge 3: The DataFrame Viewer vs. print(df) — Solution Walkthrough What print(df) actually gives you: A static, truncated text representation of the DataFrame's contents — a fixed printed repr() string in the console, which typically abbreviates large DataFrames (hiding most rows/columns) and offers no way to sort, scroll through, or otherwise interact with the data once it's printed. What PyCharm's own DataFrame viewer provides instead: Per this chapter's own material, PyCharm renders the DataFrame as an actual interactive table — sortable, scrollable, genuinely explorable — available both while writing code in the editor and while paused at a breakpoint in the debugger's own variable inspector. This lets a developer actually browse the full data, reorder it by column, and inspect specific rows without needing to write additional print statements or slicing code just to see a different part of the data. Why this is a genuinely different experience, not just a nicer print: The interactivity is the real difference — print(df) gives one fixed snapshot of the data as text, while the DataFrame viewer gives a live, navigable view of the same underlying data structure, letting exploration happen visually rather than requiring new code each time a different slice or sort order is needed. WHY THIS WORKS AS AN ANSWER ------------------------------ This exercise checks that the DataFrame viewer's own interactivity is understood as the genuine differentiator from a static printed representation, not merely a cosmetic formatting improvement.