Jupyter Notebook Output Suppression: A Tutorial


Jupyter Notebook is a popular tool used by data scientists, researchers, and developers for data analysis, visualization, and prototyping. It allows users to create and share documents that contain live code, equations, visualizations, and narrative text.

One of the most important features of Jupyter Notebook is its ability to display the output of code cells inline with the code itself. This makes it easy to see the results of your code as you write it. However, there are times when you may not want to see the output of certain code cells, especially if they produce large amounts of data or if they are part of a larger workflow.

Output suppression in Jupyter Notebook allows you to hide the output of specific code cells while still executing the code. This can be useful in a variety of scenarios such as when you are testing functions or when you want to run code that produces a lot of output but you don’t need to see all of it.

Overall, output suppression is an important tool in Jupyter Notebook that can help improve readability and streamline your workflow. In the next section, we will explore how to suppress output in Jupyter Notebook using various methods.

How to suppress output in Jupyter Notebook?

When working with Jupyter Notebook, sometimes you may want to suppress output from a code cell. This is particularly useful when dealing with large datasets or long-running processes that produce a lot of output. There are several ways to suppress output in Jupyter Notebook, which we will discuss below.

Using semicolon (;)

One simple way to suppress output in Jupyter Notebook is by using a semicolon at the end of the last line of code in the cell. The semicolon tells Jupyter Notebook not to display the output of that line of code.

Here’s an example:

x = 10
y = 20
z = x + y;

In this example, the value of `z` will be calculated and stored, but Jupyter Notebook won’t display it because of the semicolon at the end of the line.

Using context manager (with statement)

Another way to suppress output in Jupyter Notebook is by using a context manager with statement. This method is particularly useful when you want to suppress output for multiple lines of code.

Here’s an example:

with open('file.txt', 'w') as f:
    f.write('Hello, world!')

In this example, we’re using a with statement to open a file and write some text to it. Since we don’t want to display any output from this code block, we can wrap it in a with statement and Jupyter Notebook won’t display any output.

Using IPython Utils module

The IPython Utils module provides several functions that can be used to suppress output in Jupyter Notebook. One such function is `suppress_output()`, which can be used as a context manager to suppress output for multiple lines of code.

Here’s an example:

from IPython.utils import io

with io.capture_output() as captured:
    print('Hello, world!')

In this example, we’re using the `capture_output()` function from the IPython Utils module to capture any output from the `print()` function. Since we don’t want to display this output, we can use a with statement to suppress it.

These are just a few ways to suppress output in Jupyter Notebook. Depending on your specific use case, you may find one method more useful than the others.

Advanced Output Management Techniques

Jupyter Notebook is a powerful tool for data analysis, machine learning, and scientific computing. It allows users to create and share documents that contain live code, equations, visualizations, and narrative text. However, sometimes the output produced by the code can be distracting or irrelevant to the content of the notebook. In this section, we will cover some advanced output management techniques that can help you control the visibility of your notebook’s outputs.

Hiding outputs selectively using cell tags

One way to hide outputs selectively is by using cell tags. Cell tags are metadata that can be added to individual cells in a Jupyter Notebook. They allow you to annotate your notebook with custom labels that can be used to categorize or filter cells based on their content. To use cell tags for output suppression, you can add the `hide_output` tag to any cell whose output you want to hide. To do this, follow these steps:

1. Select the cell whose output you want to hide.
2. Click on the Cell menu at the top of the screen.
3. Click on Cell Tags.
4. Enter “hide_output” (without quotes) in the input field.
5. Press Enter.

Once you have added the `hide_output` tag to a cell, its output will be hidden when you run the notebook. To show the output again, simply remove the tag or run the cell again.

Disabling output scrolling

Another technique for managing outputs is disabling output scrolling. By default, Jupyter Notebook allows you to scroll through long outputs using a scrollbar or mouse wheel. While this feature can be useful for exploring large datasets or inspecting complex objects, it can also make it difficult to read through your notebook’s content.

To disable output scrolling in Jupyter Notebook, you can add some custom CSS to your notebook’s style sheet. Here’s how:

1. Create a new cell in your notebook.
2. Type the following code into the cell:

    .output {
        overflow: hidden;

3. Run the cell.

This code snippet adds a new style rule to the notebook’s HTML output that sets the `overflow` property of all outputs to `hidden`. This means that any output that would normally exceed the height of its container will be truncated instead of scrolled.

In conclusion, these advanced output management techniques can help you create more readable and professional-looking Jupyter Notebooks. By selectively hiding outputs and disabling scrolling, you can focus your readers’ attention on the most important parts of your analysis and make your notebooks easier to navigate.


In this tutorial, we have covered various techniques for output suppression in Jupyter Notebook. Let’s do a quick recap of what we have learned.

Firstly, we explored the use of semicolons at the end of a line to suppress output. This technique is simple and effective, but it can quickly become cumbersome when dealing with large amounts of code.

Next, we looked at the use of the `%%capture` magic command to capture output and store it in a variable. This technique is more powerful than using semicolons, as it allows us to access the captured output later on in our code.

We also discussed the `with` statement and how it can be used to temporarily redirect output to a null device. This technique is useful when we only want to suppress output for a specific block of code.

Finally, we covered the use of custom context managers and decorators to create reusable output suppression tools. These techniques allow us to encapsulate our output suppression logic in a separate module that can be easily imported into other notebooks or projects.

In closing, output suppression is an important concept in Jupyter Notebook that can help us keep our notebooks clean and organized. By using the techniques discussed in this tutorial, we can selectively suppress output when necessary without sacrificing readability or functionality.
Interested in learning more? Check out our Introduction to Python course!

How to Become a Data Scientist PDF

Your FREE Guide to Become a Data Scientist

Discover the path to becoming a data scientist with our comprehensive FREE guide! Unlock your potential in this in-demand field and access valuable resources to kickstart your journey.

Don’t wait, download now and transform your career!

Pierian Training
Pierian Training
Pierian Training is a leading provider of high-quality technology training, with a focus on data science and cloud computing. Pierian Training offers live instructor-led training, self-paced online video courses, and private group and cohort training programs to support enterprises looking to upskill their employees.

You May Also Like

Data Science, Tutorials

Guide to NLTK – Natural Language Toolkit for Python

Introduction Natural Language Processing (NLP) lies at the heart of countless applications we use every day, from voice assistants to spam filters and machine translation. It allows machines to understand, interpret, and generate human language, bridging the gap between humans and computers. Within the vast landscape of NLP tools and techniques, the Natural Language Toolkit […]

Machine Learning, Tutorials

GridSearchCV with Scikit-Learn and Python

Introduction In the world of machine learning, finding the optimal set of hyperparameters for a model can significantly impact its performance and accuracy. However, searching through all possible combinations manually can be an incredibly time-consuming and error-prone process. This is where GridSearchCV, a powerful tool provided by Scikit-Learn library in Python, comes to the rescue. […]

Python Basics, Tutorials

Plotting Time Series in Python: A Complete Guide

Introduction Time series data is a type of data that is collected over time at regular intervals. It can be used to analyze trends, patterns, and behaviors over time. In order to effectively analyze time series data, it is important to visualize it in a way that is easy to understand. This is where plotting […]