diff --git a/f24/Louis_Lecture_Notes/27_Pandas1/Lec27_Pandas1.ipynb b/f24/Louis_Lecture_Notes/27_Pandas1/Lec27_Pandas1.ipynb
index 2c156d23772b1b0855b9cbe5ccc5132ec06c39ac..1366db7daba04559dbb5f816ebee51f1aae624ce 100644
--- a/f24/Louis_Lecture_Notes/27_Pandas1/Lec27_Pandas1.ipynb
+++ b/f24/Louis_Lecture_Notes/27_Pandas1/Lec27_Pandas1.ipynb
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": null,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -94,32 +94,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "<class 'pandas.core.series.Series'>\n"
-     ]
-    },
-    {
-     "data": {
-      "text/plain": [
-       "one       7\n",
-       "two       8\n",
-       "three     9\n",
-       "four     10\n",
-       "five     11\n",
-       "dtype: int64"
-      ]
-     },
-     "execution_count": 3,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "d = {\"one\":7, \"two\": 8, \"three\": 9, \"four\":10, \"five\":11}\n",
     "s = pd.Series(d)\n",
@@ -145,18 +122,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "8\n",
-      "8\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "print(s.loc[\"two\"])\n",
     "print(s.iloc[1])"
@@ -171,25 +139,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "two       8\n",
-      "three     9\n",
-      "four     10\n",
-      "dtype: int64\n",
-      "\n",
-      "two       8\n",
-      "three     9\n",
-      "four     10\n",
-      "dtype: int64\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "#slicing by the index -- NOTE: includes both ends of slice\n",
     "print(s.loc[\"two\":\"four\"])\n",
@@ -200,20 +152,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "11"
-      ]
-     },
-     "execution_count": 9,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "# Negative integer positions works as well\n",
     "s.iloc[-1]"
@@ -230,29 +171,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Chris      10\n",
-      "Kiara       3\n",
-      "Mikayla     7\n",
-      "Ann         8\n",
-      "Trish       6\n",
-      "dtype: int64\n",
-      "\n",
-      "Kiara       7\n",
-      "Chris       3\n",
-      "Trish      11\n",
-      "Mikayla     2\n",
-      "Ann         5\n",
-      "dtype: int64\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "## Series 1 from a dict\n",
     "game1points = pd.Series({\"Chris\": 10, \"Kiara\": 3, \"Mikayla\": 7, \"Ann\": 8, \"Trish\": 6})\n",
@@ -265,25 +186,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "Ann        13\n",
-       "Chris      13\n",
-       "Kiara      10\n",
-       "Mikayla     9\n",
-       "Trish      17\n",
-       "dtype: int64"
-      ]
-     },
-     "execution_count": 12,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "# Now do math on the two series by matching up their indicies\n",
     "total = game1points + game2points\n",
@@ -292,18 +197,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "17\n",
-      "Trish\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "# Who has the most points?\n",
     "print(total.max())\n",
@@ -312,20 +208,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "10"
-      ]
-     },
-     "execution_count": 15,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "# If you just use [] the index is used -- basically the same as .loc[]\n",
     "total['Kiara']"
@@ -340,23 +225,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Chris    13\n",
-      "Trish    17\n",
-      "dtype: int64\n",
-      "\n",
-      "Kiara    10\n",
-      "Trish    17\n",
-      "dtype: int64\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "# We can have multi-indexing....slightly different from slicing\n",
     "# notice a list is used inside the square brackets\n",
@@ -376,25 +247,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "Trish      17\n",
-       "Ann        13\n",
-       "Chris      13\n",
-       "Kiara      10\n",
-       "Mikayla     9\n",
-       "dtype: int64"
-      ]
-     },
-     "execution_count": 17,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "total_sorted = total.sort_values(ascending=False)\n",
     "total_sorted"
@@ -402,25 +257,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "Ann        13\n",
-       "Chris      13\n",
-       "Kiara      10\n",
-       "Mikayla     9\n",
-       "Trish      17\n",
-       "dtype: int64"
-      ]
-     },
-     "execution_count": 18,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "total_sorted2 = total.sort_index()\n",
     "total_sorted2"
@@ -428,30 +267,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 19,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "Text(0, 0.5, 'total points')"
-      ]
-     },
-     "execution_count": 19,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "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tt4tAABAnrP6GqO+fftq/Pjx2Ro7YcIE9e3b19qPAgAAsAuri9GMGTO0fPnybI1duXKlZs6cae1HAQAA2IXVxSgnUlNT5eFhl48CAACwWp63lbS0NEVHRysgICCvPwoAACBXsn3xdWRkpDZu3Jhp29mzZzVq1Kj7vicpKUnbtm3ThQsX1KZNG6tDAgAA2EO2i9GGDRs0cuRIGYYhk8kk6U4xev/99x/43mLFimVZoAAAAJxBtotR06ZNLb82mUwaNWqUQkND1adPn3uONwxDfn5+CgsLU6tWrVSkSJFchwUAAMhL2S5GTZo0UZMmTSzPM4rRiBEj8iQYAACAvVk9wWN6erotcwAAADicTe9KS0xMVFxcnBITE225WwAAALvIdTE6ePCgevfureDgYPn7+6ts2bLy9/dXcHCw+vbtq4MHD9oiJwAAQJ7LVTGaPn266tatq9mzZ+vChQsymUyWx4ULFzRjxgzVrVtX06dPt1VeAACAPGN1Mdq5c6deeeUV3b59W23atNGqVat07tw5paSk6Ny5c1q1apXatm2r27dv69VXX9Wvv/5qy9wAAAA2Z3Uxmjhxokwmk8aOHatly5apZcuWCg4Olqenp4KDg9WyZUstW7ZM48ePV1pamiZOnGjL3AAAADZndTHasmWLSpQoobfeeivLcUOGDFFQUJA2b95s7UcBAADYhdXF6Pfff1e5cuUeOM4wDJUrV07Xr1+39qMAAADswupiFBQUpJMnTyo1NTXLcSkpKTp58qQCAwOt/SgAAAC7sLoYNW3aVNevX9ewYcOyHDds2DBdv35dTz31lLUfBQAAYBdWz3wdERGh77//XpMmTdKmTZv02muvqXr16goKCtKlS5d0+PBhffbZZ9q/f7+8vb0feC0SAACAo1ldjKpXr64FCxaoZ8+e2rt3r/r373/XGJPJpKJFi2r27NmqXr16roLmRlpamr755ht99913OnTokBITE1WyZEnVrl1bffr0UYcOHRyWDQAAOA+ri5EkPfvsszpy5Ig+//xzrVmzRsePH1diYqIKFy6sypUr6+mnn9bAgQNVunRpW+XNsd9//11t27bVjh07ZBiGKleurPLly+v8+fNavHixChQoQDECAACSclmMJKl06dIaM2aMxowZY4s8NpWenq5nn31WO3bsUMeOHTV58mSVLVvW8vq5c+cUHR3twIQAAMCZWF2MIiMj5e/vr1q1aj1w7IEDB3T9+nU1btzY2o+zypQpU7RlyxY1a9ZMixYtkodH5mvNy5Ytm6koAQAA95aru9L+7//+L1tjX3/9dYfclTZ58mRJ0ujRo+8qRQAAAH+Vq1NpJpMpT8bawokTJ3T06FEVL15c9evX1+LFi7Vo0SLFxcWpRIkSatGihXr06CEfHx+75gIAAM4r19cYZcfVq1fl5+dnj4+y2LNnjySpatWq6tGjh+bMmZPp9QULFuijjz7SypUrszWDNwAAcH3ZLkYJCQl3LeuRnJys2NjY+x4NSkpK0qZNm3Tw4MFsXYtkS3FxcZKkXbt2adu2berfv7+GDx+uUqVKacuWLRowYICOHj2qTp066ddff73vqbbk5GQlJydbnickJNglPwAAsL9sF6NPPvlEo0aNyrRt9+7dKl++fLbe369fvxwFy60//vhD0p0lSRo1aqSpU6daXmvevLl+/PFH1a5dW3v27NEvv/yiZ5555p77GTdunEaOHGmXzAAAwLGyXYwCAgIUGhpqeX727Fl5e3urVKlS9xxvGIb8/PwUFhamF198Ud27d8992hzw9fW1/Pr111+/6/VatWqpWbNmWr9+vVauXHnfYhQREaF//vOflucJCQkKCQmxfWAAAOBw2S5Gr7/+eqaC4eHhofDwcEVGRuZJsNwqVqyY5ddVq1a955hq1app/fr1iomJue9+fHx8uEAbAAA3YfXF199++61Klixpyyw2VaVKFcuv71dsMranpaXZJRMAAHBuVhejXr162TKHzdWuXVu+vr66deuWoqOjValSpbvGZMx6XaZMGXvHAwAATshlZz0sVKiQ2rZtK0maOXPmXa9fuHBBq1atkiSHTD4JAACcj8sWI0l677335Onpqfnz52cqR9evX1fv3r2VlJSksLAwde7c2YEpAQCAs3DpYlSrVi199tlnMplM6t27t8qVK6fw8HCVKVNGq1atUmBgoH744Qd5e3s7OioAAHACLl2MJOnVV1/Vpk2b9Mwzz+jmzZs6cOCAgoKC9Nprr2n//v169NFHHR0RAAA4CbssCeJojRo1UqNGjRwdAwAAODmXP2IEAACQXRQjAAAAM4oRAACAGcUIAADAjGIEAABgRjECAAAwoxgBAACYUYwAAADMKEYAAABmFCMAAAAzihEAAIAZxQgAAMCMYgQAAGBG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fzu7sLJly/IPsJM4fPiwSpQoobFjxzo6CiRdvnxZDz/8cKZtGzZskMlkUteuXeXr6ytJaty4scqVK6cjR444IqbbiI2NVaNGjXT16lU1bNhQx48f1+XLl9W1a1fFxsbqyJEjunz5svz8/NSxY0f+Xstjhw8fVps2bZSSkqJu3bpp06ZNOnfunN5++23FxsYqKipKUVFR8vPz08CBA1WkSBFHR7YpjuO7sG7duunw4cM6deqUo6O4vUKFCik0NNTRMWB2+/btu37C3bx5swzDULNmzTJtL1mypOLi4uwZz+2MGzdOV69e1dixYxUZGWkprbNnz9bGjRv122+/6auvvpKXl5fi4uI0depUByd2bePHj9etW7f09ddfa9asWZa/u0aPHq0ZM2Zo3759WrlypYoXL65Vq1bpX//6l4MT2xbFyIW9/fbbatiwof7+979r3759jo7j1po2barjx4/r9u3bjo4CSWXKlNGpU6d08+ZNy7aVK1eqQIECatCgQaaxN27ckL+/v70jupXVq1ercOHCevPNN+/5eoECBTRgwADNnz9f69ev14QJE+yc0L1s3LhR/v7+6tWr133HtGrVSj/++KMOHTqkUaNG2TFd3uMaIxfRt2/fe25PSUnRwoULlZaWpkcffVQVK1ZUoUKF7jnWMAxNnz49L2O6rWPHjik8PFx9+/bVpEmTHB3H7b3yyiuaNm2aevfurTfffFPff/+9Ro0apaefflorVqywjEtKSpK/v79q1aqlXbt2OTCxa/Pz81PlypUVFRUl6c4PEps3b9bNmzfl4+OTaWxYWJj8/Px06NAhR0R1C76+vqpevbr27t0rSWrWrJkiIyOVmJgoPz+/TGOrVaumlJQUnTx50hFR8wQnal1Edm4n3rt3r+U/9HuhGOWdixcv6v3331dERIQ2b96sPn36ZFlSJd11xxRs55133tGPP/6oGTNmaMaMGTKZTPLy8tLIkSMzjVu6dKlSU1PVqFEjByV1DwULFsx03VDGEbrffvtNYWFhmcYGBATo2LFjds3nbvz9/TOdai5evLgk6cyZM6patWqmsd7e3oqJibFnvDxHMXIR3377raMjIAtNmzaVYRgymUzat2+f9u/fn+V4wzCUmppqn3BuKDQ0VLt379aHH36okydPKiQkRK+99ppq1aqVadzGjRtVq1YtdejQwUFJ3UNISEim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",
-      "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "ax = total_sorted.plot.bar(color=\"green\", fontsize=16)\n",
     "ax.set_ylabel(\"total points\", fontsize=16)"
@@ -466,29 +284,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "<class 'pandas.core.series.Series'>\n",
-      "0     44\n",
-      "1     32\n",
-      "2     19\n",
-      "3     67\n",
-      "4     23\n",
-      "5     23\n",
-      "6     92\n",
-      "7     47\n",
-      "8     47\n",
-      "9     78\n",
-      "10    84\n",
-      "dtype: int64\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "scores = pd.Series([44, 32, 19, 67, 23, 23, 92, 47, 47, 78, 84])\n",
     "print(type(scores))\n",
@@ -519,26 +317,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "67\n",
-      "\n",
-      "3    67\n",
-      "4    23\n",
-      "5    23\n",
-      "dtype: int64\n",
-      "\n",
-      "3    67\n",
-      "6    92\n",
-      "dtype: int64\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "print(scores[3])\n",
     "print()\n",
@@ -549,19 +330,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 22,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "50.54545454545455\n",
-      "47.0\n",
-      "26.051347897426098\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "## Series calculations\n",
     "## mean, median, mode, quartiles, sd, count\n",
@@ -572,19 +343,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 23,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "0    23\n",
-      "1    47\n",
-      "dtype: int64\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "# There could be multiple modes, so mode returns a Series\n",
     "print(scores.mode())"
@@ -592,22 +353,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 24,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1.00    92.0\n",
-      "0.75    72.5\n",
-      "0.50    47.0\n",
-      "0.25    27.5\n",
-      "0.00    19.0\n",
-      "dtype: float64\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "# 5-Number summary\n",
     "print(scores.quantile([1.0, 0.75, 0.5, 0.25, 0]))"
@@ -615,19 +363,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 25,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "0.9    84.0\n",
-      "0.1    23.0\n",
-      "dtype: float64\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "print(scores.quantile([0.9, 0.1]))"
    ]
@@ -641,30 +379,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 26,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "20    6\n",
-       "19    4\n",
-       "21    3\n",
-       "18    2\n",
-       "23    2\n",
-       "17    1\n",
-       "25    1\n",
-       "24    1\n",
-       "22    1\n",
-       "35    1\n",
-       "Name: count, dtype: int64"
-      ]
-     },
-     "execution_count": 26,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "ages = pd.Series([18, 19, 20, 20, 20, 17, 18, 24, 25, 35, 22, 20, 21, 21, 20, 23, 23, 19, 19, 19, 20, 21])\n",
     "ages.value_counts()"
@@ -679,60 +396,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 27,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "17    1\n",
-       "18    2\n",
-       "19    4\n",
-       "20    6\n",
-       "21    3\n",
-       "22    1\n",
-       "23    2\n",
-       "24    1\n",
-       "25    1\n",
-       "35    1\n",
-       "Name: count, dtype: int64"
-      ]
-     },
-     "execution_count": 27,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "ages.value_counts().sort_index()"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 28,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "20    6\n",
-       "19    4\n",
-       "21    3\n",
-       "18    2\n",
-       "23    2\n",
-       "17    1\n",
-       "25    1\n",
-       "24    1\n",
-       "22    1\n",
-       "35    1\n",
-       "Name: count, dtype: int64"
-      ]
-     },
-     "execution_count": 28,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "ages.value_counts().sort_values(ascending=False)"
    ]
@@ -746,30 +421,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[Text(0.5, 0, 'age'), Text(0, 0.5, 'count')]"
-      ]
-     },
-     "execution_count": 29,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "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GsqUKZOv2zl2MW3JkiXVvHlzLV682O/44sWL1bp1a4emAgAANnH0pZ/k5GQ98cQTatGihVq1aqUpU6bowIED+sMf/uDkWAAAwBKOhsrvfvc7HTt2TK+88orS09PVuHFjff3116pRo4aTY/lxu90aO3ZsnpeciptgWEcwrEEKjnUEwxok1mGTYFiDFBzrsG0NLmPy894gAACAouf4R+gDAABcDaECAACsRagAAABrESoAAMBahAoAALAWoQIAAKzl+M/6AYJddna2pk+frpUrVyojI0Mul0uVK1dWmzZt1KtXL5UqVcrpEW/I4cOH9cEHH2jMmDFOj5IvBw8eVNmyZVW6dGm/4zk5OVq1apXuvfdehybLv2PHjmnLli1q1qyZypcvr6NHj+rDDz+U1+tVjx491KBBA6dHDEjt2rW1cOFC1a1b1+lRApKTk6OvvvpKu3btUkxMjB566KFi//fbBnyOymXefPNNPfroo1Z96FwgvvzyS61fv16//e1v1apVK3333XeaOHGicnNz9fDDD+vpp592esR8OXPmjGbMmKHly5crPT1doaGhqlWrlrp3766OHTs6Pd51bdu2Tffff79Onz6tdu3aqXLlyjLGKDMzU8uWLVOpUqW0aNEiNWzY0OlRA7Z582bdcccdunDhgtOjXFN6eroSExOVmpoql8ul3r176/333/cFy+HDhxUbG2v9OtauXavOnTvL4/GobNmyWrx4sXr06KGwsDAZY/Tzzz9r+fLluuOOO5we9areeeedKx5PTk7WiBEjVKVKFUnSkCFDinKsAmvdurW+/vprlS1bVkeOHFHHjh21Y8cO1ahRQ2lpaYqOjtbKlStVtWpVp0fNNytj67o/X/kW43K5TGhoqOnUqZOZOXOm8Xq9To9UYJMnTzZhYWGmefPmJioqynz66acmMjLS9O/f3wwcONBERESYSZMmOT3mde3atcvUqFHDVKhQwcTExBiXy2UeeOABc9ddd5nQ0FDTo0cPk5OT4/SY19S+fXvTs2fPK/458nq9plevXqZ9+/YOTJZ/mzdvvuY2a9YsExIS4vSY19WnTx9z9913m3Xr1pnFixebFi1amObNm5vjx48bY4zJyMgwLpfL4Smvr1OnTqZ///7G4/GYN954w1SrVs3079/fd75fv36me/fuDk54fS6Xy1SrVs3UrFnTb3O5XKZq1aqm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",
-      "text/plain": [
-       "<Figure size 640x480 with 1 Axes>"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "## Series bar chart\n",
     "age_plot = ages.value_counts().sort_index().plot.bar(color='lightsalmon')\n",
@@ -787,54 +441,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "0     44\n",
-      "1     32\n",
-      "2     19\n",
-      "3     67\n",
-      "4     23\n",
-      "5     23\n",
-      "6     92\n",
-      "7     47\n",
-      "8     47\n",
-      "9     78\n",
-      "10    84\n",
-      "dtype: int64\n",
-      "\n",
-      "0     49\n",
-      "1     37\n",
-      "2     24\n",
-      "3     72\n",
-      "4     28\n",
-      "5     28\n",
-      "6     97\n",
-      "7     52\n",
-      "8     52\n",
-      "9     83\n",
-      "10    89\n",
-      "dtype: int64\n",
-      "\n",
-      "0      True\n",
-      "1     False\n",
-      "2     False\n",
-      "3      True\n",
-      "4     False\n",
-      "5     False\n",
-      "6      True\n",
-      "7      True\n",
-      "8      True\n",
-      "9      True\n",
-      "10     True\n",
-      "dtype: bool\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "print(scores)\n",
     "print()\n",
@@ -845,27 +454,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 34,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0     44\n",
-       "3     67\n",
-       "6     92\n",
-       "7     47\n",
-       "8     47\n",
-       "9     78\n",
-       "10    84\n",
-       "dtype: int64"
-      ]
-     },
-     "execution_count": 34,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "scores[scores>40]"
    ]
@@ -884,91 +475,27 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 35,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "2     19\n",
-       "3     67\n",
-       "6     92\n",
-       "9     78\n",
-       "10    84\n",
-       "dtype: int64"
-      ]
-     },
-     "execution_count": 35,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "scores[(scores>60) | (scores<20)]"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 36,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0    44\n",
-       "1    32\n",
-       "4    23\n",
-       "5    23\n",
-       "7    47\n",
-       "8    47\n",
-       "dtype: int64"
-      ]
-     },
-     "execution_count": 36,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "scores[(scores>20) & (scores<60)]"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 37,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "0     18\n",
-      "1     19\n",
-      "2     20\n",
-      "3     20\n",
-      "4     20\n",
-      "5     17\n",
-      "6     18\n",
-      "7     24\n",
-      "8     25\n",
-      "9     35\n",
-      "10    22\n",
-      "11    20\n",
-      "12    21\n",
-      "13    21\n",
-      "14    20\n",
-      "15    23\n",
-      "16    23\n",
-      "17    19\n",
-      "18    19\n",
-      "19    19\n",
-      "20    20\n",
-      "21    21\n",
-      "dtype: int64\n",
-      "\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "\n",
     "print(ages)\n",
@@ -1005,19 +532,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 38,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "886\n",
-      "['', 'Name', 'Attack', 'Defense', 'HP', 'Region', 'Sp. Atk', 'Sp. Def', 'Speed', 'Type 1', 'Type 2']\n",
-      "[['15', 'Pidgey', '45', '40', '40', 'Kanto', '35', '35', '56', 'Normal', 'Flying'], ['16', 'Pidgeotto', '60', '55', '63', 'Kanto', '50', '50', '71', 'Normal', 'Flying'], ['17', 'Pidgeot', '80', '75', '83', 'Kanto', '70', '70', '101', 'Normal', 'Flying']]\n"
-     ]
-    }
-   ],
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
    "source": [
     "# Modified from https://automatetheboringstuff.com/chapter14/\n",
     "import csv\n",
@@ -1206,7 +723,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.12.4"
+   "version": "3.10.12"
   }
  },
  "nbformat": 4,
diff --git a/f24/Louis_Lecture_Notes/27_Pandas1/Lec27_Pandas1_Solution_Oliphant.ipynb b/f24/Louis_Lecture_Notes/27_Pandas1/Lec27_Pandas1_Solution.ipynb
similarity index 99%
rename from f24/Louis_Lecture_Notes/27_Pandas1/Lec27_Pandas1_Solution_Oliphant.ipynb
rename to f24/Louis_Lecture_Notes/27_Pandas1/Lec27_Pandas1_Solution.ipynb
index a7a8e0e0ca2e465e042de05e332baba30b142b2d..625d15ba0ff47fbf1d7a8f8c17388251c8e81967 100644
--- a/f24/Louis_Lecture_Notes/27_Pandas1/Lec27_Pandas1_Solution_Oliphant.ipynb
+++ b/f24/Louis_Lecture_Notes/27_Pandas1/Lec27_Pandas1_Solution.ipynb
@@ -6,10 +6,17 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "# Warmup 0: Pandas!\n",
+    "# Make sure to import his module\n",
     "import pandas as pd"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Warmup"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 2,
@@ -51,6 +58,12 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
+    "# Pandas\n",
+    "\n",
+    "## Reading\n",
+    "\n",
+    "- Pandas Intro Notebook as [HTML](https://cs220.cs.wisc.edu/f24/materials/readings/pandas-intro.html) or [notebook](https://github.com/tylerharter/caraza-harter-com/tree/master/tyler/meena/cs220/s22/materials/readings)\n",
+    "\n",
     "## Learning Objectives\n",
     "- Create a pandas Series from a list or from a dict\n",
     "- Use Series methods max, min, mean, median, mode, quantile, value counts\n",
@@ -63,14 +76,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# Pandas"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "**What is Pandas?**\n",
+    "### What is Pandas?\n",
     " - Pandas is a package of tools for doing Data Science\n",
     " - Pandas was installed with Anaconda, so its on your computers\n",
     " - [Learn More](https://en.wikipedia.org/wiki/Pandas_(software))\n",
@@ -83,6 +89,8 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
+    "### Series\n",
+    "\n",
     "The Pandas **Series** data type is like a **combination of a list and a dictionary**.\n",
     "\n",
     "The terms we'll use when talking about Series are not very consistent with the terms we used for lists and dicts. It is good to learn the correct vocubalary, as you'll encounter the same vocabulary on websites like stackoverflow:\n",
@@ -1450,7 +1458,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.5"
+   "version": "3.10.12"
   }
  },
  "nbformat": 4,