5 Useful Jupyter Notebook Extensions for a Data Scientist

Every data scientist spends most of their time visualizing, preprocessing and model tuning based on results. These are the most difficult situations for any data scientist because when you do exactly these three steps, you will have a good model. There are 5 very useful jupyter notebook extensions to help in these situations.

  1. itables
    Turns ITables pandas DataFrames and Series into interactive data tables in both your notebooks and HTML representations. ITables uses basic Javascript and will therefore only work in Jupyter Notebook and not in JupyterLab.
pip install itables

Enable interactive mode for all series and dataframes.

from itables import init_notebook_mode
init_notebook_mode(all_interactive=True)import world_bank_data as wb
df = wb.get_countries()

2. livelossplot
Liveossplot provides a live training-lost plot in Jupyter Notebook for Keras, PyTorch and other frameworks.

pip install livelossplot


from livelossplot import PlotLossesKeras
model.fit(X_train, Y_train,
validation_data=(X_test, Y_test),

3. TensorWatch

TensorWatch is a debugging and visualization tool designed by Microsoft Research for data science, deep learning, and reinforcement learning. It runs on Jupyter Notebook to show real-time visualizations of your machine learning training and perform several other important analysis tasks for your models and data.


pip install tensorwatch

4. Qgrid
Qgrid is a Jupyter notebook widget that uses SlickGrid to render pandas DataFrames in a Jupyter notebook. This allows you to explore your DataFrames with intuitive scrolling, sorting and filtering controls, as well as editing your DataFrames by double-clicking the cells.


pip install qgrid #Installing with pip
conda install qgrid #Installing with conda

5. bqplot
bqplot is a 2D visualization system for Jupyter based on Grammar of Graphics structures.

It provides a unified framework for 2D visualizations with a pythonic API.
It provides a sensible API for adding user interactions (scrolling, zooming, selection, etc.)
In this way:

  • Users can create custom visualizations and enrich their visualizations with our Interaction Layer using the internal object model inspired by the structures of Graphic Grammar (shape, signs, axes, scales).
  • Or they can use the context-based API similar to Matplotlib’s pyplot, which provides sensible default choices for most parameters.


$ pip install bqplot #Installing with pip
$ conda install -c conda-forge bqplot #Installing with conda



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alper Ersin Balcı

Alper Ersin Balcı

Industry 4.0 & Manufacturing Engineer at BSH