Skip to content

Instantly share code, notes, and snippets.

@rwcitek
Last active April 5, 2025 21:05
Show Gist options
  • Save rwcitek/b5120c108cdc1ff11ea432e4f20a2519 to your computer and use it in GitHub Desktop.
Save rwcitek/b5120c108cdc1ff11ea432e4f20a2519 to your computer and use it in GitHub Desktop.
Categorical scatter plot
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"name": "id.event.sequence.ipynb",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/rwcitek/b5120c108cdc1ff11ea432e4f20a2519/categorical-scatter-plot.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n"
],
"metadata": {
"id": "bFxy-lDvpda8"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# Create the DataFrame from your sample data\n",
"data = {'X': ['a', 'a', 'b', 'b', 'c'],\n",
" 'Y': [1, 2, 1, 4, 3]}\n",
"df = pd.DataFrame(data)\n",
"df"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "rbhfMJpiplVm",
"outputId": "f49d57f1-7e44-4930-fd4d-3ac180294e70"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" X Y\n",
"0 a 1\n",
"1 a 2\n",
"2 b 1\n",
"3 b 4\n",
"4 c 3"
],
"text/html": [
"\n",
" <div id=\"df-567b4357-3237-424e-9522-a8c3ad3b6348\" class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>X</th>\n",
" <th>Y</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>a</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>a</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>b</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>b</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>c</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <div class=\"colab-df-buttons\">\n",
"\n",
" <div class=\"colab-df-container\">\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-567b4357-3237-424e-9522-a8c3ad3b6348')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
" </svg>\n",
" </button>\n",
"\n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" .colab-df-buttons div {\n",
" margin-bottom: 4px;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-567b4357-3237-424e-9522-a8c3ad3b6348 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-567b4357-3237-424e-9522-a8c3ad3b6348');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
"\n",
"\n",
"<div id=\"df-135857f9-1e8d-4a36-ae69-0ddc9ac59156\">\n",
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-135857f9-1e8d-4a36-ae69-0ddc9ac59156')\"\n",
" title=\"Suggest charts\"\n",
" style=\"display:none;\">\n",
"\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <g>\n",
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
" </g>\n",
"</svg>\n",
" </button>\n",
"\n",
"<style>\n",
" .colab-df-quickchart {\n",
" --bg-color: #E8F0FE;\n",
" --fill-color: #1967D2;\n",
" --hover-bg-color: #E2EBFA;\n",
" --hover-fill-color: #174EA6;\n",
" --disabled-fill-color: #AAA;\n",
" --disabled-bg-color: #DDD;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-quickchart {\n",
" --bg-color: #3B4455;\n",
" --fill-color: #D2E3FC;\n",
" --hover-bg-color: #434B5C;\n",
" --hover-fill-color: #FFFFFF;\n",
" --disabled-bg-color: #3B4455;\n",
" --disabled-fill-color: #666;\n",
" }\n",
"\n",
" .colab-df-quickchart {\n",
" background-color: var(--bg-color);\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: var(--fill-color);\n",
" height: 32px;\n",
" padding: 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-quickchart:hover {\n",
" background-color: var(--hover-bg-color);\n",
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: var(--button-hover-fill-color);\n",
" }\n",
"\n",
" .colab-df-quickchart-complete:disabled,\n",
" .colab-df-quickchart-complete:disabled:hover {\n",
" background-color: var(--disabled-bg-color);\n",
" fill: var(--disabled-fill-color);\n",
" box-shadow: none;\n",
" }\n",
"\n",
" .colab-df-spinner {\n",
" border: 2px solid var(--fill-color);\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" animation:\n",
" spin 1s steps(1) infinite;\n",
" }\n",
"\n",
" @keyframes spin {\n",
" 0% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" border-left-color: var(--fill-color);\n",
" }\n",
" 20% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 30% {\n",
" border-color: transparent;\n",
" border-left-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 40% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-top-color: var(--fill-color);\n",
" }\n",
" 60% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" }\n",
" 80% {\n",
" border-color: transparent;\n",
" border-right-color: var(--fill-color);\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" 90% {\n",
" border-color: transparent;\n",
" border-bottom-color: var(--fill-color);\n",
" }\n",
" }\n",
"</style>\n",
"\n",
" <script>\n",
" async function quickchart(key) {\n",
" const quickchartButtonEl =\n",
" document.querySelector('#' + key + ' button');\n",
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n",
" quickchartButtonEl.classList.add('colab-df-spinner');\n",
" try {\n",
" const charts = await google.colab.kernel.invokeFunction(\n",
" 'suggestCharts', [key], {});\n",
" } catch (error) {\n",
" console.error('Error during call to suggestCharts:', error);\n",
" }\n",
" quickchartButtonEl.classList.remove('colab-df-spinner');\n",
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
" }\n",
" (() => {\n",
" let quickchartButtonEl =\n",
" document.querySelector('#df-135857f9-1e8d-4a36-ae69-0ddc9ac59156 button');\n",
" quickchartButtonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
" })();\n",
" </script>\n",
"</div>\n",
"\n",
" <div id=\"id_e5b3fc33-23a5-4605-a619-78502d272910\">\n",
" <style>\n",
" .colab-df-generate {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-generate:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-generate {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-generate:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
" <button class=\"colab-df-generate\" onclick=\"generateWithVariable('df')\"\n",
" title=\"Generate code using this dataframe.\"\n",
" style=\"display:none;\">\n",
"\n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
" </svg>\n",
" </button>\n",
" <script>\n",
" (() => {\n",
" const buttonEl =\n",
" document.querySelector('#id_e5b3fc33-23a5-4605-a619-78502d272910 button.colab-df-generate');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" buttonEl.onclick = () => {\n",
" google.colab.notebook.generateWithVariable('df');\n",
" }\n",
" })();\n",
" </script>\n",
" </div>\n",
"\n",
" </div>\n",
" </div>\n"
],
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "dataframe",
"variable_name": "df",
"summary": "{\n \"name\": \"df\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"X\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Y\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1,\n \"min\": 1,\n \"max\": 4,\n \"num_unique_values\": 4,\n \"samples\": [\n 2,\n 3,\n 1\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
}
},
"metadata": {},
"execution_count": 2
}
]
},
{
"cell_type": "code",
"source": [
"# Create the scatter plot\n",
"plt.figure(figsize=(8, 6)) # Optional: Adjust the size of the plot\n",
"plt.scatter(df['X'], df['Y'])\n",
"\n",
"\n",
"# Add labels and title\n",
"plt.xlabel('X')\n",
"plt.ylabel('Y')\n",
"plt.title('Scatter Plot of Y vs. X')\n",
"plt.ylim(0,5)\n",
"\n",
"# Display the plot\n",
"plt.grid(True) # Optional: Add a grid for better readability\n",
"plt.show()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 564
},
"id": "40CM6IDipfrD",
"outputId": "5562cb8c-56f5-4ff7-8b26-c8ba6de331f6"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 800x600 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAqYAAAIjCAYAAADRBtn0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAALE5JREFUeJzt3Xl0VvWd+PFPEkLYDDsCihDFKojKKFBRVFyoIqUKY2tRR0TbWuvW0sXysxJALbXO2LrVtSpHh5F2xtrSKoriMq1SohRlUasdWrWACGjYQ0zu7w8OqTGAAUmeb+H1OicHnvvcPPfzRM/lfe69z01elmVZAABAjuXnegAAAIgQpgAAJEKYAgCQBGEKAEAShCkAAEkQpgAAJEGYAgCQBGEKAEAShCkAAEkQpgAN6K9//Wvk5eXF/fffn+tRapkxY0b07ds3mjVrFnl5efHBBx/keiQAYQrsnPnz58eZZ54Z3bt3j2bNmsU+++wTQ4YMiVtuuaXBtjl16tT46U9/Wmf5kiVLYsKECTFv3rwG2/bHPfPMM5GXl1fzVVhYGPvvv3+cd9558X//93+7ZBvPP/98TJgwYZdH48qVK+NLX/pSNG/ePG677bZ44IEHomXLlnXWGzp0aLRt2zbefffdOs+Vl5dHly5d4rOf/WxUV1fv0vk+jUWLFkXTpk1jzJgxdZ774IMPkpwZ+AdhCuyw559/Pvr16xcvv/xyfPWrX41bb701vvKVr0R+fn7cdNNNDbbd7YXpxIkTGzVMt7j88svjgQceiLvuuiuGDRsW06ZNi/79+8eSJUs+9Ws///zzMXHixF0epmVlZbFmzZq45ppr4sILL4xzzz03CgsL66z3s5/9LDZt2hTf+ta36jz3//7f/4sVK1bEXXfdFfn56fxT0rt37/jud78b999/fzz77LO1nvv+978f7733Xtx5551JzQz8Q5NcDwD887nuuuuidevWUVZWFm3atKn13PLly3MzVANYt27dVo8kftSxxx4bZ555ZkREjBkzJj7zmc/E5ZdfHlOmTIlx48Y1xpg7bMt/o4//t/u4kpKSKC0tjSuvvDLOP//8+NznPhcRm8P2jjvuiO985ztx+OGHN/S4O+zqq6+OadOmxUUXXRSvvPJKNG3aNF544YW466674lvf+lb07ds31yMC25IB7KCDDjooGzx4cL3Xf+CBB7L+/ftnzZs3z9q0aZMde+yx2eOPP17z/COPPJKddtppWZcuXbKmTZtm+++/fzZp0qTsww8/rFnn+OOPzyKi1lf37t2zp59+us7yiMjuu+++mu+dPXt2dsopp2TFxcVZ8+bNs+OOOy77/e9/X2vG0tLSLCKyhQsXZqNGjcratGmT9e3bd5vvact2f/nLX9ZavmDBgiwisq9+9atZlmXZ4sWL68yTZVn21FNPZYMGDcpatGiRtW7dOvvCF76QLVq0qM48H/9avHjxdn/Wv/jFL7Ijjjgia9asWda+ffvsnHPOyd55553t/hxHjx69zderrKzMDjvssOyAAw7INmzYkH344YfZEUcckZWUlGTr1q3b5vdt2rQpa9u2bXb++efXea68vDwrKirKvv3tb9csu/nmm7PevXvX/D9y5JFHZv/5n/+53fe6PU888UQWEdmECROyTZs2ZX369Mn222+/bO3atTv9mkDDc8QU2GHdu3ePF154IRYsWBB9+vTZ7roTJ06MCRMmxNFHHx2TJk2Kpk2bxh//+MeYNWtWzRG4+++/P1q1ahVjx46NVq1axaxZs2L8+PGxevXquOGGGyIi4qqrrory8vJ455134ic/+UlERLRq1Sp69eoVkyZNivHjx8fXvva1OPbYYyMi4uijj46IiFmzZsXQoUPjyCOPjNLS0sjPz4/77rsvTjzxxPjf//3fGDBgQK15v/jFL8aBBx4YP/zhDyPLsh3+2fzlL3+JiIj27dtvc50nn3wyhg4dGvvvv39MmDAhNmzYELfcckscc8wxMXfu3OjRo0eMHDky/vznP8d//dd/xU9+8pPo0KFDRER07Nhxm697//33x5gxY6J///4xefLkePfdd+Omm26KP/zhD/GnP/0p2rRpE1dddVUcdNBBcdddd8WkSZOipKQkDjjggG2+ZpMmTeKuu+6Ko48+Oq655pro1KlTzJ07N2bMmBEtWrTY5vcVFhbGiBEj4uGHH44777wzmjZtWvPcI488EhUVFfHlL385IiLuvvvuuPzyy+PMM8+MK664IjZu3BivvPJK/PGPf4yzzz57m9vYniFDhsSoUaNi8uTJsWTJkliwYEH8+te//sQj4ECO5bqMgX8+TzzxRFZQUJAVFBRkAwcOzL73ve9ljz/+eLZp06Za673xxhtZfn5+NmLEiKyqqqrWc9XV1TV/X79+fZ1tXHTRRVmLFi2yjRs31iwbNmxY1r179zrrlpWVbfWoZHV1dXbggQdmp5xySp3tlZSUZEOGDKlZtuUI5ahRo+r1M9hyxPTee+/N3nvvvWzJkiXZ7373u6xHjx5ZXl5eVlZWlmXZ1o+Y9u3bN+vUqVO2cuXKmmUvv/xylp+fn5133nk1y2644YZ6HSXNss1HKDt16pT16dMn27BhQ83y3/72t1lEZOPHj69Zdt9992URUTNjfVx66aVZYWFh1qpVq3r/jB5//PEsIrLp06fXWn7aaadl+++/f83j008/PTvkkEPqPUt9LVu2LGvbtm0WEdkZZ5yxy18f2PVc/Q3ssCFDhsQLL7wQX/jCF+Lll1+OH//4x3HKKafEPvvsE7/5zW9q1nvkkUeiuro6xo8fX+fDJnl5eTV/b968ec3f16xZEytWrIhjjz021q9fH6+99tpOzzlv3rx444034uyzz46VK1fGihUrYsWKFbFu3bo46aST4rnnnqvz6eyvf/3rO7SNCy64IDp27Bhdu3aNYcOGxbp162LKlCnRr1+/ra6/dOnSmDdvXpx//vnRrl27muWHHXZYDBkyJB599NEdf6MR8eKLL8by5cvjG9/4RjRr1qxm+bBhw+Lggw+O3/3udzv1ultcd9110b59+8jPz685Yv1JTjzxxOjQoUNMmzatZtn7778fM2fOjLPOOqtmWZs2beKdd96JsrKyTzXjx7Vo0aLmqO6Wo/NA2oQpsFP69+8fDz/8cLz//vsxZ86cGDduXKxZsybOPPPMWLRoUURsPq2dn58fvXv33u5rLVy4MEaMGBGtW7eO4uLi6NixY5x77rkRsfm2RDvrjTfeiIiI0aNHR8eOHWt93XPPPVFRUVHn9UtKSnZoG+PHj4+ZM2fGrFmz4pVXXoklS5bEv/3bv21z/b/97W8REXHQQQfVea5Xr1414byjtve6Bx98cM3zO6u4uDgOOuig6NatW+y99971+p4mTZrEv/7rv8avf/3rqKioiIiIhx9+OCorK2uF6ZVXXhmtWrWKAQMGxIEHHhiXXHJJ/OEPf/hU80Zsvvxj2bJl0atXrygtLY3333//U78m0LCEKfCpNG3aNPr37x8//OEP4/bbb4/Kysr45S9/We/v/+CDD+L444+Pl19+OSZNmhTTp0+PmTNnxvXXXx8R8anuN7nle2+44YaYOXPmVr9atWpV63s+evS2Pg499NA4+eST44QTTohDDz00mjRx6f5HffnLX441a9bEY489FhERv/jFL+Lggw+u9Wn+Xr16xeuvvx4PPfRQDBo0KP7nf/4nBg0aFKWlpTu93RdffDFuu+22uOyyy+Khhx6K999/P6688spP/X6AhmUPCuwyW05fL126NCIiDjjggKiuro5FixZt8xY9zzzzTKxcuTIefvjhOO6442qWL168uM66Hz39X5/lWz7UU1xcHCeffHK930dD6t69e0REvP7663Wee+2116JDhw41H9DZ1vv6pNc98cQTaz33+uuv1zzf2I477rjo0qVLTJs2LQYNGhSzZs2Kq666qs56LVu2jLPOOivOOuus2LRpU4wcOTKuu+66GDduXK1LE+qjqqoqvva1r0XXrl1j0qRJsddee8UVV1wRN954Y4wZMyYGDhy4q94esIs5YgrssKeffnqrn1jfcn3kltPJZ5xxRuTn58ekSZPqHPnc8v0FBQW1HkdEbNq0KX72s5/Vef2WLVtu9dT+lpD7+I3ojzzyyDjggAPi3//932Pt2rV1vu+9997b5ntsKF26dIm+ffvGlClTas27YMGCeOKJJ+K0006rWbat97U1/fr1i06dOsUdd9xRc9o8IuKxxx6LV199NYYNG7bL3sOOyM/PjzPPPDOmT58eDzzwQHz44Ye1TuNHbP5NVB/VtGnT6N27d2RZFpWVlRERNdcbr1ix4hO3efPNN8ef/vSnuPnmm2OvvfaKiM13h9h3333j61//enz44Ye76N0Bu5ojpsAOu+yyy2L9+vUxYsSIOPjgg2PTpk3x/PPPx7Rp06JHjx41vw6yZ8+ecdVVV8U111wTxx57bIwcOTKKioqirKwsunbtGpMnT46jjz462rZtG6NHj47LL7888vLy4oEHHthq+B555JExbdq0GDt2bPTv3z9atWoVw4cPjwMOOCDatGkTd9xxR+y1117RsmXL+OxnPxslJSVxzz33xNChQ+OQQw6JMWPGxD777BN///vf4+mnn47i4uKYPn16Y//44oYbboihQ4fGwIED48ILL6y5XVTr1q1jwoQJtd5vxOZrJb/85S9HYWFhDB8+fKu3PCosLIzrr78+xowZE8cff3yMGjWq5nZRPXr02Opvb2osZ511Vtxyyy1RWloahx56aPTq1avW85/73Oeic+fOccwx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I6b10LZt22jfvn3cdddd0aVLl3jrrbfi+9//fq7HAnYzb731VowdOzYuuuiimDt3btxyyy3xH//xH7keC9hNNGvWLK688sr43ve+F02bNo1jjjkm3nvvvVi4cGFceOGFuR4vIoRpveTn58dDDz0Ul19+efTp0ycOOuiguPnmm2Pw4MG5Hg3YjZx33nmxYcOGGDBgQBQUFMQVV1wRX/va13I9FrAbufrqq6NJkyYxfvz4WLJkSXTp0iW+/vWv53qsGj6VDwBAElxjCgBAEoQpAABJEKYAACRBmAIAkARhCgBAEoQpAABJEKYAACRBmAIAkARhCgBAEoQpQI5VVVXF0UcfHSNHjqy1vLy8PLp16xZXXXVVjiYDaFx+JSlAAv785z9H37594+67745zzjknIiLOO++8ePnll6OsrCyaNm2a4wkBGp4wBUjEzTffHBMmTIiFCxfGnDlz4otf/GKUlZXF4YcfnuvRABqFMAVIRJZlceKJJ0ZBQUHMnz8/LrvssvjBD36Q67EAGo0wBUjIa6+9Fr169YpDDz005s6dG02aNMn1SACNxoefABJy7733RosWLWLx4sXxzjvv5HocgEbliClAIp5//vk4/vjj44knnohrr702IiKefPLJyMvLy/FkAI3DEVOABKxfvz7OP//8uPjii+OEE06In//85zFnzpy44447cj0aQKNxxBQgAVdccUU8+uij8fLLL0eLFi0iIuLOO++M73znOzF//vzo0aNHbgcEaATCFCDHnn322TjppJPimWeeiUGDBtV67pRTTokPP/zQKX1gjyBMAQBIgmtMAQBIgjAFACAJwhQAgCQIUwAAkiBMAQBIgjAFACAJwhQAgCQIUwAAkiBMAQBIgjAFACAJwhQAgCT8f48nRWmcfRnHAAAAAElFTkSuQmCC\n"
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "moFEab2QpqE8"
},
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment