From cf01a03839ed33af1d5f285425fca5ac1885ad72 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bertrand=20N=C3=A9ron?= <bneron@pasteur.fr>
Date: Thu, 17 Oct 2024 14:22:01 +0200
Subject: [PATCH] fix path and pandas_cours

---
 notebooks/Courses/pandas_cours.ipynb | 710 +++++++++++++--------------
 1 file changed, 353 insertions(+), 357 deletions(-)

diff --git a/notebooks/Courses/pandas_cours.ipynb b/notebooks/Courses/pandas_cours.ipynb
index f9078e2..7fc46ff 100644
--- a/notebooks/Courses/pandas_cours.ipynb
+++ b/notebooks/Courses/pandas_cours.ipynb
@@ -3,12 +3,14 @@
   {
    "cell_type": "markdown",
    "id": "horizontal-listening",
-   "metadata": {},
+   "metadata": {
+    "jp-MarkdownHeadingCollapsed": true
+   },
    "source": [
     "# <center><b>Course</b></center>\n",
     "\n",
     "<div style=\"text-align:center\">\n",
-    "    <img src=\"images/pandas_logo.svg\" width=\"600px\">\n",
+    "    <img src=\"../images/pandas_logo.svg\" width=\"600px\">\n",
     "    <div>\n",
     "       Bertrand Néron, François Laurent, Etienne Kornobis\n",
     "       <br />\n",
@@ -351,7 +353,7 @@
     {
      "data": {
       "text/plain": [
-       "2"
+       "np.int64(2)"
       ]
      },
      "execution_count": 11,
@@ -372,7 +374,7 @@
     {
      "data": {
       "text/plain": [
-       "2"
+       "np.int64(2)"
       ]
      },
      "execution_count": 12,
@@ -448,7 +450,7 @@
     {
      "data": {
       "text/plain": [
-       "2"
+       "np.int64(2)"
       ]
      },
      "execution_count": 15,
@@ -480,7 +482,7 @@
     {
      "data": {
       "text/plain": [
-       "1"
+       "np.int64(1)"
       ]
      },
      "execution_count": 16,
@@ -618,7 +620,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 19,
    "id": "least-cruise",
    "metadata": {},
    "outputs": [
@@ -631,7 +633,7 @@
        "dtype: int64"
       ]
      },
-     "execution_count": 20,
+     "execution_count": 19,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -650,7 +652,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 20,
    "id": "better-blame",
    "metadata": {},
    "outputs": [
@@ -663,7 +665,7 @@
        "dtype: int64"
       ]
      },
-     "execution_count": 21,
+     "execution_count": 20,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -694,7 +696,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 22,
+   "execution_count": 21,
    "id": "regulated-ready",
    "metadata": {},
    "outputs": [
@@ -747,7 +749,7 @@
        "b  4  5  6"
       ]
      },
-     "execution_count": 22,
+     "execution_count": 21,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -762,7 +764,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 23,
+   "execution_count": 22,
    "id": "stable-discharge",
    "metadata": {},
    "outputs": [
@@ -772,7 +774,7 @@
        "Index(['a', 'b'], dtype='object')"
       ]
      },
-     "execution_count": 23,
+     "execution_count": 22,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -783,7 +785,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 24,
+   "execution_count": 23,
    "id": "configured-coral",
    "metadata": {},
    "outputs": [
@@ -793,7 +795,7 @@
        "Index(['A', 'B', 'C'], dtype='object')"
       ]
      },
-     "execution_count": 24,
+     "execution_count": 23,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -812,7 +814,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 25,
+   "execution_count": 24,
    "id": "facial-curve",
    "metadata": {},
    "outputs": [
@@ -879,7 +881,7 @@
        "3  9  10  11"
       ]
      },
-     "execution_count": 25,
+     "execution_count": 24,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -899,7 +901,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 26,
+   "execution_count": 25,
    "id": "suspected-nirvana",
    "metadata": {},
    "outputs": [
@@ -955,7 +957,7 @@
        "2  3  6"
       ]
      },
-     "execution_count": 26,
+     "execution_count": 25,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -990,7 +992,7 @@
    },
    "outputs": [],
    "source": [
-    "titanic = pd.read_csv(\"data/titanic.csv\")"
+    "titanic = pd.read_csv(\"../data/titanic.csv\")"
    ]
   },
   {
@@ -1005,7 +1007,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 28,
+   "execution_count": 29,
    "id": "bridal-development",
    "metadata": {},
    "outputs": [
@@ -1022,7 +1024,7 @@
     }
    ],
    "source": [
-    "! head -5 data/bar_data.tsv"
+    "! head -5 ../data/bar_data.tsv"
    ]
   },
   {
@@ -1035,7 +1037,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 194,
+   "execution_count": 30,
    "id": "listed-framework",
    "metadata": {},
    "outputs": [
@@ -1115,13 +1117,13 @@
        "4   9.080359  5.629192  18.443504  4.268572"
       ]
      },
-     "execution_count": 194,
+     "execution_count": 30,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "bar = pd.read_csv(\"data/bar_data.tsv\", sep=\"\\t\", comment=\"#\")\n",
+    "bar = pd.read_csv(\"../data/bar_data.tsv\", sep=\"\\t\", comment=\"#\")\n",
     "bar.head()"
    ]
   },
@@ -1135,7 +1137,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
+   "execution_count": 31,
    "id": "allied-artist",
    "metadata": {},
    "outputs": [
@@ -1152,12 +1154,12 @@
     }
    ],
    "source": [
-    "! head -5 data/data_for_plt.csv"
+    "! head -5 ../data/data_for_plt.csv"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 196,
+   "execution_count": 32,
    "id": "limiting-tokyo",
    "metadata": {},
    "outputs": [
@@ -1225,13 +1227,13 @@
        "2           2  2.11  383.40  437.458982  15.040385"
       ]
      },
-     "execution_count": 196,
+     "execution_count": 32,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "data = pd.read_csv(\"data/data_for_plt.csv\", sep=\"\\t\")\n",
+    "data = pd.read_csv(\"../data/data_for_plt.csv\", sep=\"\\t\")\n",
     "data.head(3)"
    ]
   },
@@ -1246,7 +1248,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 197,
+   "execution_count": 33,
    "id": "crucial-flight",
    "metadata": {},
    "outputs": [
@@ -1326,13 +1328,13 @@
        "4 -1.37  361.37  448.864769   5.732690"
       ]
      },
-     "execution_count": 197,
+     "execution_count": 33,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "data = pd.read_csv(\"data/data_for_plt.csv\", sep=\"\\t\", index_col=0)\n",
+    "data = pd.read_csv(\"../data/data_for_plt.csv\", sep=\"\\t\", index_col=0)\n",
     "data.head()"
    ]
   },
@@ -1348,7 +1350,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": 34,
    "id": "oriented-bleeding",
    "metadata": {},
    "outputs": [
@@ -1436,13 +1438,13 @@
        "4 -1.37  361.37  448.864769   5.732690"
       ]
      },
-     "execution_count": 30,
+     "execution_count": 34,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "data = pd.read_csv(\"data/no_header.tsv\", sep=\"\\t\", index_col=0, header=None)\n",
+    "data = pd.read_csv(\"../data/no_header.tsv\", sep=\"\\t\", index_col=0, header=None)\n",
     "data.head()"
    ]
   },
@@ -1456,7 +1458,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 31,
+   "execution_count": 35,
    "id": "competent-negative",
    "metadata": {},
    "outputs": [
@@ -1468,7 +1470,7 @@
        "       [3, 6]])"
       ]
      },
-     "execution_count": 31,
+     "execution_count": 35,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1479,7 +1481,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 32,
+   "execution_count": 36,
    "id": "fantastic-monday",
    "metadata": {},
    "outputs": [
@@ -1489,7 +1491,7 @@
        "[[1, 4], [2, 5], [3, 6]]"
       ]
      },
-     "execution_count": 32,
+     "execution_count": 36,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1510,12 +1512,12 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 33,
+   "execution_count": 38,
    "id": "simple-luxury",
    "metadata": {},
    "outputs": [],
    "source": [
-    "titanic = pd.read_csv(\"data/titanic.csv\")"
+    "titanic = pd.read_csv(\"../data/titanic.csv\")"
    ]
   },
   {
@@ -1528,7 +1530,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 37,
+   "execution_count": 39,
    "id": "wound-asbestos",
    "metadata": {},
    "outputs": [
@@ -1557,7 +1559,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 203,
+   "execution_count": 40,
    "id": "worthy-bridge",
    "metadata": {},
    "outputs": [
@@ -1699,7 +1701,7 @@
        "4      0            373450   8.0500   NaN        S  "
       ]
      },
-     "execution_count": 203,
+     "execution_count": 40,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1710,7 +1712,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 204,
+   "execution_count": 41,
    "id": "absent-authorization",
    "metadata": {},
    "outputs": [
@@ -1798,7 +1800,7 @@
        "1      0   PC 17599  71.2833   C85        C  "
       ]
      },
-     "execution_count": 204,
+     "execution_count": 41,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1817,7 +1819,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 205,
+   "execution_count": 42,
    "id": "aboriginal-smith",
    "metadata": {},
    "outputs": [
@@ -1901,7 +1903,7 @@
        "890      0  370376   7.75   NaN        Q  "
       ]
      },
-     "execution_count": 205,
+     "execution_count": 42,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1920,7 +1922,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 39,
+   "execution_count": 43,
    "id": "sunset-ballot",
    "metadata": {},
    "outputs": [
@@ -2061,7 +2063,7 @@
        "max      6.000000  512.329200  "
       ]
      },
-     "execution_count": 39,
+     "execution_count": 43,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2073,7 +2075,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 43,
+   "execution_count": 44,
    "id": "whole-township",
    "metadata": {},
    "outputs": [
@@ -2100,34 +2102,29 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 44,
+   "execution_count": 45,
    "id": "furnished-dealing",
    "metadata": {},
    "outputs": [
     {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/tmp/ipykernel_6604/502188208.py:1: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError.  Select only valid columns before calling the reduction.\n",
-      "  titanic.median()\n"
+     "ename": "TypeError",
+     "evalue": "Cannot convert [['Braund, Mr. Owen Harris'\n  'Cumings, Mrs. John Bradley (Florence Briggs Thayer)'\n  'Heikkinen, Miss. Laina' ... 'Johnston, Miss. Catherine Helen \"Carrie\"'\n  'Behr, Mr. Karl Howell' 'Dooley, Mr. Patrick']\n ['male' 'female' 'female' ... 'female' 'male' 'male']\n ['A/5 21171' 'PC 17599' 'STON/O2. 3101282' ... 'W./C. 6607' '111369'\n  '370376']\n [nan 'C85' nan ... nan 'C148' nan]\n ['S' 'C' 'S' ... 'S' 'C' 'Q']] to numeric",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
+      "Cell \u001b[0;32mIn[45], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mtitanic\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmedian\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/frame.py:11706\u001b[0m, in \u001b[0;36mDataFrame.median\u001b[0;34m(self, axis, skipna, numeric_only, **kwargs)\u001b[0m\n\u001b[1;32m  11698\u001b[0m \u001b[38;5;129m@doc\u001b[39m(make_doc(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmedian\u001b[39m\u001b[38;5;124m\"\u001b[39m, ndim\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m))\n\u001b[1;32m  11699\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmedian\u001b[39m(\n\u001b[1;32m  11700\u001b[0m     \u001b[38;5;28mself\u001b[39m,\n\u001b[0;32m   (...)\u001b[0m\n\u001b[1;32m  11704\u001b[0m     \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs,\n\u001b[1;32m  11705\u001b[0m ):\n\u001b[0;32m> 11706\u001b[0m     result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmedian\u001b[49m\u001b[43m(\u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mskipna\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnumeric_only\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m  11707\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(result, Series):\n\u001b[1;32m  11708\u001b[0m         result \u001b[38;5;241m=\u001b[39m result\u001b[38;5;241m.\u001b[39m__finalize__(\u001b[38;5;28mself\u001b[39m, method\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmedian\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
+      "File \u001b[0;32m~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/generic.py:12431\u001b[0m, in \u001b[0;36mNDFrame.median\u001b[0;34m(self, axis, skipna, numeric_only, **kwargs)\u001b[0m\n\u001b[1;32m  12424\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmedian\u001b[39m(\n\u001b[1;32m  12425\u001b[0m     \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m  12426\u001b[0m     axis: Axis \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m,\n\u001b[0;32m   (...)\u001b[0m\n\u001b[1;32m  12429\u001b[0m     \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs,\n\u001b[1;32m  12430\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Series \u001b[38;5;241m|\u001b[39m \u001b[38;5;28mfloat\u001b[39m:\n\u001b[0;32m> 12431\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_stat_function\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m  12432\u001b[0m \u001b[43m        \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmedian\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnanops\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnanmedian\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mskipna\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnumeric_only\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\n\u001b[1;32m  12433\u001b[0m \u001b[43m    \u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/generic.py:12377\u001b[0m, in \u001b[0;36mNDFrame._stat_function\u001b[0;34m(self, name, func, axis, skipna, numeric_only, **kwargs)\u001b[0m\n\u001b[1;32m  12373\u001b[0m nv\u001b[38;5;241m.\u001b[39mvalidate_func(name, (), kwargs)\n\u001b[1;32m  12375\u001b[0m validate_bool_kwarg(skipna, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mskipna\u001b[39m\u001b[38;5;124m\"\u001b[39m, none_allowed\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[0;32m> 12377\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_reduce\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m  12378\u001b[0m \u001b[43m    \u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mskipna\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mskipna\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnumeric_only\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnumeric_only\u001b[49m\n\u001b[1;32m  12379\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/frame.py:11562\u001b[0m, in \u001b[0;36mDataFrame._reduce\u001b[0;34m(self, op, name, axis, skipna, numeric_only, filter_type, **kwds)\u001b[0m\n\u001b[1;32m  11558\u001b[0m     df \u001b[38;5;241m=\u001b[39m df\u001b[38;5;241m.\u001b[39mT\n\u001b[1;32m  11560\u001b[0m \u001b[38;5;66;03m# After possibly _get_data and transposing, we are now in the\u001b[39;00m\n\u001b[1;32m  11561\u001b[0m \u001b[38;5;66;03m#  simple case where we can use BlockManager.reduce\u001b[39;00m\n\u001b[0;32m> 11562\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[43mdf\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_mgr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreduce\u001b[49m\u001b[43m(\u001b[49m\u001b[43mblk_func\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m  11563\u001b[0m out \u001b[38;5;241m=\u001b[39m df\u001b[38;5;241m.\u001b[39m_constructor_from_mgr(res, axes\u001b[38;5;241m=\u001b[39mres\u001b[38;5;241m.\u001b[39maxes)\u001b[38;5;241m.\u001b[39miloc[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m  11564\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m out_dtype \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m out\u001b[38;5;241m.\u001b[39mdtype \u001b[38;5;241m!=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mboolean\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n",
+      "File \u001b[0;32m~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/internals/managers.py:1500\u001b[0m, in \u001b[0;36mBlockManager.reduce\u001b[0;34m(self, func)\u001b[0m\n\u001b[1;32m   1498\u001b[0m res_blocks: \u001b[38;5;28mlist\u001b[39m[Block] \u001b[38;5;241m=\u001b[39m []\n\u001b[1;32m   1499\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m blk \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mblocks:\n\u001b[0;32m-> 1500\u001b[0m     nbs \u001b[38;5;241m=\u001b[39m \u001b[43mblk\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreduce\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m   1501\u001b[0m     res_blocks\u001b[38;5;241m.\u001b[39mextend(nbs)\n\u001b[1;32m   1503\u001b[0m index \u001b[38;5;241m=\u001b[39m Index([\u001b[38;5;28;01mNone\u001b[39;00m])  \u001b[38;5;66;03m# placeholder\u001b[39;00m\n",
+      "File \u001b[0;32m~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/internals/blocks.py:404\u001b[0m, in \u001b[0;36mBlock.reduce\u001b[0;34m(self, func)\u001b[0m\n\u001b[1;32m    398\u001b[0m \u001b[38;5;129m@final\u001b[39m\n\u001b[1;32m    399\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mreduce\u001b[39m(\u001b[38;5;28mself\u001b[39m, func) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28mlist\u001b[39m[Block]:\n\u001b[1;32m    400\u001b[0m     \u001b[38;5;66;03m# We will apply the function and reshape the result into a single-row\u001b[39;00m\n\u001b[1;32m    401\u001b[0m     \u001b[38;5;66;03m#  Block with the same mgr_locs; squeezing will be done at a higher level\u001b[39;00m\n\u001b[1;32m    402\u001b[0m     \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m2\u001b[39m\n\u001b[0;32m--> 404\u001b[0m     result \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mvalues\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    406\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mvalues\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m1\u001b[39m:\n\u001b[1;32m    407\u001b[0m         res_values \u001b[38;5;241m=\u001b[39m result\n",
+      "File \u001b[0;32m~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/frame.py:11481\u001b[0m, in \u001b[0;36mDataFrame._reduce.<locals>.blk_func\u001b[0;34m(values, axis)\u001b[0m\n\u001b[1;32m  11479\u001b[0m         \u001b[38;5;28;01mreturn\u001b[39;00m np\u001b[38;5;241m.\u001b[39marray([result])\n\u001b[1;32m  11480\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m> 11481\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mop\u001b[49m\u001b[43m(\u001b[49m\u001b[43mvalues\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mskipna\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mskipna\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwds\u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/nanops.py:147\u001b[0m, in \u001b[0;36mbottleneck_switch.__call__.<locals>.f\u001b[0;34m(values, axis, skipna, **kwds)\u001b[0m\n\u001b[1;32m    145\u001b[0m         result \u001b[38;5;241m=\u001b[39m alt(values, axis\u001b[38;5;241m=\u001b[39maxis, skipna\u001b[38;5;241m=\u001b[39mskipna, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwds)\n\u001b[1;32m    146\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 147\u001b[0m     result \u001b[38;5;241m=\u001b[39m \u001b[43malt\u001b[49m\u001b[43m(\u001b[49m\u001b[43mvalues\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mskipna\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mskipna\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwds\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    149\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n",
+      "File \u001b[0;32m~/Projects/Cours/scientific_python/sci_py312/lib/python3.11/site-packages/pandas/core/nanops.py:787\u001b[0m, in \u001b[0;36mnanmedian\u001b[0;34m(values, axis, skipna, mask)\u001b[0m\n\u001b[1;32m    785\u001b[0m     inferred \u001b[38;5;241m=\u001b[39m lib\u001b[38;5;241m.\u001b[39minfer_dtype(values)\n\u001b[1;32m    786\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m inferred \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstring\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmixed\u001b[39m\u001b[38;5;124m\"\u001b[39m]:\n\u001b[0;32m--> 787\u001b[0m         \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCannot convert \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mvalues\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m to numeric\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m    788\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m    789\u001b[0m     values \u001b[38;5;241m=\u001b[39m values\u001b[38;5;241m.\u001b[39mastype(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mf8\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
+      "\u001b[0;31mTypeError\u001b[0m: Cannot convert [['Braund, Mr. Owen Harris'\n  'Cumings, Mrs. John Bradley (Florence Briggs Thayer)'\n  'Heikkinen, Miss. Laina' ... 'Johnston, Miss. Catherine Helen \"Carrie\"'\n  'Behr, Mr. Karl Howell' 'Dooley, Mr. Patrick']\n ['male' 'female' 'female' ... 'female' 'male' 'male']\n ['A/5 21171' 'PC 17599' 'STON/O2. 3101282' ... 'W./C. 6607' '111369'\n  '370376']\n [nan 'C85' nan ... nan 'C148' nan]\n ['S' 'C' 'S' ... 'S' 'C' 'Q']] to numeric"
      ]
-    },
-    {
-     "data": {
-      "text/plain": [
-       "PassengerId    446.0000\n",
-       "Survived         0.0000\n",
-       "Pclass           3.0000\n",
-       "Age             28.0000\n",
-       "SibSp            0.0000\n",
-       "Parch            0.0000\n",
-       "Fare            14.4542\n",
-       "dtype: float64"
-      ]
-     },
-     "execution_count": 44,
-     "metadata": {},
-     "output_type": "execute_result"
     }
    ],
    "source": [
@@ -2144,7 +2141,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 54,
+   "execution_count": 46,
    "id": "2a6e3ac6-90fe-4d2a-94c4-0b2a0030a892",
    "metadata": {},
    "outputs": [
@@ -2161,7 +2158,7 @@
        "dtype: float64"
       ]
      },
-     "execution_count": 54,
+     "execution_count": 46,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2180,7 +2177,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 55,
+   "execution_count": 47,
    "id": "further-circular",
    "metadata": {},
    "outputs": [
@@ -2197,7 +2194,7 @@
        "dtype: float64"
       ]
      },
-     "execution_count": 55,
+     "execution_count": 47,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2216,19 +2213,20 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 57,
+   "execution_count": 48,
    "id": "comprehensive-division",
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
+       "Sex\n",
        "male      577\n",
        "female    314\n",
-       "Name: Sex, dtype: int64"
+       "Name: count, dtype: int64"
       ]
      },
-     "execution_count": 57,
+     "execution_count": 48,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2247,17 +2245,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 58,
+   "execution_count": 49,
    "id": "universal-boutique",
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "80.0"
+       "np.float64(80.0)"
       ]
      },
-     "execution_count": 58,
+     "execution_count": 49,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2268,17 +2266,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 59,
+   "execution_count": 50,
    "id": "several-principle",
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "0.42"
+       "np.float64(0.42)"
       ]
      },
-     "execution_count": 59,
+     "execution_count": 50,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2305,7 +2303,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 82,
+   "execution_count": 51,
    "id": "received-editing",
    "metadata": {},
    "outputs": [
@@ -2372,7 +2370,7 @@
        "3  9  10  11"
       ]
      },
-     "execution_count": 82,
+     "execution_count": 51,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2385,7 +2383,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 83,
+   "execution_count": 52,
    "id": "classified-pittsburgh",
    "metadata": {},
    "outputs": [
@@ -2395,7 +2393,7 @@
        "Index(['A', 'B', 'Z'], dtype='object')"
       ]
      },
-     "execution_count": 83,
+     "execution_count": 52,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2409,7 +2407,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 84,
+   "execution_count": 53,
    "id": "exceptional-roberts",
    "metadata": {},
    "outputs": [
@@ -2476,7 +2474,7 @@
        "3  9  10  11"
       ]
      },
-     "execution_count": 84,
+     "execution_count": 53,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2496,7 +2494,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 85,
+   "execution_count": 54,
    "id": "surprised-burns",
    "metadata": {},
    "outputs": [
@@ -2563,7 +2561,7 @@
        "3  9  10  11"
       ]
      },
-     "execution_count": 85,
+     "execution_count": 54,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2582,7 +2580,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 86,
+   "execution_count": 55,
    "id": "breathing-yeast",
    "metadata": {},
    "outputs": [
@@ -2649,7 +2647,7 @@
        "e  9  10  11"
       ]
      },
-     "execution_count": 86,
+     "execution_count": 55,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2661,7 +2659,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 87,
+   "execution_count": 56,
    "id": "central-columbus",
    "metadata": {},
    "outputs": [
@@ -2728,7 +2726,7 @@
        "d  9  10  11"
       ]
      },
-     "execution_count": 87,
+     "execution_count": 56,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2747,7 +2745,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 88,
+   "execution_count": 57,
    "id": "outer-access",
    "metadata": {},
    "outputs": [
@@ -2819,7 +2817,7 @@
        "e  9  10  11   12"
       ]
      },
-     "execution_count": 88,
+     "execution_count": 57,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2839,7 +2837,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 89,
+   "execution_count": 58,
    "id": "respective-twins",
    "metadata": {},
    "outputs": [
@@ -2931,7 +2929,7 @@
        "e  9  10  11   12  9  10  11   12"
       ]
      },
-     "execution_count": 89,
+     "execution_count": 58,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -2952,7 +2950,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 90,
+   "execution_count": 59,
    "id": "blank-ceiling",
    "metadata": {},
    "outputs": [
@@ -3026,7 +3024,7 @@
        "12   9  10  11"
       ]
      },
-     "execution_count": 90,
+     "execution_count": 59,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -3045,7 +3043,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 91,
+   "execution_count": 60,
    "id": "checked-prototype",
    "metadata": {},
    "outputs": [
@@ -3117,7 +3115,7 @@
        "e  9  10  11   12"
       ]
      },
-     "execution_count": 91,
+     "execution_count": 60,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -3136,7 +3134,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 92,
+   "execution_count": 61,
    "id": "alpine-coast",
    "metadata": {},
    "outputs": [],
@@ -3146,7 +3144,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 93,
+   "execution_count": 62,
    "id": "gothic-freight",
    "metadata": {},
    "outputs": [
@@ -3220,7 +3218,7 @@
        "12   9  10  11"
       ]
      },
-     "execution_count": 93,
+     "execution_count": 62,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -3240,7 +3238,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 94,
+   "execution_count": 63,
    "id": "signal-disabled",
    "metadata": {},
    "outputs": [
@@ -3312,7 +3310,7 @@
        "3   12  9  10  11"
       ]
      },
-     "execution_count": 94,
+     "execution_count": 63,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -3334,7 +3332,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 96,
+   "execution_count": 64,
    "id": "western-roots",
    "metadata": {},
    "outputs": [],
@@ -3352,7 +3350,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 97,
+   "execution_count": 65,
    "id": "sophisticated-speaking",
    "metadata": {},
    "outputs": [
@@ -3433,7 +3431,7 @@
        "1    42  43  44"
       ]
      },
-     "execution_count": 97,
+     "execution_count": 65,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -3452,7 +3450,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 99,
+   "execution_count": 66,
    "id": "associate-lodge",
    "metadata": {},
    "outputs": [
@@ -3547,7 +3545,7 @@
        "7  9  10  11"
       ]
      },
-     "execution_count": 99,
+     "execution_count": 66,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -3576,7 +3574,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 116,
+   "execution_count": 67,
    "id": "dying-hepatitis",
    "metadata": {},
    "outputs": [
@@ -3718,7 +3716,7 @@
        "4      0            373450   8.0500   NaN        S  "
       ]
      },
-     "execution_count": 116,
+     "execution_count": 67,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -3729,7 +3727,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 117,
+   "execution_count": 68,
    "id": "authentic-winter",
    "metadata": {},
    "outputs": [
@@ -3779,7 +3777,7 @@
        "2  female  26.0"
       ]
      },
-     "execution_count": 117,
+     "execution_count": 68,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -3790,7 +3788,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 118,
+   "execution_count": 69,
    "id": "partial-trading",
    "metadata": {},
    "outputs": [
@@ -3867,7 +3865,7 @@
        "4    male  35.0      0      0            373450"
       ]
      },
-     "execution_count": 118,
+     "execution_count": 69,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -3878,7 +3876,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 119,
+   "execution_count": 70,
    "id": "electrical-force",
    "metadata": {},
    "outputs": [
@@ -3928,7 +3926,7 @@
        "1  female  38.0"
       ]
      },
-     "execution_count": 119,
+     "execution_count": 70,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -3939,7 +3937,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 120,
+   "execution_count": 71,
    "id": "after-giving",
    "metadata": {},
    "outputs": [
@@ -4007,7 +4005,7 @@
        "2  female  26.0      0      0  STON/O2. 3101282"
       ]
      },
-     "execution_count": 120,
+     "execution_count": 71,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -4034,7 +4032,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 124,
+   "execution_count": 72,
    "id": "homeless-debut",
    "metadata": {
     "tags": []
@@ -4051,7 +4049,7 @@
        "Name: Sex, dtype: object"
       ]
      },
-     "execution_count": 124,
+     "execution_count": 72,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -4070,7 +4068,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 180,
+   "execution_count": 73,
    "id": "c0edb00d-037e-45b1-9003-d16bef62258e",
    "metadata": {},
    "outputs": [
@@ -4085,7 +4083,7 @@
        "Name: Sex, dtype: object"
       ]
      },
-     "execution_count": 180,
+     "execution_count": 73,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -4104,7 +4102,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 125,
+   "execution_count": 74,
    "id": "operating-rehabilitation",
    "metadata": {},
    "outputs": [
@@ -4184,7 +4182,7 @@
        "4    male  35.0       3         0"
       ]
      },
-     "execution_count": 125,
+     "execution_count": 74,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -4211,7 +4209,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 131,
+   "execution_count": 75,
    "id": "realistic-liberal",
    "metadata": {},
    "outputs": [
@@ -4346,7 +4344,7 @@
        "170  61.0      0      0      111240  33.5000   B19        S  "
       ]
      },
-     "execution_count": 131,
+     "execution_count": 75,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -4373,7 +4371,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 136,
+   "execution_count": 76,
    "id": "charming-debate",
    "metadata": {},
    "outputs": [
@@ -4435,7 +4433,7 @@
        "871  Beckwith, Mrs. Richard Leonard (Sallie Monypeny)  47.0"
       ]
      },
-     "execution_count": 136,
+     "execution_count": 76,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -4457,7 +4455,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 137,
+   "execution_count": 77,
    "id": "extensive-sense",
    "metadata": {},
    "outputs": [
@@ -4498,118 +4496,118 @@
        "  </thead>\n",
        "  <tbody>\n",
        "    <tr>\n",
-       "      <th>320</th>\n",
-       "      <td>321</td>\n",
+       "      <th>138</th>\n",
+       "      <td>139</td>\n",
        "      <td>0</td>\n",
        "      <td>3</td>\n",
-       "      <td>Dennis, Mr. Samuel</td>\n",
+       "      <td>Osen, Mr. Olaf Elon</td>\n",
        "      <td>male</td>\n",
-       "      <td>22.0</td>\n",
+       "      <td>16.0</td>\n",
        "      <td>0</td>\n",
        "      <td>0</td>\n",
-       "      <td>A/5 21172</td>\n",
-       "      <td>7.2500</td>\n",
+       "      <td>7534</td>\n",
+       "      <td>9.2167</td>\n",
        "      <td>NaN</td>\n",
        "      <td>S</td>\n",
        "    </tr>\n",
        "    <tr>\n",
-       "      <th>59</th>\n",
-       "      <td>60</td>\n",
-       "      <td>0</td>\n",
-       "      <td>3</td>\n",
-       "      <td>Goodwin, Master. William Frederick</td>\n",
-       "      <td>male</td>\n",
-       "      <td>11.0</td>\n",
-       "      <td>5</td>\n",
+       "      <th>211</th>\n",
+       "      <td>212</td>\n",
+       "      <td>1</td>\n",
        "      <td>2</td>\n",
-       "      <td>CA 2144</td>\n",
-       "      <td>46.9000</td>\n",
+       "      <td>Cameron, Miss. Clear Annie</td>\n",
+       "      <td>female</td>\n",
+       "      <td>35.0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>F.C.C. 13528</td>\n",
+       "      <td>21.0000</td>\n",
        "      <td>NaN</td>\n",
        "      <td>S</td>\n",
        "    </tr>\n",
        "    <tr>\n",
-       "      <th>176</th>\n",
-       "      <td>177</td>\n",
-       "      <td>0</td>\n",
-       "      <td>3</td>\n",
-       "      <td>Lefebre, Master. Henry Forbes</td>\n",
+       "      <th>547</th>\n",
+       "      <td>548</td>\n",
+       "      <td>1</td>\n",
+       "      <td>2</td>\n",
+       "      <td>Padro y Manent, Mr. Julian</td>\n",
        "      <td>male</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>3</td>\n",
-       "      <td>1</td>\n",
-       "      <td>4133</td>\n",
-       "      <td>25.4667</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>SC/PARIS 2146</td>\n",
+       "      <td>13.8625</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>S</td>\n",
+       "      <td>C</td>\n",
        "    </tr>\n",
        "    <tr>\n",
-       "      <th>117</th>\n",
-       "      <td>118</td>\n",
+       "      <th>482</th>\n",
+       "      <td>483</td>\n",
        "      <td>0</td>\n",
-       "      <td>2</td>\n",
-       "      <td>Turpin, Mr. William John Robert</td>\n",
+       "      <td>3</td>\n",
+       "      <td>Rouse, Mr. Richard Henry</td>\n",
        "      <td>male</td>\n",
-       "      <td>29.0</td>\n",
-       "      <td>1</td>\n",
+       "      <td>50.0</td>\n",
        "      <td>0</td>\n",
-       "      <td>11668</td>\n",
-       "      <td>21.0000</td>\n",
+       "      <td>0</td>\n",
+       "      <td>A/5 3594</td>\n",
+       "      <td>8.0500</td>\n",
        "      <td>NaN</td>\n",
        "      <td>S</td>\n",
        "    </tr>\n",
        "    <tr>\n",
-       "      <th>714</th>\n",
-       "      <td>715</td>\n",
+       "      <th>243</th>\n",
+       "      <td>244</td>\n",
        "      <td>0</td>\n",
-       "      <td>2</td>\n",
-       "      <td>Greenberg, Mr. Samuel</td>\n",
+       "      <td>3</td>\n",
+       "      <td>Maenpaa, Mr. Matti Alexanteri</td>\n",
        "      <td>male</td>\n",
-       "      <td>52.0</td>\n",
+       "      <td>22.0</td>\n",
        "      <td>0</td>\n",
        "      <td>0</td>\n",
-       "      <td>250647</td>\n",
-       "      <td>13.0000</td>\n",
+       "      <td>STON/O 2. 3101275</td>\n",
+       "      <td>7.1250</td>\n",
        "      <td>NaN</td>\n",
        "      <td>S</td>\n",
        "    </tr>\n",
        "    <tr>\n",
-       "      <th>61</th>\n",
-       "      <td>62</td>\n",
-       "      <td>1</td>\n",
-       "      <td>1</td>\n",
-       "      <td>Icard, Miss. Amelie</td>\n",
-       "      <td>female</td>\n",
-       "      <td>38.0</td>\n",
+       "      <th>861</th>\n",
+       "      <td>862</td>\n",
        "      <td>0</td>\n",
+       "      <td>2</td>\n",
+       "      <td>Giles, Mr. Frederick Edward</td>\n",
+       "      <td>male</td>\n",
+       "      <td>21.0</td>\n",
+       "      <td>1</td>\n",
        "      <td>0</td>\n",
-       "      <td>113572</td>\n",
-       "      <td>80.0000</td>\n",
-       "      <td>B28</td>\n",
+       "      <td>28134</td>\n",
+       "      <td>11.5000</td>\n",
        "      <td>NaN</td>\n",
+       "      <td>S</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
        "</div>"
       ],
       "text/plain": [
-       "     PassengerId  Survived  Pclass                                Name  \\\n",
-       "320          321         0       3                  Dennis, Mr. Samuel   \n",
-       "59            60         0       3  Goodwin, Master. William Frederick   \n",
-       "176          177         0       3       Lefebre, Master. Henry Forbes   \n",
-       "117          118         0       2     Turpin, Mr. William John Robert   \n",
-       "714          715         0       2               Greenberg, Mr. Samuel   \n",
-       "61            62         1       1                 Icard, Miss. Amelie   \n",
-       "\n",
-       "        Sex   Age  SibSp  Parch     Ticket     Fare Cabin Embarked  \n",
-       "320    male  22.0      0      0  A/5 21172   7.2500   NaN        S  \n",
-       "59     male  11.0      5      2    CA 2144  46.9000   NaN        S  \n",
-       "176    male   NaN      3      1       4133  25.4667   NaN        S  \n",
-       "117    male  29.0      1      0      11668  21.0000   NaN        S  \n",
-       "714    male  52.0      0      0     250647  13.0000   NaN        S  \n",
-       "61   female  38.0      0      0     113572  80.0000   B28      NaN  "
+       "     PassengerId  Survived  Pclass                           Name     Sex  \\\n",
+       "138          139         0       3            Osen, Mr. Olaf Elon    male   \n",
+       "211          212         1       2     Cameron, Miss. Clear Annie  female   \n",
+       "547          548         1       2     Padro y Manent, Mr. Julian    male   \n",
+       "482          483         0       3       Rouse, Mr. Richard Henry    male   \n",
+       "243          244         0       3  Maenpaa, Mr. Matti Alexanteri    male   \n",
+       "861          862         0       2    Giles, Mr. Frederick Edward    male   \n",
+       "\n",
+       "      Age  SibSp  Parch             Ticket     Fare Cabin Embarked  \n",
+       "138  16.0      0      0               7534   9.2167   NaN        S  \n",
+       "211  35.0      0      0       F.C.C. 13528  21.0000   NaN        S  \n",
+       "547   NaN      0      0      SC/PARIS 2146  13.8625   NaN        C  \n",
+       "482  50.0      0      0           A/5 3594   8.0500   NaN        S  \n",
+       "243  22.0      0      0  STON/O 2. 3101275   7.1250   NaN        S  \n",
+       "861  21.0      1      0              28134  11.5000   NaN        S  "
       ]
      },
-     "execution_count": 137,
+     "execution_count": 77,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -4630,7 +4628,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 138,
+   "execution_count": 78,
    "id": "enormous-dublin",
    "metadata": {},
    "outputs": [
@@ -4731,7 +4729,7 @@
        "456  male  65.0      0      0              13509  26.550   E38        S  "
       ]
      },
-     "execution_count": 138,
+     "execution_count": 78,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -4755,7 +4753,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 139,
+   "execution_count": 79,
    "id": "piano-chance",
    "metadata": {},
    "outputs": [
@@ -4823,7 +4821,7 @@
        "4  4  5"
       ]
      },
-     "execution_count": 139,
+     "execution_count": 79,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -4835,7 +4833,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 140,
+   "execution_count": 80,
    "id": "minute-printer",
    "metadata": {},
    "outputs": [
@@ -4903,7 +4901,7 @@
        "4  0  0"
       ]
      },
-     "execution_count": 140,
+     "execution_count": 80,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -4914,7 +4912,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 141,
+   "execution_count": 81,
    "id": "polar-offering",
    "metadata": {},
    "outputs": [
@@ -4982,7 +4980,7 @@
        "4  4  5"
       ]
      },
-     "execution_count": 141,
+     "execution_count": 81,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -5005,7 +5003,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 142,
+   "execution_count": 82,
    "id": "designing-capacity",
    "metadata": {},
    "outputs": [
@@ -5073,7 +5071,7 @@
        "4  4  5"
       ]
      },
-     "execution_count": 142,
+     "execution_count": 82,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -5084,7 +5082,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 143,
+   "execution_count": 83,
    "id": "breeding-radio",
    "metadata": {},
    "outputs": [
@@ -5152,7 +5150,7 @@
        "4  4  5"
       ]
      },
-     "execution_count": 143,
+     "execution_count": 83,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -5175,7 +5173,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 145,
+   "execution_count": 84,
    "id": "systematic-hawaii",
    "metadata": {},
    "outputs": [
@@ -5317,7 +5315,7 @@
        "9      0            237736  30.0708   NaN        C  "
       ]
      },
-     "execution_count": 145,
+     "execution_count": 84,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -5336,7 +5334,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 147,
+   "execution_count": 85,
    "id": "foster-customs",
    "metadata": {},
    "outputs": [
@@ -5478,7 +5476,7 @@
        "9      0            237736  30.0708   NaN        C  "
       ]
      },
-     "execution_count": 147,
+     "execution_count": 85,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -5497,7 +5495,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 151,
+   "execution_count": 86,
    "id": "eligible-breath",
    "metadata": {},
    "outputs": [],
@@ -5507,22 +5505,22 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 152,
+   "execution_count": 87,
    "id": "alpine-residence",
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "24            Palsson, Miss. Torborg Danira\n",
-       "200          Vande Walle, Mr. Nestor Cyriel\n",
-       "630    Barkworth, Mr. Algernon Henry Wilson\n",
-       "80                     Waelens, Mr. Achille\n",
-       "410                      Sdycoff, Mr. Todor\n",
+       "359    Mockler, Miss. Helen Mary \"Ellie\"\n",
+       "64                 Stewart, Mr. Albert A\n",
+       "864               Gill, Mr. John William\n",
+       "389                Lehmann, Miss. Bertha\n",
+       "181                     Pernot, Mr. Rene\n",
        "Name: Name, dtype: object"
       ]
      },
-     "execution_count": 152,
+     "execution_count": 87,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -5533,7 +5531,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 153,
+   "execution_count": 88,
    "id": "therapeutic-sudan",
    "metadata": {},
    "outputs": [
@@ -5574,78 +5572,78 @@
        "  </thead>\n",
        "  <tbody>\n",
        "    <tr>\n",
-       "      <th>24</th>\n",
-       "      <td>25</td>\n",
+       "      <th>64</th>\n",
+       "      <td>65</td>\n",
        "      <td>0</td>\n",
-       "      <td>3</td>\n",
-       "      <td>Palsson, Miss. Torborg Danira</td>\n",
-       "      <td>female</td>\n",
-       "      <td>8.0</td>\n",
-       "      <td>3</td>\n",
        "      <td>1</td>\n",
-       "      <td>349909</td>\n",
-       "      <td>21.0750</td>\n",
-       "      <td>NaN</td>\n",
-       "      <td>S</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>80</th>\n",
-       "      <td>81</td>\n",
-       "      <td>0</td>\n",
-       "      <td>3</td>\n",
-       "      <td>Waelens, Mr. Achille</td>\n",
+       "      <td>Stewart, Mr. Albert A</td>\n",
        "      <td>male</td>\n",
-       "      <td>22.0</td>\n",
+       "      <td>NaN</td>\n",
        "      <td>0</td>\n",
        "      <td>0</td>\n",
-       "      <td>345767</td>\n",
-       "      <td>9.0000</td>\n",
+       "      <td>PC 17605</td>\n",
+       "      <td>27.7208</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>S</td>\n",
+       "      <td>C</td>\n",
        "    </tr>\n",
        "    <tr>\n",
-       "      <th>200</th>\n",
-       "      <td>201</td>\n",
+       "      <th>181</th>\n",
+       "      <td>182</td>\n",
        "      <td>0</td>\n",
-       "      <td>3</td>\n",
-       "      <td>Vande Walle, Mr. Nestor Cyriel</td>\n",
+       "      <td>2</td>\n",
+       "      <td>Pernot, Mr. Rene</td>\n",
        "      <td>male</td>\n",
-       "      <td>28.0</td>\n",
+       "      <td>NaN</td>\n",
        "      <td>0</td>\n",
        "      <td>0</td>\n",
-       "      <td>345770</td>\n",
-       "      <td>9.5000</td>\n",
+       "      <td>SC/PARIS 2131</td>\n",
+       "      <td>15.0500</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>S</td>\n",
+       "      <td>C</td>\n",
        "    </tr>\n",
        "    <tr>\n",
-       "      <th>410</th>\n",
-       "      <td>411</td>\n",
-       "      <td>0</td>\n",
+       "      <th>359</th>\n",
+       "      <td>360</td>\n",
+       "      <td>1</td>\n",
        "      <td>3</td>\n",
-       "      <td>Sdycoff, Mr. Todor</td>\n",
-       "      <td>male</td>\n",
+       "      <td>Mockler, Miss. Helen Mary \"Ellie\"</td>\n",
+       "      <td>female</td>\n",
        "      <td>NaN</td>\n",
        "      <td>0</td>\n",
        "      <td>0</td>\n",
-       "      <td>349222</td>\n",
-       "      <td>7.8958</td>\n",
+       "      <td>330980</td>\n",
+       "      <td>7.8792</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>S</td>\n",
+       "      <td>Q</td>\n",
        "    </tr>\n",
        "    <tr>\n",
-       "      <th>630</th>\n",
-       "      <td>631</td>\n",
+       "      <th>389</th>\n",
+       "      <td>390</td>\n",
        "      <td>1</td>\n",
-       "      <td>1</td>\n",
-       "      <td>Barkworth, Mr. Algernon Henry Wilson</td>\n",
+       "      <td>2</td>\n",
+       "      <td>Lehmann, Miss. Bertha</td>\n",
+       "      <td>female</td>\n",
+       "      <td>17.0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>0</td>\n",
+       "      <td>SC 1748</td>\n",
+       "      <td>12.0000</td>\n",
+       "      <td>NaN</td>\n",
+       "      <td>C</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>864</th>\n",
+       "      <td>865</td>\n",
+       "      <td>0</td>\n",
+       "      <td>2</td>\n",
+       "      <td>Gill, Mr. John William</td>\n",
        "      <td>male</td>\n",
-       "      <td>80.0</td>\n",
+       "      <td>24.0</td>\n",
        "      <td>0</td>\n",
        "      <td>0</td>\n",
-       "      <td>27042</td>\n",
-       "      <td>30.0000</td>\n",
-       "      <td>A23</td>\n",
+       "      <td>233866</td>\n",
+       "      <td>13.0000</td>\n",
+       "      <td>NaN</td>\n",
        "      <td>S</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
@@ -5653,22 +5651,22 @@
        "</div>"
       ],
       "text/plain": [
-       "     PassengerId  Survived  Pclass                                  Name  \\\n",
-       "24            25         0       3         Palsson, Miss. Torborg Danira   \n",
-       "80            81         0       3                  Waelens, Mr. Achille   \n",
-       "200          201         0       3        Vande Walle, Mr. Nestor Cyriel   \n",
-       "410          411         0       3                    Sdycoff, Mr. Todor   \n",
-       "630          631         1       1  Barkworth, Mr. Algernon Henry Wilson   \n",
-       "\n",
-       "        Sex   Age  SibSp  Parch  Ticket     Fare Cabin Embarked  \n",
-       "24   female   8.0      3      1  349909  21.0750   NaN        S  \n",
-       "80     male  22.0      0      0  345767   9.0000   NaN        S  \n",
-       "200    male  28.0      0      0  345770   9.5000   NaN        S  \n",
-       "410    male   NaN      0      0  349222   7.8958   NaN        S  \n",
-       "630    male  80.0      0      0   27042  30.0000   A23        S  "
+       "     PassengerId  Survived  Pclass                               Name     Sex  \\\n",
+       "64            65         0       1              Stewart, Mr. Albert A    male   \n",
+       "181          182         0       2                   Pernot, Mr. Rene    male   \n",
+       "359          360         1       3  Mockler, Miss. Helen Mary \"Ellie\"  female   \n",
+       "389          390         1       2              Lehmann, Miss. Bertha  female   \n",
+       "864          865         0       2             Gill, Mr. John William    male   \n",
+       "\n",
+       "      Age  SibSp  Parch         Ticket     Fare Cabin Embarked  \n",
+       "64    NaN      0      0       PC 17605  27.7208   NaN        C  \n",
+       "181   NaN      0      0  SC/PARIS 2131  15.0500   NaN        C  \n",
+       "359   NaN      0      0         330980   7.8792   NaN        Q  \n",
+       "389  17.0      0      0        SC 1748  12.0000   NaN        C  \n",
+       "864  24.0      0      0         233866  13.0000   NaN        S  "
       ]
      },
-     "execution_count": 153,
+     "execution_count": 88,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -5691,7 +5689,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 154,
+   "execution_count": 89,
    "id": "extended-usage",
    "metadata": {},
    "outputs": [
@@ -5765,7 +5763,7 @@
        "4  Indomie  pack     5.0"
       ]
      },
-     "execution_count": 154,
+     "execution_count": 89,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -5789,7 +5787,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 155,
+   "execution_count": 90,
    "id": "administrative-partition",
    "metadata": {},
    "outputs": [
@@ -5856,7 +5854,7 @@
        "4  Indomie  pack     5.0"
       ]
      },
-     "execution_count": 155,
+     "execution_count": 90,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -5875,7 +5873,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 156,
+   "execution_count": 91,
    "id": "english-parallel",
    "metadata": {},
    "outputs": [
@@ -5928,7 +5926,7 @@
        "2  Indomie   cup     3.5"
       ]
      },
-     "execution_count": 156,
+     "execution_count": 91,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -5947,7 +5945,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 157,
+   "execution_count": 92,
    "id": "corresponding-owner",
    "metadata": {},
    "outputs": [
@@ -6007,7 +6005,7 @@
        "4  Indomie  pack     5.0"
       ]
      },
-     "execution_count": 157,
+     "execution_count": 92,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -6026,7 +6024,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 160,
+   "execution_count": 93,
    "id": "serial-omaha",
    "metadata": {},
    "outputs": [
@@ -6090,7 +6088,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 161,
+   "execution_count": 94,
    "id": "exclusive-madison",
    "metadata": {},
    "outputs": [
@@ -6185,7 +6183,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 162,
+   "execution_count": 95,
    "id": "institutional-promotion",
    "metadata": {},
    "outputs": [],
@@ -6198,7 +6196,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 163,
+   "execution_count": 96,
    "id": "upset-joyce",
    "metadata": {},
    "outputs": [
@@ -6254,7 +6252,7 @@
        "2        3   HORSE"
       ]
      },
-     "execution_count": 163,
+     "execution_count": 96,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -6265,7 +6263,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 164,
+   "execution_count": 97,
    "id": "hidden-attitude",
    "metadata": {},
    "outputs": [
@@ -6321,7 +6319,7 @@
        "2        1      45"
       ]
      },
-     "execution_count": 164,
+     "execution_count": 97,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -6340,7 +6338,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 165,
+   "execution_count": 98,
    "id": "separated-extreme",
    "metadata": {},
    "outputs": [
@@ -6400,7 +6398,7 @@
        "2        3   HORSE      33"
       ]
      },
-     "execution_count": 165,
+     "execution_count": 98,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -6411,7 +6409,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 168,
+   "execution_count": 99,
    "id": "impressed-copper",
    "metadata": {},
    "outputs": [
@@ -6467,7 +6465,7 @@
        "2    1      45"
       ]
      },
-     "execution_count": 168,
+     "execution_count": 99,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -6488,7 +6486,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 167,
+   "execution_count": 100,
    "id": "identified-posting",
    "metadata": {},
    "outputs": [
@@ -6552,7 +6550,7 @@
        "2        3   HORSE    3      33"
       ]
      },
-     "execution_count": 167,
+     "execution_count": 100,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -6571,7 +6569,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 169,
+   "execution_count": 101,
    "id": "logical-alfred",
    "metadata": {},
    "outputs": [
@@ -6633,7 +6631,7 @@
        "3       42  MONKEY"
       ]
      },
-     "execution_count": 169,
+     "execution_count": 101,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -6646,7 +6644,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 170,
+   "execution_count": 102,
    "id": "progressive-blogger",
    "metadata": {},
    "outputs": [
@@ -6708,7 +6706,7 @@
        "3   35     100"
       ]
      },
-     "execution_count": 170,
+     "execution_count": 102,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -6731,7 +6729,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 171,
+   "execution_count": 103,
    "id": "stock-attachment",
    "metadata": {},
    "outputs": [
@@ -6803,7 +6801,7 @@
        "3       42  MONKEY   NaN     NaN"
       ]
      },
-     "execution_count": 171,
+     "execution_count": 103,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -6822,7 +6820,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 172,
+   "execution_count": 104,
    "id": "equivalent-conservative",
    "metadata": {},
    "outputs": [
@@ -6894,7 +6892,7 @@
        "3      NaN     NaN   35     100"
       ]
      },
-     "execution_count": 172,
+     "execution_count": 104,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -6913,7 +6911,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 173,
+   "execution_count": 105,
    "id": "seasonal-publisher",
    "metadata": {},
    "outputs": [
@@ -6977,7 +6975,7 @@
        "2        3   HORSE    3      33"
       ]
      },
-     "execution_count": 173,
+     "execution_count": 105,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -6996,7 +6994,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 174,
+   "execution_count": 106,
    "id": "neural-christianity",
    "metadata": {},
    "outputs": [
@@ -7037,31 +7035,31 @@
        "    </tr>\n",
        "    <tr>\n",
        "      <th>1</th>\n",
-       "      <td>12.0</td>\n",
-       "      <td>RAT</td>\n",
-       "      <td>12.0</td>\n",
-       "      <td>12.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "      <th>2</th>\n",
        "      <td>3.0</td>\n",
        "      <td>HORSE</td>\n",
        "      <td>3.0</td>\n",
        "      <td>33.0</td>\n",
        "    </tr>\n",
        "    <tr>\n",
+       "      <th>2</th>\n",
+       "      <td>12.0</td>\n",
+       "      <td>RAT</td>\n",
+       "      <td>12.0</td>\n",
+       "      <td>12.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
        "      <th>3</th>\n",
-       "      <td>42.0</td>\n",
-       "      <td>MONKEY</td>\n",
        "      <td>NaN</td>\n",
        "      <td>NaN</td>\n",
+       "      <td>35.0</td>\n",
+       "      <td>100.0</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>4</th>\n",
+       "      <td>42.0</td>\n",
+       "      <td>MONKEY</td>\n",
        "      <td>NaN</td>\n",
        "      <td>NaN</td>\n",
-       "      <td>35.0</td>\n",
-       "      <td>100.0</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
@@ -7070,13 +7068,13 @@
       "text/plain": [
        "   gene_ID species   ref  effect\n",
        "0      1.0   HUMAN   1.0    45.0\n",
-       "1     12.0     RAT  12.0    12.0\n",
-       "2      3.0   HORSE   3.0    33.0\n",
-       "3     42.0  MONKEY   NaN     NaN\n",
-       "4      NaN     NaN  35.0   100.0"
+       "1      3.0   HORSE   3.0    33.0\n",
+       "2     12.0     RAT  12.0    12.0\n",
+       "3      NaN     NaN  35.0   100.0\n",
+       "4     42.0  MONKEY   NaN     NaN"
       ]
      },
-     "execution_count": 174,
+     "execution_count": 106,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -7099,7 +7097,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 181,
+   "execution_count": 107,
    "id": "appropriate-astrology",
    "metadata": {},
    "outputs": [
@@ -7225,7 +7223,7 @@
        "[88 rows x 3 columns]"
       ]
      },
-     "execution_count": 181,
+     "execution_count": 107,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -7284,7 +7282,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 185,
+   "execution_count": 108,
    "id": "corresponding-natural",
    "metadata": {},
    "outputs": [
@@ -7337,7 +7335,7 @@
        "1  4  42  6"
       ]
      },
-     "execution_count": 185,
+     "execution_count": 108,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -7359,7 +7357,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 186,
+   "execution_count": 109,
    "id": "stunning-retrieval",
    "metadata": {},
    "outputs": [
@@ -7412,7 +7410,7 @@
        "1  4  5  6"
       ]
      },
-     "execution_count": 186,
+     "execution_count": 109,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -7436,30 +7434,28 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 187,
+   "execution_count": 110,
    "id": "relevant-sentence",
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "<AxesSubplot:>"
+       "<Axes: >"
       ]
      },
-     "execution_count": 187,
+     "execution_count": 110,
      "metadata": {},
      "output_type": "execute_result"
     },
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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1avV3NysG2+8UZIzXqczZ85Ua2urCgoKlJycrPb2ds2bN09TpkyRFP/fGY4NH0hsZWVlqq+v14YNG+JdStSde+652rZtm1paWvTcc89p6tSpqq2tjXdZUbFr1y7dddddqq6uVlpaWrzLiYkj/+coSUOHDtWIESM0cOBAPfvss+rRo0ccK4ueQCCg4cOH63e/+50k6eKLL1Z9fb0ef/xxTZ06Nc7VRd/SpUs1bty4sG4FnyieffZZPf3006qqqtIFF1ygbdu2afr06crNze0Wx9Cxb7v06dNHycnJHT6d3NTUpJycnDhVFTtHenJCv3fccYdeeuklvf766xowYEBweU5Ojg4fPqzm5uaQ7ROtx9TUVJ111lkqLCzU/PnzNWzYMD366KOO6K+urk579+7V9773PaWkpCglJUW1tbV67LHHlJKSon79+iV8j9+WlZWlc845Rx999JEjjqEk9e/fX+eff37IsvPOOy/49pKTzjefffaZ/v73v+tnP/tZcJkTjuPdd9+tmTNn6vrrr9eFF16on/zkJ5oxY4bmz58vKf7H0LHhIzU1VYWFhaqpqQkuCwQCqqmpkdfrjWNlsTF48GDl5OSE9Nva2qrNmzcnTL/GGN1xxx1atWqV1q1bp8GDB4esLywslNvtDumxoaFBO3fuTJgejyUQCMjn8zmivyuvvFLvv/++tm3bFnwMHz5cU6ZMCf53ovf4bQcOHNDHH3+s/v37O+IYStJll13WYZr7hx9+qIEDB0pyxvnmiGXLlqlv374aP358cJkTjmNbW5uSkkJ/xScnJysQCEjqBscw5h9pjaMVK1YYj8djli9fbv75z3+aW2+91WRlZZnGxsZ4l9Yp+/fvN++884555513jCTz8MMPm3feecd89tlnxphvpk1lZWWZF154wbz33nvmmmuuSaipb7fffrvJzMw069evD5kC19bWFtzmtttuM/n5+WbdunVm69atxuv1Gq/XG8eqIzNz5kxTW1trduzYYd577z0zc+ZM43K5zGuvvWaMSfz+juXo2S7GJH6Pv/zlL8369evNjh07zD/+8Q9TXFxs+vTpY/bu3WuMSfz+jPlmmnRKSoqZN2+e2b59u3n66adNenq6eeqpp4LbJPr5xphvZkDm5+ebe++9t8O6RD+OU6dONaeffnpwqu3zzz9v+vTpY+65557gNvE8ho4OH8YY84c//MHk5+eb1NRUU1RUZDZt2hTvkjrt9ddfN5I6PKZOnWqM+Wbq1OzZs02/fv2Mx+MxV155pWloaIhv0RE4Vm+SzLJly4LbfP311+bnP/+5OfXUU016erq57rrrzJ49e+JXdIRuuukmM3DgQJOammpOO+00c+WVVwaDhzGJ39+xfDt8JHqPkyZNMv379zepqanm9NNPN5MmTQr5+xeJ3t8Ra9asMUOGDDEej8cUFBSYP/3pTyHrE/18Y4wxa9euNZKOWXeiH8fW1lZz1113mfz8fJOWlmbOOOMM8+tf/9r4fL7gNvE8hi5jjvpzZwAAADHm2M98AACA7onwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwKr/Byfd0uSzUf6vAAAAAElFTkSuQmCC",
       "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
+       "<Figure size 640x480 with 1 Axes>"
       ]
      },
-     "metadata": {
-      "needs_background": "light"
-     },
+     "metadata": {},
      "output_type": "display_data"
     }
    ],
@@ -7488,9 +7484,9 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python [conda env:dev]",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
-   "name": "conda-env-dev-py"
+   "name": "python3"
   },
   "language_info": {
    "codemirror_mode": {
@@ -7502,7 +7498,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.10.4"
+   "version": "3.11.10"
   }
  },
  "nbformat": 4,
-- 
GitLab