Interactive Tables in Jupyter
Pandas DataFrames and Series as interactive datatables!
Install the package with
pip install itables
Activate the interactive mode for all series and dataframes with
from itables import init_notebook_mode init_notebook_mode(all_interactive=True)
itables.show to show just one Series or DataFrame as an interactive table.
(NB: In Jupyter Notebook, Jupyter NBconvert and Jupyter Book, you need to call
init_notebook_mode() before using
Read more about
itables and advanced use cases in the documentation.
In particular, the
show method let you pass custom parameters to datatables.net's
DataTable()'s constructor - see the advanced parameters examples.
itables has been tested in the following editors:
- Jupyter Notebook
- Jupyter Lab
- Jupyter nbconvert (i.e. the tables are still interactive in the HTML export of a notebook)
- Jupyter Book
- Google Colab
- VS Code (for both Jupyter Notebooks and Python scripts)
- PyCharm (for Jupyter Notebooks)
Try ITables on Binder
You can run our examples notebooks directly on , without having to install anything on your side.
Table not loading?
If the table just says "Loading...", then maybe
- You loaded a notebook that is not trusted (run "Trust Notebook" in View / Activate Command Palette)
- Or you are offline?
At the moment
itables does not have an offline mode. While the table data is embedded in the notebook, the
datatables.net are loaded from a CDN, see our require.config and our table template, so an internet connection is required to display the tables.
When the data in a table is larger than
maxBytes, which is equal to 64KB by default,
itables will display only a subset of the table - one that fits into
maxBytes. If you wish, you can deactivate the limit with
maxBytes=0, change the value of
maxBytes, or similarly set a limit on the number of rows (
maxRows, defaults to 0) or columns (
maxColumns, defaults to
Note that datatables support server-side processing. At a later stage we may implement support for larger tables using this feature.
from itables.sample_dfs import get_indicators import itables.options as opt opt.lengthMenu = [2, 5, 10, 20, 50, 100, 200, 500] opt.maxBytes = 10000 df = get_indicators() df.values.nbytes
To show the table in full, we can modify the value of
maxBytes either locally:
opt.maxBytes = 2 ** 20 df
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.