diff --git a/src/notebooks/550-intro-table-with-pandas.ipynb b/src/notebooks/550-intro-table-with-pandas.ipynb
deleted file mode 100644
index 94c83ef24a..0000000000
--- a/src/notebooks/550-intro-table-with-pandas.ipynb
+++ /dev/null
@@ -1,392 +0,0 @@
-{
- "cells": [
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {
- "tags": []
- },
- "source": [
- "## Libraries\n",
- "\n",
- "First, you need to install the following librairies:\n",
- "- [matplotlib](https://python-graph-gallery.com/matplotlib/) is used for plot creating the charts\n",
- "- [pandas](https://python-graph-gallery.com/pandas/) is used to put the data into a dataframe and custom the table\n",
- "- `numpy` is used to generate some data"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "tags": []
- },
- "outputs": [],
- "source": [
- "import pandas as pd\n",
- "import matplotlib as mpl\n",
- "\n",
- "# data generation\n",
- "import numpy as np"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Dataset\n",
- "\n",
- "When creating **nice output tables**, we first need to have the dataframe with the values we want. \n",
- "\n",
- "In this post, we'll use *fake weather data* from different cities. We'll take a look at different simple features of [pandas](https://python-graph-gallery.com/pandas/) to make this table more **aesthetically appealing**."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {
- "tags": []
- },
- "outputs": [],
- "source": [
- "sample_size = 6\n",
- "\n",
- "new_york = np.random.uniform(20,60,sample_size)\n",
- "paris = np.random.uniform(20,40,sample_size)\n",
- "london = np.random.uniform(5,30,sample_size)\n",
- "\n",
- "df = pd.DataFrame({'new_york': new_york,\n",
- " 'paris': paris,\n",
- " 'london': london},\n",
- " \n",
- " # generate date values in the index of the dataframe\n",
- " index=pd.date_range(start=\"2020-01-01\", periods=sample_size).strftime(\"%d-%m-%Y\"))"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Default output\n",
- "\n",
- "The default result **isn't very pretty**, but it's from this base that we'll build something more pleasing to the eye."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "tags": []
- },
- "outputs": [
- {
- "data": {
- "text/html": [
- "
\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " new_york | \n",
- " paris | \n",
- " london | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 01-01-2020 | \n",
- " 26.978256 | \n",
- " 31.887979 | \n",
- " 14.384105 | \n",
- "
\n",
- " \n",
- " 02-01-2020 | \n",
- " 58.003981 | \n",
- " 26.757171 | \n",
- " 7.305029 | \n",
- "
\n",
- " \n",
- " 03-01-2020 | \n",
- " 28.210881 | \n",
- " 31.345565 | \n",
- " 21.587470 | \n",
- "
\n",
- " \n",
- " 04-01-2020 | \n",
- " 56.384150 | \n",
- " 25.721698 | \n",
- " 22.483764 | \n",
- "
\n",
- " \n",
- " 05-01-2020 | \n",
- " 43.165534 | \n",
- " 34.661872 | \n",
- " 29.421549 | \n",
- "
\n",
- " \n",
- " 06-01-2020 | \n",
- " 39.859488 | \n",
- " 20.190269 | \n",
- " 7.275957 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " new_york paris london\n",
- "01-01-2020 26.978256 31.887979 14.384105\n",
- "02-01-2020 58.003981 26.757171 7.305029\n",
- "03-01-2020 28.210881 31.345565 21.587470\n",
- "04-01-2020 56.384150 25.721698 22.483764\n",
- "05-01-2020 43.165534 34.661872 29.421549\n",
- "06-01-2020 39.859488 20.190269 7.275957"
- ]
- },
- "execution_count": 3,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Change colors\n",
- "\n",
- "A clean way to apply modifications to [Pandas](https://python-graph-gallery.com) tables is to create a function that performs the **modifications**, then apply this function to our data frame.\n",
- "\n",
- "- We use a colormap named *\"Reds\"*, that will put the **background color** of each cell depending on the value in the cell.\n",
- "\n",
- "Once the function is defined, we use the `style()` and `pipe()` from [Pandas](https://python-graph-gallery.com) to **apply this function** to the dataframe. "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "tags": []
- },
- "outputs": [
- {
- "ename": "ImportError",
- "evalue": "Missing optional dependency 'Jinja2'. DataFrame.style requires jinja2. Use pip or conda to install Jinja2.",
- "output_type": "error",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
- "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
- "File \u001b[0;32m~/Library/Python/3.9/lib/python/site-packages/pandas/compat/_optional.py:142\u001b[0m, in \u001b[0;36mimport_optional_dependency\u001b[0;34m(name, extra, errors, min_version)\u001b[0m\n\u001b[1;32m 141\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m--> 142\u001b[0m module \u001b[39m=\u001b[39m importlib\u001b[39m.\u001b[39;49mimport_module(name)\n\u001b[1;32m 143\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mImportError\u001b[39;00m:\n",
- "File \u001b[0;32m/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/importlib/__init__.py:127\u001b[0m, in \u001b[0;36mimport_module\u001b[0;34m(name, package)\u001b[0m\n\u001b[1;32m 126\u001b[0m level \u001b[39m+\u001b[39m\u001b[39m=\u001b[39m \u001b[39m1\u001b[39m\n\u001b[0;32m--> 127\u001b[0m \u001b[39mreturn\u001b[39;00m _bootstrap\u001b[39m.\u001b[39;49m_gcd_import(name[level:], package, level)\n",
- "File \u001b[0;32m:1030\u001b[0m, in \u001b[0;36m_gcd_import\u001b[0;34m(name, package, level)\u001b[0m\n",
- "File \u001b[0;32m:1007\u001b[0m, in \u001b[0;36m_find_and_load\u001b[0;34m(name, import_)\u001b[0m\n",
- "File \u001b[0;32m:984\u001b[0m, in \u001b[0;36m_find_and_load_unlocked\u001b[0;34m(name, import_)\u001b[0m\n",
- "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'jinja2'",
- "\nDuring handling of the above exception, another exception occurred:\n",
- "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)",
- "Cell \u001b[0;32mIn[4], line 5\u001b[0m\n\u001b[1;32m 2\u001b[0m styler\u001b[39m.\u001b[39mbackground_gradient(cmap\u001b[39m=\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mReds\u001b[39m\u001b[39m\"\u001b[39m, axis\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m)\n\u001b[1;32m 3\u001b[0m \u001b[39mreturn\u001b[39;00m styler\n\u001b[0;32m----> 5\u001b[0m df\u001b[39m.\u001b[39;49mstyle\u001b[39m.\u001b[39mpipe(custom_table)\n",
- "File \u001b[0;32m~/Library/Python/3.9/lib/python/site-packages/pandas/core/frame.py:1291\u001b[0m, in \u001b[0;36mDataFrame.style\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1279\u001b[0m \u001b[39m@property\u001b[39m\n\u001b[1;32m 1280\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mstyle\u001b[39m(\u001b[39mself\u001b[39m) \u001b[39m-\u001b[39m\u001b[39m>\u001b[39m Styler:\n\u001b[1;32m 1281\u001b[0m \u001b[39m \u001b[39m\u001b[39m\"\"\"\u001b[39;00m\n\u001b[1;32m 1282\u001b[0m \u001b[39m Returns a Styler object.\u001b[39;00m\n\u001b[1;32m 1283\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1289\u001b[0m \u001b[39m data with HTML and CSS.\u001b[39;00m\n\u001b[1;32m 1290\u001b[0m \u001b[39m \"\"\"\u001b[39;00m\n\u001b[0;32m-> 1291\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpandas\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mio\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mformats\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mstyle\u001b[39;00m \u001b[39mimport\u001b[39;00m Styler\n\u001b[1;32m 1293\u001b[0m \u001b[39mreturn\u001b[39;00m Styler(\u001b[39mself\u001b[39m)\n",
- "File \u001b[0;32m~/Library/Python/3.9/lib/python/site-packages/pandas/io/formats/style.py:56\u001b[0m\n\u001b[1;32m 52\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpandas\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcore\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mshared_docs\u001b[39;00m \u001b[39mimport\u001b[39;00m _shared_docs\n\u001b[1;32m 54\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpandas\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mio\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mformats\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mformat\u001b[39;00m \u001b[39mimport\u001b[39;00m save_to_buffer\n\u001b[0;32m---> 56\u001b[0m jinja2 \u001b[39m=\u001b[39m import_optional_dependency(\u001b[39m\"\u001b[39;49m\u001b[39mjinja2\u001b[39;49m\u001b[39m\"\u001b[39;49m, extra\u001b[39m=\u001b[39;49m\u001b[39m\"\u001b[39;49m\u001b[39mDataFrame.style requires jinja2.\u001b[39;49m\u001b[39m\"\u001b[39;49m)\n\u001b[1;32m 58\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpandas\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mio\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mformats\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mstyle_render\u001b[39;00m \u001b[39mimport\u001b[39;00m (\n\u001b[1;32m 59\u001b[0m CSSProperties,\n\u001b[1;32m 60\u001b[0m CSSStyles,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 68\u001b[0m refactor_levels,\n\u001b[1;32m 69\u001b[0m )\n\u001b[1;32m 71\u001b[0m \u001b[39mif\u001b[39;00m TYPE_CHECKING:\n",
- "File \u001b[0;32m~/Library/Python/3.9/lib/python/site-packages/pandas/compat/_optional.py:145\u001b[0m, in \u001b[0;36mimport_optional_dependency\u001b[0;34m(name, extra, errors, min_version)\u001b[0m\n\u001b[1;32m 143\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mImportError\u001b[39;00m:\n\u001b[1;32m 144\u001b[0m \u001b[39mif\u001b[39;00m errors \u001b[39m==\u001b[39m \u001b[39m\"\u001b[39m\u001b[39mraise\u001b[39m\u001b[39m\"\u001b[39m:\n\u001b[0;32m--> 145\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mImportError\u001b[39;00m(msg)\n\u001b[1;32m 146\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mNone\u001b[39;00m\n\u001b[1;32m 148\u001b[0m \u001b[39m# Handle submodules: if we have submodule, grab parent module from sys.modules\u001b[39;00m\n",
- "\u001b[0;31mImportError\u001b[0m: Missing optional dependency 'Jinja2'. DataFrame.style requires jinja2. Use pip or conda to install Jinja2."
- ]
- }
- ],
- "source": [
- "def custom_table(styler):\n",
- " styler.background_gradient(cmap=\"Reds\", axis=None)\n",
- " return styler\n",
- "\n",
- "df.style.pipe(custom_table)"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here, for example, it's much easier to see that temperatures in New York are **higher** compared to London."
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Add aggregate metrics\n",
- "\n",
- "To make our table more meaningful, we can then add **aggregation measures**. To do this, we use pandas' `agg()` and `concat()` functions.\n",
- "\n",
- "We also add a line to our function to **round off the values** in our table, using the `format()` function."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
- "tags": []
- },
- "outputs": [
- {
- "ename": "ImportError",
- "evalue": "Missing optional dependency 'Jinja2'. DataFrame.style requires jinja2. Use pip or conda to install Jinja2.",
- "output_type": "error",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
- "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
- "File \u001b[0;32m~/Library/Python/3.9/lib/python/site-packages/pandas/compat/_optional.py:142\u001b[0m, in \u001b[0;36mimport_optional_dependency\u001b[0;34m(name, extra, errors, min_version)\u001b[0m\n\u001b[1;32m 141\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m--> 142\u001b[0m module \u001b[39m=\u001b[39m importlib\u001b[39m.\u001b[39;49mimport_module(name)\n\u001b[1;32m 143\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mImportError\u001b[39;00m:\n",
- "File \u001b[0;32m/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/importlib/__init__.py:127\u001b[0m, in \u001b[0;36mimport_module\u001b[0;34m(name, package)\u001b[0m\n\u001b[1;32m 126\u001b[0m level \u001b[39m+\u001b[39m\u001b[39m=\u001b[39m \u001b[39m1\u001b[39m\n\u001b[0;32m--> 127\u001b[0m \u001b[39mreturn\u001b[39;00m _bootstrap\u001b[39m.\u001b[39;49m_gcd_import(name[level:], package, level)\n",
- "File \u001b[0;32m:1030\u001b[0m, in \u001b[0;36m_gcd_import\u001b[0;34m(name, package, level)\u001b[0m\n",
- "File \u001b[0;32m:1007\u001b[0m, in \u001b[0;36m_find_and_load\u001b[0;34m(name, import_)\u001b[0m\n",
- "File \u001b[0;32m:984\u001b[0m, in \u001b[0;36m_find_and_load_unlocked\u001b[0;34m(name, import_)\u001b[0m\n",
- "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'jinja2'",
- "\nDuring handling of the above exception, another exception occurred:\n",
- "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)",
- "Cell \u001b[0;32mIn[5], line 7\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[39mreturn\u001b[39;00m styler\n\u001b[1;32m 6\u001b[0m agg_metrics \u001b[39m=\u001b[39m df\u001b[39m.\u001b[39magg([\u001b[39m\"\u001b[39m\u001b[39msum\u001b[39m\u001b[39m\"\u001b[39m, \u001b[39m\"\u001b[39m\u001b[39mmean\u001b[39m\u001b[39m\"\u001b[39m, \u001b[39m\"\u001b[39m\u001b[39mmax\u001b[39m\u001b[39m\"\u001b[39m])\n\u001b[0;32m----> 7\u001b[0m pd\u001b[39m.\u001b[39;49mconcat([df, agg_metrics])\u001b[39m.\u001b[39;49mstyle\u001b[39m.\u001b[39mpipe(custom_table)\n",
- "File \u001b[0;32m~/Library/Python/3.9/lib/python/site-packages/pandas/core/frame.py:1291\u001b[0m, in \u001b[0;36mDataFrame.style\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1279\u001b[0m \u001b[39m@property\u001b[39m\n\u001b[1;32m 1280\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mstyle\u001b[39m(\u001b[39mself\u001b[39m) \u001b[39m-\u001b[39m\u001b[39m>\u001b[39m Styler:\n\u001b[1;32m 1281\u001b[0m \u001b[39m \u001b[39m\u001b[39m\"\"\"\u001b[39;00m\n\u001b[1;32m 1282\u001b[0m \u001b[39m Returns a Styler object.\u001b[39;00m\n\u001b[1;32m 1283\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1289\u001b[0m \u001b[39m data with HTML and CSS.\u001b[39;00m\n\u001b[1;32m 1290\u001b[0m \u001b[39m \"\"\"\u001b[39;00m\n\u001b[0;32m-> 1291\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpandas\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mio\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mformats\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mstyle\u001b[39;00m \u001b[39mimport\u001b[39;00m Styler\n\u001b[1;32m 1293\u001b[0m \u001b[39mreturn\u001b[39;00m Styler(\u001b[39mself\u001b[39m)\n",
- "File \u001b[0;32m~/Library/Python/3.9/lib/python/site-packages/pandas/io/formats/style.py:56\u001b[0m\n\u001b[1;32m 52\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpandas\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mcore\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mshared_docs\u001b[39;00m \u001b[39mimport\u001b[39;00m _shared_docs\n\u001b[1;32m 54\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpandas\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mio\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mformats\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mformat\u001b[39;00m \u001b[39mimport\u001b[39;00m save_to_buffer\n\u001b[0;32m---> 56\u001b[0m jinja2 \u001b[39m=\u001b[39m import_optional_dependency(\u001b[39m\"\u001b[39;49m\u001b[39mjinja2\u001b[39;49m\u001b[39m\"\u001b[39;49m, extra\u001b[39m=\u001b[39;49m\u001b[39m\"\u001b[39;49m\u001b[39mDataFrame.style requires jinja2.\u001b[39;49m\u001b[39m\"\u001b[39;49m)\n\u001b[1;32m 58\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpandas\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mio\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mformats\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mstyle_render\u001b[39;00m \u001b[39mimport\u001b[39;00m (\n\u001b[1;32m 59\u001b[0m CSSProperties,\n\u001b[1;32m 60\u001b[0m CSSStyles,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 68\u001b[0m refactor_levels,\n\u001b[1;32m 69\u001b[0m )\n\u001b[1;32m 71\u001b[0m \u001b[39mif\u001b[39;00m TYPE_CHECKING:\n",
- "File \u001b[0;32m~/Library/Python/3.9/lib/python/site-packages/pandas/compat/_optional.py:145\u001b[0m, in \u001b[0;36mimport_optional_dependency\u001b[0;34m(name, extra, errors, min_version)\u001b[0m\n\u001b[1;32m 143\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mImportError\u001b[39;00m:\n\u001b[1;32m 144\u001b[0m \u001b[39mif\u001b[39;00m errors \u001b[39m==\u001b[39m \u001b[39m\"\u001b[39m\u001b[39mraise\u001b[39m\u001b[39m\"\u001b[39m:\n\u001b[0;32m--> 145\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mImportError\u001b[39;00m(msg)\n\u001b[1;32m 146\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mNone\u001b[39;00m\n\u001b[1;32m 148\u001b[0m \u001b[39m# Handle submodules: if we have submodule, grab parent module from sys.modules\u001b[39;00m\n",
- "\u001b[0;31mImportError\u001b[0m: Missing optional dependency 'Jinja2'. DataFrame.style requires jinja2. Use pip or conda to install Jinja2."
- ]
- }
- ],
- "source": [
- "def custom_table(styler):\n",
- " styler.background_gradient(cmap=\"Blues\", axis=None)\n",
- " styler.format(precision=2)\n",
- " return styler\n",
- "\n",
- "agg_metrics = df.agg([\"sum\", \"mean\", \"max\"])\n",
- "pd.concat([df, agg_metrics]).style.pipe(custom_table)"
- ]
- },
- {
- "attachments": {},
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Going further\n",
- "\n",
- "This post explains how to create a simple custom table with [pandas](https://python-graph-gallery.com/pandas/).\n",
- "\n",
- "For more examples of **how to create or customize** your tables, see the [table section](https://python-graph-gallery.com/table/). You may also be interested in how to [add HTML and CCS to your table](https://python-graph-gallery.com/5xx-pandas-table-with-html-and-css/)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {},
- "outputs": [],
- "source": [
- "import pandas as pd\n",
- "import matplotlib.pyplot as plt\n",
- "from io import BytesIO\n",
- "import base64\n",
- "\n",
- "# Create a sample DataFrame\n",
- "data = {\n",
- " 'Group': ['A', 'B', 'C'],\n",
- " 'Values': [[1, 2, 3, 4], [4, 3, 2, 1], [2, 2, 2, 2]]\n",
- "}\n",
- "df = pd.DataFrame(data)\n",
- "\n",
- "# Function to generate sparkline strings\n",
- "def generate_sparkline(lst):\n",
- " fig, ax = plt.subplots(figsize=(2, 0.5))\n",
- " ax.plot(lst)\n",
- " ax.axis('off')\n",
- " \n",
- " img = BytesIO()\n",
- " plt.savefig(img, format='png', bbox_inches='tight', pad_inches=0)\n",
- " img.seek(0)\n",
- " plt.close(fig)\n",
- " \n",
- " return f''\n",
- "\n",
- "# Add a new column with sparklines\n",
- "df['Sparkline'] = df['Values'].apply(generate_sparkline)\n",
- "\n",
- "# Save the DataFrame to an HTML file\n",
- "with open(\"/Users/holtzy/Desktop/sparkline_table.html\", \"w\") as f:\n",
- " f.write(df.to_html(index=False, escape=False))\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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",
- "text/plain": [
- "