From af083d39a2dbe4f67537655f7c851c6ab997dda4 Mon Sep 17 00:00:00 2001 From: Elizabeth Burgon Date: Thu, 12 Feb 2026 16:16:46 -0700 Subject: [PATCH 1/7] Intro2 exercises --- Intro2Python/Module2-Conditionals.ipynb | 56 ++++++++++++------ Intro2Python/Module3-DataStructures.ipynb | 33 ++++++----- Intro2Python/Module4-SlicingAndIndexing.ipynb | 23 +++----- Intro2Python/Module5-LoopsComprehension.ipynb | 40 ++++++++----- Intro2Python/Module6-Functions.ipynb | 58 ++++++++++++++----- 5 files changed, 130 insertions(+), 80 deletions(-) diff --git a/Intro2Python/Module2-Conditionals.ipynb b/Intro2Python/Module2-Conditionals.ipynb index a598273..2e3fc7e 100644 --- a/Intro2Python/Module2-Conditionals.ipynb +++ b/Intro2Python/Module2-Conditionals.ipynb @@ -146,7 +146,15 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "string = 'There are approximately 114 SNOTEL sites in Utah, as a part of the Natural Resouces Conservation Service (NRCS) and ~150 USGS NWIS streamflow monitoring gages.'\n", + "\n", + "if len(string) > 100:\n", + " print(\"String has more than 100 characters\")\n", + "\n", + "else:\n", + " print(\"String has less than or exsctly 100 characters\")" + ] }, { "cell_type": "markdown", @@ -161,7 +169,9 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "string.count(\" \")" + ] }, { "cell_type": "markdown", @@ -194,7 +204,19 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "letter1 = 'USGS sites'\n", + "letter2 = 'SNOTEL sites'\n", + "\n", + "if string.count(letter1) > string.count(letter2):\n", + " print(f\"There are more {letter1} than {letter2} \")\n", + "\n", + "elif string.count(letter2) > string.count(letter1):\n", + " print(f\"There are more {letter2} than {letter1} \")\n", + "\n", + "else: \n", + " print(f\"There are exactly the same number {letter1} and {letter2}\")" + ] }, { "cell_type": "markdown", @@ -210,7 +232,19 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "l1 = \"USGS\"\n", + "l2 = 'SNOTEL'\n", + "\n", + "if string.count(l1) > string.count(l2):\n", + " print(f\"There are more {l1} than {l2} \")\n", + "\n", + "elif string.count(l2) > string.count(l1):\n", + " print(f\"There are more {l2} than {l1} \")\n", + "\n", + "else: \n", + " print(f\"There are exactly the same number {l1} and {l2}\")" + ] }, { "cell_type": "markdown", @@ -230,19 +264,7 @@ "kernelspec": { "display_name": "p310env", "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.19" + "name": "p310env" }, "latex_envs": { "LaTeX_envs_menu_present": true, diff --git a/Intro2Python/Module3-DataStructures.ipynb b/Intro2Python/Module3-DataStructures.ipynb index 5d8b103..71f6216 100644 --- a/Intro2Python/Module3-DataStructures.ipynb +++ b/Intro2Python/Module3-DataStructures.ipynb @@ -813,7 +813,10 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "L2 = ['Hi', 'Hello', 'Hi!', 'Hey', 'Hi', 'hey', 'Hey']\n", + "print(list(set(L2)))" + ] }, { "cell_type": "markdown", @@ -833,7 +836,12 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "d = {2: 122, 3: 535, 't': 'T', 'rum': 'cola'}\n", + "\n", + "for n in list(d):\n", + " print(d[n])" + ] }, { "cell_type": "markdown", @@ -853,7 +861,12 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "s1 = ['HE170B', 'HE210B', 'HE190A', 'HE200A', 'HE210A', 'HE210A']\n", + "s2 = ['HE200A', 'HE210A', 'HE240A', 'HE200A', 'HE210B', 'HE340A']\n", + "\n", + "print(set(s1).intersection(set(s2)))" + ] }, { "cell_type": "markdown", @@ -873,19 +886,7 @@ "kernelspec": { "display_name": "p310env", "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.19" + "name": "p310env" }, "latex_envs": { "LaTeX_envs_menu_present": true, diff --git a/Intro2Python/Module4-SlicingAndIndexing.ipynb b/Intro2Python/Module4-SlicingAndIndexing.ipynb index d90a100..f56fb60 100644 --- a/Intro2Python/Module4-SlicingAndIndexing.ipynb +++ b/Intro2Python/Module4-SlicingAndIndexing.ipynb @@ -317,7 +317,10 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "L1 = [10, 20, 30, 40, 50, 60]\n", + "print(L1[0], L1[-1])" + ] }, { "cell_type": "markdown", @@ -336,7 +339,9 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "print(L1[L1.index(20):(L1.index(40)+1)])" + ] }, { "cell_type": "markdown", @@ -356,19 +361,7 @@ "kernelspec": { "display_name": "p310env", "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.19" + "name": "p310env" }, "latex_envs": { "LaTeX_envs_menu_present": true, diff --git a/Intro2Python/Module5-LoopsComprehension.ipynb b/Intro2Python/Module5-LoopsComprehension.ipynb index b5a4d26..22a3fab 100644 --- a/Intro2Python/Module5-LoopsComprehension.ipynb +++ b/Intro2Python/Module5-LoopsComprehension.ipynb @@ -517,7 +517,12 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "n = [23, 73, 12, 84]\n", + "\n", + "for i in n:\n", + " print(f\"{i} squared is {i*i}\")" + ] }, { "cell_type": "markdown", @@ -536,7 +541,11 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "diameters = [10, 12, 16, 20, 25, 32]\n", + "areas = [((d*d)/4) for d in diameters]\n", + "print(areas)" + ] }, { "cell_type": "markdown", @@ -554,7 +563,18 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "phonetic_alphabet = ['Alpha', 'Bravo', 'Charlie', 'Delta', 'Echo', 'Foxtrot']\n", + "five = []\n", + "\n", + "for word in phonetic_alphabet:\n", + " if len(word) == 5:\n", + " five.append(word)\n", + " else: \n", + " continue\n", + "\n", + "print(five)" + ] }, { "cell_type": "markdown", @@ -574,19 +594,7 @@ "kernelspec": { "display_name": "p310env", "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.19" + "name": "p310env" }, "latex_envs": { "LaTeX_envs_menu_present": true, diff --git a/Intro2Python/Module6-Functions.ipynb b/Intro2Python/Module6-Functions.ipynb index d53a3a8..f9d4143 100644 --- a/Intro2Python/Module6-Functions.ipynb +++ b/Intro2Python/Module6-Functions.ipynb @@ -486,7 +486,14 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "import math \n", + "from math import pi\n", + "def circle_area(r):\n", + " return pi*(r**2)\n", + "\n", + "print(circle_area(2))" + ] }, { "cell_type": "markdown", @@ -503,7 +510,17 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "import math \n", + "from math import pi\n", + "radii = list(range(1,5))\n", + "\n", + "def circ(rad):\n", + " area = [round(pi*(r**2),2) for r in rad]\n", + " return area\n", + "\n", + "print(circ(radii))" + ] }, { "cell_type": "markdown", @@ -538,7 +555,28 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "import math\n", + "from math import pi\n", + "def mannings_equation_cond(depth, diam, slope, n): \n", + " r = diam / 2\n", + " theta = 2 * math.acos((r-depth)/r)\n", + " if depth < r/2:\n", + " A = (((r**2)*(theta - math.sin(theta)))/2)\n", + " else:\n", + " theta_dry = (2*pi) - theta\n", + " A = (pi*(r**2))* (((r**2)*(theta_dry - math.sin(theta_dry)))/2)\n", + " P = r * theta #wetted perimeter in ft\n", + " R = A / P #hydraulic radius in ft\n", + " Q = (1.486/n) * A * R**(2/3) * slope**0.5 #Manning's equation, notice how the order of opperations is handled by parentheses\n", + " return Q #return flow rate Q, cfs\n", + "depth, diam, slope = 1, 10, 0.01 #channel width in ft, channel depth in ft, channel slope in ft/ft\n", + "n = 0.02\n", + "\n", + "Q = mannings_equation_cond(depth, diam, slope, n)\n", + "\n", + "print(f'Flow rate Q: {Q:.2f} cfs')" + ] } ], "metadata": { @@ -546,19 +584,7 @@ "kernelspec": { "display_name": "p310env", "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.19" + "name": "p310env" }, "latex_envs": { "LaTeX_envs_menu_present": true, From 185c80e0f89af7a2cae1d1174a6799537eeb2da8 Mon Sep 17 00:00:00 2001 From: Elizabeth Burgon Date: Thu, 12 Feb 2026 16:26:30 -0700 Subject: [PATCH 2/7] numpy exercises --- Intro2Python/Module1-DataTypes.ipynb | 93 ++++++++++++++++++++-------- NumPy/1. Data Types.ipynb | 49 ++++++++++----- NumPy/2. Create an Array.ipynb | 40 ++++++------ NumPy/3. Inspect an Array.ipynb | 14 +---- NumPy/4. Sampling Methods.ipynb | 24 +++---- NumPy/5. Math Functions.ipynb | 14 +---- 6 files changed, 129 insertions(+), 105 deletions(-) diff --git a/Intro2Python/Module1-DataTypes.ipynb b/Intro2Python/Module1-DataTypes.ipynb index fc104f6..6656a77 100644 --- a/Intro2Python/Module1-DataTypes.ipynb +++ b/Intro2Python/Module1-DataTypes.ipynb @@ -983,10 +983,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "s = \"Utah's SNOTEL sites are recording below average snow this year\"\n", + "x = len(s)" + ] }, { "cell_type": "markdown", @@ -998,10 +1001,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s.endswith(\"year\")" + ] }, { "cell_type": "markdown", @@ -1019,10 +1035,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There are 62 SNOTEL sites in Utah.\n" + ] + } + ], + "source": [ + "print(f'There are {x} SNOTEL sites in Utah.')" + ] }, { "cell_type": "markdown", @@ -1034,10 +1060,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "7" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s.count(\"e\")" + ] }, { "cell_type": "markdown", @@ -1055,10 +1094,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "USGS in situ monitoring sites support regional water management activities\n" + ] + } + ], + "source": [ + "string1 = 'SNOTEL in situ monitoring sites support regional water management activities'\n", + "string2 = string1.replace(\"SNOTEL\", \"USGS\")\n", + "print(string2)" + ] }, { "cell_type": "markdown", @@ -1078,19 +1129,7 @@ "kernelspec": { "display_name": "p310env", "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.19" + "name": "p310env" }, "latex_envs": { "LaTeX_envs_menu_present": true, diff --git a/NumPy/1. Data Types.ipynb b/NumPy/1. Data Types.ipynb index 2613b5d..ce3f667 100644 --- a/NumPy/1. Data Types.ipynb +++ b/NumPy/1. Data Types.ipynb @@ -488,7 +488,19 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "arr = np.array([250,], dtype = np.uint8)\n", + "arr += 10\n", + "print(arr)\n", + "\n", + "#Math didn't work because it is above the data type range, hits the max\n", + "arr = np.array([250,], dtype = np.uint16)\n", + "arr += 10\n", + "print(arr)" + ] }, { "cell_type": "markdown", @@ -511,7 +523,14 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "arr = np.zeros((1000000,), dtype = np.float64)\n", + "arr2 = np.zeros((1000000,), dtype = np.float16)\n", + "\n", + "print(arr.nbytes, arr2.nbytes)\n", + "\n", + "print(\"Ratio of 16:64 is\", arr2.nbytes/arr.nbytes)" + ] }, { "cell_type": "markdown", @@ -547,7 +566,17 @@ ] } ], - "source": [] + "source": [ + "names = np.array([\"Alice\", \"Bob\", \"Charlie\"])\n", + "print(names.dtype)\n", + "names[0] = \"Alexandria\"\n", + "print(names)\n", + "#Cannot print larger than 7 unicode characters\n", + "\n", + "names = np.array([\"Alice\", \"Bob\", \"Charlie\"], dtype = 'U10')\n", + "names[0] = \"Alexandria\"\n", + "print(names)" + ] }, { "cell_type": "markdown", @@ -561,19 +590,7 @@ "kernelspec": { "display_name": "p310env", "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.19" + "name": "p310env" } }, "nbformat": 4, diff --git a/NumPy/2. Create an Array.ipynb b/NumPy/2. Create an Array.ipynb index 44f284f..54dd10f 100644 --- a/NumPy/2. Create an Array.ipynb +++ b/NumPy/2. Create an Array.ipynb @@ -674,7 +674,14 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "import numpy as np\n", + "\n", + "arr_tuple = np.array((10,20,30))\n", + "arr_range = np.array((range(1000))).astype(np.int8)\n", + "\n", + "print(arr_tuple.nbytes, arr_range.nbytes)" + ] }, { "cell_type": "markdown", @@ -699,7 +706,15 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "mts = np.array([\"Superior\", \"10420\", \"Kings Peak\", \"Lone Peak\"])\n", + "mts[0] = \"Kesler Peak\"\n", + "print(mts)\n", + "\n", + "mts = np.array([\"Superior\", \"10420\", \"Kings Peak\", \"Lone Peak\"], dtype='U15')\n", + "mts[0] = \"Kesler Peak\"\n", + "print(mts)" + ] }, { "cell_type": "markdown", @@ -707,32 +722,13 @@ "source": [ "Next [Chapter](./3.%20Inspect%20an%20Array.ipynb)" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { "kernelspec": { "display_name": "p310env", "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.19" + "name": "p310env" } }, "nbformat": 4, diff --git a/NumPy/3. Inspect an Array.ipynb b/NumPy/3. Inspect an Array.ipynb index 8ffc3e0..dbf0466 100644 --- a/NumPy/3. Inspect an Array.ipynb +++ b/NumPy/3. Inspect an Array.ipynb @@ -242,19 +242,7 @@ "kernelspec": { "display_name": "p310env", "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.19" + "name": "p310env" } }, "nbformat": 4, diff --git a/NumPy/4. Sampling Methods.ipynb b/NumPy/4. Sampling Methods.ipynb index 0d19af7..97cee41 100644 --- a/NumPy/4. Sampling Methods.ipynb +++ b/NumPy/4. Sampling Methods.ipynb @@ -422,26 +422,22 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "np.random.seed(42)\n", + "sample = np.random.rand(10,20)\n", + "\n", + "print(sample.shape, sample.size, sample.ndim, sample.dtype, sep= '\\n')\n", + "\n", + "print(sample[-1][-1])\n", + "#Note, this seed will not give me the expected value in the instructions, even when I try to switch it to randomstate" + ] } ], "metadata": { "kernelspec": { "display_name": "p310env", "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.19" + "name": "p310env" } }, "nbformat": 4, diff --git a/NumPy/5. Math Functions.ipynb b/NumPy/5. Math Functions.ipynb index 55b1106..161484f 100644 --- a/NumPy/5. Math Functions.ipynb +++ b/NumPy/5. Math Functions.ipynb @@ -930,19 +930,7 @@ "kernelspec": { "display_name": "p310env", "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.19" + "name": "p310env" } }, "nbformat": 4, From de435a3aa6f2b3f7fb556a5baa9af819d24bd860 Mon Sep 17 00:00:00 2001 From: Elizabeth Burgon Date: Thu, 12 Feb 2026 17:00:19 -0700 Subject: [PATCH 3/7] pandas start --- Pandas/PandasExercise1.ipynb | 354 +++++++++++++++++++++++++++++++++-- 1 file changed, 340 insertions(+), 14 deletions(-) diff --git a/Pandas/PandasExercise1.ipynb b/Pandas/PandasExercise1.ipynb index b13c275..e927c1e 100644 --- a/Pandas/PandasExercise1.ipynb +++ b/Pandas/PandasExercise1.ipynb @@ -19,11 +19,80 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "2e231547", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DatePrecip_in
count6158
unique6032
top2024-01-160.0
freq227
\n", + "
" + ], + "text/plain": [ + " Date Precip_in\n", + "count 61 58\n", + "unique 60 32\n", + "top 2024-01-16 0.0\n", + "freq 2 27" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "rainfall = pd.read_csv(\"data/snotel_rainfall_data.csv\")\n", + "\n", + "#print(rainfall.head())\n", + "rainfall.describe()" + ] }, { "cell_type": "markdown", @@ -42,11 +111,92 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "9c41bef2", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Precip_in
count56.000000
mean-8.467089
std150.395286
min-999.000000
25%0.000000
50%0.050563
75%0.682890
max500.000000
\n", + "
" + ], + "text/plain": [ + " Precip_in\n", + "count 56.000000\n", + "mean -8.467089\n", + "std 150.395286\n", + "min -999.000000\n", + "25% 0.000000\n", + "50% 0.050563\n", + "75% 0.682890\n", + "max 500.000000" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rainfall['Precip_in'] = pd.to_numeric(rainfall['Precip_in'], errors='coerce')\n", + "rainfall.describe()" + ] }, { "cell_type": "markdown", @@ -64,11 +214,96 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "4817f0f6", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Streamflow_cfs
count54.000000
mean40.058333
std369.096212
min-999.000000
25%10.100000
50%10.600000
75%13.900000
max2510.000000
\n", + "
" + ], + "text/plain": [ + " Streamflow_cfs\n", + "count 54.000000\n", + "mean 40.058333\n", + "std 369.096212\n", + "min -999.000000\n", + "25% 10.100000\n", + "50% 10.600000\n", + "75% 13.900000\n", + "max 2510.000000" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "streamflow_cfs = pd.read_csv(\"data/streamflow_data.csv\")\n", + "#streamflow_cfs.head()\n", + "#streamflow_cfs.describe()\n", + "\n", + "streamflow_cfs['Streamflow_cfs'] = pd.to_numeric(streamflow_cfs['Streamflow_cfs'], errors='coerce')\n", + "streamflow_cfs.describe()" + ] }, { "cell_type": "markdown", @@ -88,11 +323,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "fb7eee2c", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "stream_drop = streamflow_cfs\n", + "stream_drop['Streamflow_cfs'] = stream_drop['Streamflow_cfs'].dropna()\n", + "\n", + "\n", + "stream_fill = streamflow_cfs \n", + "stream_fill['Streamflow_cfs'] = stream_fill['Streamflow_cfs'].fillna(stream_fill['Streamflow_cfs'].mean())\n", + "\n", + "stream_int = streamflow_cfs\n", + "stream_int['Streamflow_cfs'] = stream_int['Streamflow_cfs'].interpolate(method = 'linear')\n" + ] }, { "cell_type": "markdown", @@ -111,8 +356,89 @@ "execution_count": null, "id": "bd2fa519", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Streamflow_cfs
count60.00000
mean37.09000
std349.94079
min-999.00000
25%10.10000
50%10.50000
75%13.41250
max2510.00000
\n", + "
" + ], + "text/plain": [ + " Streamflow_cfs\n", + "count 60.00000\n", + "mean 37.09000\n", + "std 349.94079\n", + "min -999.00000\n", + "25% 10.10000\n", + "50% 10.50000\n", + "75% 13.41250\n", + "max 2510.00000" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#rainfall_methods\n", + "#streamflow_methods\n" + ] }, { "cell_type": "markdown", @@ -241,7 +567,7 @@ "kernelspec": { "display_name": "p310env", "language": "python", - "name": "python3" + "name": "p310env" }, "language_info": { "codemirror_mode": { From 975c9d847b13d21786ee1893eb471e1b95c69e01 Mon Sep 17 00:00:00 2001 From: Elizabeth Burgon Date: Tue, 17 Feb 2026 17:02:49 -0700 Subject: [PATCH 4/7] Numpy updates --- NumPy/5. Math Functions.ipynb | 81 +++++++++++++++++++++++++++++++---- Pandas/PandasExercise1.ipynb | 12 ------ 2 files changed, 72 insertions(+), 21 deletions(-) diff --git a/NumPy/5. Math Functions.ipynb b/NumPy/5. Math Functions.ipynb index 161484f..ed7d429 100644 --- a/NumPy/5. Math Functions.ipynb +++ b/NumPy/5. Math Functions.ipynb @@ -854,10 +854,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Greater than 0? [False True True False]\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "\n", + "angles = np.array([0, np.pi/4, np.pi/2, np.pi])\n", + "sine = np.sin(angles)\n", + "cos = np.cos(angles)\n", + "\n", + "amp = np.subtract(np.multiply(sine,10),0.5)\n", + "\n", + "adv = np.sqrt(np.absolute(amp))\n", + "ln = np.log(adv)\n", + "\n", + "print(\"Greater than 0?\", ln > 0)\n" + ] }, { "cell_type": "markdown", @@ -884,10 +905,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "temps = np.array([\n", + " [22.1, 23.5, 22.8, 21.9, 23.0],\n", + " [19.5, 20.1, 20.5, 19.8, 20.0],\n", + " [25.4, 26.1, 24.9, 25.2, 26.5],\n", + " [18.2, 18.5, 19.0, 18.8, 18.4]\n", + "])\n", + "\n", + "station = np.mean(temps, axis=1)\n", + "peak = np.max(temps, axis=0)\n", + "outlier = np.argmax(temps)\n", + "\n", + "rnge = np.subtract(np.max(temps), np.min(temps))\n" + ] }, { "cell_type": "markdown", @@ -913,10 +947,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "daily = np.array([1.2, 3.5, -0.8, 5.2, 4.1, -1.5, 0.5])\n", + "storage = np.cumsum(daily,axis=0) + 10\n", + "positive = daily > 0\n", + "\n", + "volume = 0\n", + "for i in range(positive.size):\n", + " if positive[i] == True:\n", + " volume += daily[i]\n", + "\n", + "flood = storage > 18\n", + "\n", + "flow_std = np.std(daily)\n", + "flow_mean = np.mean(daily)\n", + "\n", + "peak = np.argmax(daily)\n", + "\n" + ] }, { "cell_type": "markdown", @@ -928,9 +979,21 @@ ], "metadata": { "kernelspec": { - "display_name": "p310env", + "display_name": "Python 3", "language": "python", - "name": "p310env" + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.19" } }, "nbformat": 4, diff --git a/Pandas/PandasExercise1.ipynb b/Pandas/PandasExercise1.ipynb index e927c1e..3c5abe1 100644 --- a/Pandas/PandasExercise1.ipynb +++ b/Pandas/PandasExercise1.ipynb @@ -568,18 +568,6 @@ "display_name": "p310env", "language": "python", "name": "p310env" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.19" } }, "nbformat": 4, From ede31bb1ceca3b2e907df62e38488854a4d04edd Mon Sep 17 00:00:00 2001 From: Elizabeth Burgon Date: Tue, 17 Feb 2026 21:01:12 -0700 Subject: [PATCH 5/7] rest of numpy --- NumPy/7. Slicing & Indexing.ipynb | 79 ++++++++++++++++++++++--- NumPy/8. Combine & Split an Array.ipynb | 50 +++++++++++++--- 2 files changed, 113 insertions(+), 16 deletions(-) diff --git a/NumPy/7. Slicing & Indexing.ipynb b/NumPy/7. Slicing & Indexing.ipynb index 87c4019..519ff58 100644 --- a/NumPy/7. Slicing & Indexing.ipynb +++ b/NumPy/7. Slicing & Indexing.ipynb @@ -540,10 +540,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(3, 24)\n", + "(24, 3)\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "\n", + "depth = np.linspace(1.5, 5.0, 72)\n", + "\n", + "depth2 = depth.reshape(3,24)\n", + "\n", + "print(np.shape(depth2))\n", + "depthT = depth2.T\n", + "print(np.shape(depthT))\n" + ] }, { "cell_type": "markdown", @@ -573,8 +592,31 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[28 35 48 58 68]\n" + ] + } + ], + "source": [ + "moisture_grid = np.array([\n", + " [32, 35, 30, 28, 25],\n", + " [40, 42, 38, 35, 30],\n", + " [55, 58, 52, 48, 42],\n", + " [60, 65, 62, 58, 55],\n", + " [70, 72, 70, 68, 65]\n", + "])\n", + "\n", + "center = moisture_grid[2,2]\n", + "\n", + "sub_basin = moisture_grid[0:3,0:3]\n", + "\n", + "n_s = moisture_grid[:,3]\n", + "\n" + ] }, { "cell_type": "markdown", @@ -597,10 +639,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[12.5 45. 18.9]\n" + ] + } + ], + "source": [ + "rain = np.array([0, 0, 12.5, 45.0, 5.2, 0, 18.9, 31.2, 0, 2.1])\n", + "rain_in = rain * 0.039\n", + "\n", + "heavy_rain = rain[rain>20]\n", + "\n", + "zero = np.where(rain == 0)\n", + "\n", + "i = [2, 3, 6]\n", + "\n", + "print(rain[i])" + ] }, { "cell_type": "markdown", @@ -619,7 +680,7 @@ ], "metadata": { "kernelspec": { - "display_name": "p310env", + "display_name": "Python 3", "language": "python", "name": "python3" }, diff --git a/NumPy/8. Combine & Split an Array.ipynb b/NumPy/8. Combine & Split an Array.ipynb index 2838282..c0f0e90 100644 --- a/NumPy/8. Combine & Split an Array.ipynb +++ b/NumPy/8. Combine & Split an Array.ipynb @@ -254,10 +254,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(2, 5) (10,)\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "stationA = np.array([2.1, 5.4, 0.0, 1.2, 4.4])\n", + "stationB = np.array([1.8, 4.9, 0.2, 0.8, 3.9])\n", + "\n", + "vert = np.vstack((stationA, stationB))\n", + "chrono = np.hstack((stationA, stationB))\n", + "print(np.shape(vert), np.shape(chrono))" + ] }, { "cell_type": "markdown", @@ -284,10 +300,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[10.2 45. ]\n", + " [15.5 62.3]\n", + " [ 2.1 58.1]\n", + " [ 0. 50.5]]\n" + ] + } + ], + "source": [ + "precip = np.array([[10.2], [15.5], [2.1]]) \n", + "flow = np.array([[45.0], [62.3], [58.1]])\n", + "\n", + "flood_model = np.concatenate((precip, flow), axis=1)\n", + "new_data = np.array([[0.0, 50.5]])\n", + "\n", + "flood_model = np.concat((flood_model, new_data), axis=0)\n", + "print(flood_model)" + ] }, { "cell_type": "markdown", @@ -299,7 +335,7 @@ ], "metadata": { "kernelspec": { - "display_name": "p310env", + "display_name": "Python 3", "language": "python", "name": "python3" }, From 7294e2e1c6dbdf789025314e1c2a93156990fa44 Mon Sep 17 00:00:00 2001 From: Elizabeth Burgon Date: Tue, 17 Feb 2026 22:44:34 -0700 Subject: [PATCH 6/7] pandas --- Pandas/7.MergingJoiningDataFrames.ipynb | 23 +-- Pandas/PandasExercise1.ipynb | 255 +++++++++++++++--------- 2 files changed, 173 insertions(+), 105 deletions(-) diff --git a/Pandas/7.MergingJoiningDataFrames.ipynb b/Pandas/7.MergingJoiningDataFrames.ipynb index cf1a422..e583001 100644 --- a/Pandas/7.MergingJoiningDataFrames.ipynb +++ b/Pandas/7.MergingJoiningDataFrames.ipynb @@ -35,19 +35,10 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "70fc0f97", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/scratch/local/u1154915/715933/ipykernel_1160630/2891694628.py:10: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", - " bigmac = pd.read_csv(\"data/bigmac.csv\", parse_dates = [\"Date\"])\n" - ] - } - ], + "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", @@ -410,7 +401,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 6, "id": "a2fef352", "metadata": {}, "outputs": [ @@ -472,7 +463,7 @@ "4 10" ] }, - "execution_count": 27, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -491,7 +482,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 7, "id": "5983f86e", "metadata": {}, "outputs": [ @@ -561,7 +552,7 @@ " 4 155 9" ] }, - "execution_count": 11, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -2083,7 +2074,7 @@ ], "metadata": { "kernelspec": { - "display_name": "p310env", + "display_name": "Python 3", "language": "python", "name": "python3" }, diff --git a/Pandas/PandasExercise1.ipynb b/Pandas/PandasExercise1.ipynb index 3c5abe1..821481f 100644 --- a/Pandas/PandasExercise1.ipynb +++ b/Pandas/PandasExercise1.ipynb @@ -19,7 +19,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 152, "id": "2e231547", "metadata": {}, "outputs": [ @@ -81,7 +81,7 @@ "freq 2 27" ] }, - "execution_count": 1, + "execution_count": 152, "metadata": {}, "output_type": "execute_result" } @@ -111,7 +111,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 153, "id": "9c41bef2", "metadata": {}, "outputs": [ @@ -188,7 +188,7 @@ "max 500.000000" ] }, - "execution_count": 19, + "execution_count": 153, "metadata": {}, "output_type": "execute_result" } @@ -214,7 +214,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 154, "id": "4817f0f6", "metadata": {}, "outputs": [ @@ -291,7 +291,7 @@ "max 2510.000000" ] }, - "execution_count": 34, + "execution_count": 154, "metadata": {}, "output_type": "execute_result" } @@ -323,20 +323,36 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 155, "id": "fb7eee2c", "metadata": {}, "outputs": [], "source": [ + "#streamflow\n", "stream_drop = streamflow_cfs\n", - "stream_drop['Streamflow_cfs'] = stream_drop['Streamflow_cfs'].dropna()\n", + "stream_drop['Streamflow_cfs'] = stream_drop['Streamflow_cfs'].drop(stream_drop['Streamflow_cfs'].idxmin())\n", + "stream_drop = stream_drop.dropna(subset=['Streamflow_cfs'])\n", "\n", "\n", "stream_fill = streamflow_cfs \n", "stream_fill['Streamflow_cfs'] = stream_fill['Streamflow_cfs'].fillna(stream_fill['Streamflow_cfs'].mean())\n", "\n", + "\n", "stream_int = streamflow_cfs\n", - "stream_int['Streamflow_cfs'] = stream_int['Streamflow_cfs'].interpolate(method = 'linear')\n" + "stream_int['Streamflow_cfs'] = stream_int['Streamflow_cfs'].interpolate(method = 'linear')\n", + "\n", + "\n", + "#rainfall\n", + "rain_drop = rainfall\n", + "rain_drop['Precip_in'] = rain_drop['Precip_in'].drop(rain_drop['Precip_in'].idxmin())\n", + "rain_drop = rain_drop.dropna(subset=['Precip_in']) \n", + "\n", + "rain_fill = rainfall \n", + "rain_fill['Precip_in'] = rain_fill['Precip_in'].fillna(rain_fill['Precip_in'].mean())\n", + "\n", + "\n", + "rain_int = rainfall\n", + "rain_int['Precip_in'] = rain_int['Precip_in'].interpolate(method = 'linear')" ] }, { @@ -353,91 +369,79 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 188, "id": "bd2fa519", "metadata": {}, "outputs": [ { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Streamflow_cfs
count60.00000
mean37.09000
std349.94079
min-999.00000
25%10.10000
50%10.50000
75%13.41250
max2510.00000
\n", - "
" - ], - "text/plain": [ - " Streamflow_cfs\n", - "count 60.00000\n", - "mean 37.09000\n", - "std 349.94079\n", - "min -999.00000\n", - "25% 10.10000\n", - "50% 10.50000\n", - "75% 13.41250\n", - "max 2510.00000" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + " Date Precip_in\n", + "0 2024-01-01 0.140280\n", + "1 2024-01-02 0.659018\n", + "2 2024-01-03 0.000000\n", + "3 2024-01-04 0.000000\n", + "4 2024-01-05 0.375729\n", + "5 2024-01-06 0.000000\n", + "6 2024-01-07 1.095458\n", + "7 2024-01-08 0.000000\n", + "8 2024-01-09 0.000000\n", + "9 2024-01-10 0.186576\n", + "13 2024-01-14 0.000000\n", + "14 2024-01-15 0.385756\n", + "15 2024-01-16 0.000000\n", + "16 2024-01-16 0.000000\n", + "17 2024-01-17 3.380971\n", + "18 2024-01-18 0.000000\n", + "19 2024-01-19 0.532611\n", + "20 2024-01-20 0.000000\n", + "21 2024-01-21 0.000000\n", + "22 2024-01-22 0.000000\n", + "23 2024-01-23 0.000000\n", + "24 2024-01-24 0.301443\n", + "25 2024-01-25 3.609354\n", + "27 2024-01-27 0.370825\n", + "28 2024-01-28 0.000000\n", + "29 2024-01-29 0.000000\n", + "30 2024-01-30 0.151070\n", + "31 2024-01-31 1.072686\n", + "32 2024-02-01 0.000000\n", + "33 2024-02-02 0.000000\n", + "34 2024-02-03 0.000000\n", + "35 2024-02-04 0.797750\n", + "36 2024-02-05 0.000000\n", + "37 2024-02-06 0.588250\n", + "38 2024-02-07 0.793941\n", + "39 2024-02-08 1.317195\n", + "40 2024-02-09 0.000000\n", + "43 2024-02-12 0.000000\n", + "44 2024-02-13 0.754506\n", + "45 2024-02-14 0.792761\n", + "46 2024-02-15 0.273807\n", + "47 2024-02-16 0.000000\n", + "48 2024-02-17 0.000000\n", + "49 2024-02-18 0.000000\n", + "50 2024-02-19 1.806495\n", + "51 2024-02-20 0.168414\n", + "52 2024-02-21 0.000000\n", + "53 2024-02-22 0.000000\n", + "54 2024-02-23 2.193069\n", + "55 2024-02-24 0.429252\n", + "56 2024-02-25 500.000000\n", + "57 2024-02-26 1.609937\n", + "58 2024-02-27 0.954725\n", + "59 2024-02-28 0.101126\n", + "60 2024-02-29 0.000000\n" + ] } ], "source": [ - "#rainfall_methods\n", - "#streamflow_methods\n" + "key=[\"drop\",\"fill\",\"int\"]\n", + "rainfall_methods = pd.concat([rain_drop, rain_fill, rain_int],keys=key)\n", + "print(rainfall_methods.loc[(\"drop\")])\n", + "\n", + "streamflow_methods = pd.concat([stream_drop,stream_fill,stream_int],keys=key)\n" ] }, { @@ -455,6 +459,67 @@ "execution_count": null, "id": "9c76bf67", "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "Line2D.set() got an unexpected keyword argument 'r'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[192], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m r \u001b[38;5;241m=\u001b[39m rainfall_methods\u001b[38;5;241m.\u001b[39mloc[(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdrop\u001b[39m\u001b[38;5;124m\"\u001b[39m)]\u001b[38;5;241m.\u001b[39mplot()\n\u001b[0;32m----> 2\u001b[0m \u001b[43mrainfall_methods\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloc\u001b[49m\u001b[43m[\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mfill\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mr\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mr\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcolor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mred\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3\u001b[0m plt\u001b[38;5;241m.\u001b[39mshow()\n\u001b[1;32m 4\u001b[0m \u001b[38;5;66;03m#streamflow_methods.plot(kind='line',x=\"Date\",y=\"Streamflow_cfs\",figsize=(10,6),title=\"Streamflow Dataframe\",)\u001b[39;00m\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_core.py:1030\u001b[0m, in \u001b[0;36mPlotAccessor.__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1027\u001b[0m label_name \u001b[38;5;241m=\u001b[39m label_kw \u001b[38;5;129;01mor\u001b[39;00m data\u001b[38;5;241m.\u001b[39mcolumns\n\u001b[1;32m 1028\u001b[0m data\u001b[38;5;241m.\u001b[39mcolumns \u001b[38;5;241m=\u001b[39m label_name\n\u001b[0;32m-> 1030\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mplot_backend\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkind\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkind\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", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_matplotlib/__init__.py:71\u001b[0m, in \u001b[0;36mplot\u001b[0;34m(data, kind, **kwargs)\u001b[0m\n\u001b[1;32m 69\u001b[0m kwargs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124max\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(ax, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mleft_ax\u001b[39m\u001b[38;5;124m\"\u001b[39m, ax)\n\u001b[1;32m 70\u001b[0m plot_obj \u001b[38;5;241m=\u001b[39m PLOT_CLASSES[kind](data, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m---> 71\u001b[0m \u001b[43mplot_obj\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 72\u001b[0m plot_obj\u001b[38;5;241m.\u001b[39mdraw()\n\u001b[1;32m 73\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m plot_obj\u001b[38;5;241m.\u001b[39mresult\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_matplotlib/core.py:501\u001b[0m, in \u001b[0;36mMPLPlot.generate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 499\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compute_plot_data()\n\u001b[1;32m 500\u001b[0m fig \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfig\n\u001b[0;32m--> 501\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_make_plot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfig\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 502\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_add_table()\n\u001b[1;32m 503\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_make_legend()\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_matplotlib/core.py:1550\u001b[0m, in \u001b[0;36mLinePlot._make_plot\u001b[0;34m(self, fig)\u001b[0m\n\u001b[1;32m 1547\u001b[0m label \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_mark_right_label(label, index\u001b[38;5;241m=\u001b[39mi)\n\u001b[1;32m 1548\u001b[0m kwds[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlabel\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m label\n\u001b[0;32m-> 1550\u001b[0m newlines \u001b[38;5;241m=\u001b[39m \u001b[43mplotf\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1551\u001b[0m \u001b[43m \u001b[49m\u001b[43max\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1552\u001b[0m \u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1553\u001b[0m \u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1554\u001b[0m \u001b[43m \u001b[49m\u001b[43mstyle\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstyle\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1555\u001b[0m \u001b[43m \u001b[49m\u001b[43mcolumn_num\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mi\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1556\u001b[0m \u001b[43m \u001b[49m\u001b[43mstacking_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstacking_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1557\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_errorbar\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_errorbar\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1558\u001b[0m \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 1559\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1560\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_append_legend_handles_labels(newlines[\u001b[38;5;241m0\u001b[39m], label)\n\u001b[1;32m 1562\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_is_ts_plot():\n\u001b[1;32m 1563\u001b[0m \u001b[38;5;66;03m# reset of xlim should be used for ts data\u001b[39;00m\n\u001b[1;32m 1564\u001b[0m \u001b[38;5;66;03m# TODO: GH28021, should find a way to change view limit on xaxis\u001b[39;00m\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_matplotlib/core.py:1586\u001b[0m, in \u001b[0;36mLinePlot._plot\u001b[0;34m(cls, ax, x, y, style, column_num, stacking_id, **kwds)\u001b[0m\n\u001b[1;32m 1584\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_initialize_stacker(ax, stacking_id, \u001b[38;5;28mlen\u001b[39m(y))\n\u001b[1;32m 1585\u001b[0m y_values \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_get_stacked_values(ax, stacking_id, y, kwds[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlabel\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[0;32m-> 1586\u001b[0m lines \u001b[38;5;241m=\u001b[39m \u001b[43mMPLPlot\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_plot\u001b[49m\u001b[43m(\u001b[49m\u001b[43max\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my_values\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstyle\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstyle\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 1587\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_update_stacker(ax, stacking_id, y)\n\u001b[1;32m 1588\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m lines\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_matplotlib/converter.py:95\u001b[0m, in \u001b[0;36mregister_pandas_matplotlib_converters..wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 92\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m 93\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21mwrapper\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 94\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m pandas_converters():\n\u001b[0;32m---> 95\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\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", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_matplotlib/core.py:981\u001b[0m, in \u001b[0;36mMPLPlot._plot\u001b[0;34m(cls, ax, x, y, style, is_errorbar, **kwds)\u001b[0m\n\u001b[1;32m 978\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 979\u001b[0m \u001b[38;5;66;03m# prevent style kwarg from going to errorbar, where it is unsupported\u001b[39;00m\n\u001b[1;32m 980\u001b[0m args \u001b[38;5;241m=\u001b[39m (x, y, style) \u001b[38;5;28;01mif\u001b[39;00m style \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;28;01melse\u001b[39;00m (x, y)\n\u001b[0;32m--> 981\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43max\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\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~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/axes/_axes.py:1777\u001b[0m, in \u001b[0;36mAxes.plot\u001b[0;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1534\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1535\u001b[0m \u001b[38;5;124;03mPlot y versus x as lines and/or markers.\u001b[39;00m\n\u001b[1;32m 1536\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1774\u001b[0m \u001b[38;5;124;03m(``'green'``) or hex strings (``'#008000'``).\u001b[39;00m\n\u001b[1;32m 1775\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1776\u001b[0m kwargs \u001b[38;5;241m=\u001b[39m cbook\u001b[38;5;241m.\u001b[39mnormalize_kwargs(kwargs, mlines\u001b[38;5;241m.\u001b[39mLine2D)\n\u001b[0;32m-> 1777\u001b[0m lines \u001b[38;5;241m=\u001b[39m [\u001b[38;5;241m*\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_lines(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs, data\u001b[38;5;241m=\u001b[39mdata, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)]\n\u001b[1;32m 1778\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m line \u001b[38;5;129;01min\u001b[39;00m lines:\n\u001b[1;32m 1779\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39madd_line(line)\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/axes/_base.py:297\u001b[0m, in \u001b[0;36m_process_plot_var_args.__call__\u001b[0;34m(self, axes, data, return_kwargs, *args, **kwargs)\u001b[0m\n\u001b[1;32m 295\u001b[0m this \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m args[\u001b[38;5;241m0\u001b[39m],\n\u001b[1;32m 296\u001b[0m args \u001b[38;5;241m=\u001b[39m args[\u001b[38;5;241m1\u001b[39m:]\n\u001b[0;32m--> 297\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_plot_args\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 298\u001b[0m \u001b[43m \u001b[49m\u001b[43maxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mthis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mambiguous_fmt_datakey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mambiguous_fmt_datakey\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 299\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_kwargs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mreturn_kwargs\u001b[49m\n\u001b[1;32m 300\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/axes/_base.py:546\u001b[0m, in \u001b[0;36m_process_plot_var_args._plot_args\u001b[0;34m(self, axes, tup, kwargs, return_kwargs, ambiguous_fmt_datakey)\u001b[0m\n\u001b[1;32m 544\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mlist\u001b[39m(result)\n\u001b[1;32m 545\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 546\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [l[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;28;01mfor\u001b[39;00m l \u001b[38;5;129;01min\u001b[39;00m result]\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/axes/_base.py:546\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 544\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mlist\u001b[39m(result)\n\u001b[1;32m 545\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 546\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [l[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;28;01mfor\u001b[39;00m l \u001b[38;5;129;01min\u001b[39;00m result]\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/axes/_base.py:539\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 534\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 535\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 536\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlabel must be scalar or have the same length as the input \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 537\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdata, but found \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlen\u001b[39m(label)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m for \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mn_datasets\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m datasets.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m--> 539\u001b[0m result \u001b[38;5;241m=\u001b[39m (\u001b[43mmake_artist\u001b[49m\u001b[43m(\u001b[49m\u001b[43maxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mj\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m%\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mncx\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mj\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m%\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mncy\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkw\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 540\u001b[0m \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\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mlabel\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mlabel\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 541\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m j, label \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(labels))\n\u001b[1;32m 543\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m return_kwargs:\n\u001b[1;32m 544\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mlist\u001b[39m(result)\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/axes/_base.py:338\u001b[0m, in \u001b[0;36m_process_plot_var_args._make_line\u001b[0;34m(self, axes, x, y, kw, kwargs)\u001b[0m\n\u001b[1;32m 336\u001b[0m kw \u001b[38;5;241m=\u001b[39m {\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkw, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs} \u001b[38;5;66;03m# Don't modify the original kw.\u001b[39;00m\n\u001b[1;32m 337\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_setdefaults(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_getdefaults(kw), kw)\n\u001b[0;32m--> 338\u001b[0m seg \u001b[38;5;241m=\u001b[39m \u001b[43mmlines\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mLine2D\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\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[43mkw\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 339\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m seg, kw\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/lines.py:421\u001b[0m, in \u001b[0;36mLine2D.__init__\u001b[0;34m(self, xdata, ydata, linewidth, linestyle, color, gapcolor, marker, markersize, markeredgewidth, markeredgecolor, markerfacecolor, markerfacecoloralt, fillstyle, antialiased, dash_capstyle, solid_capstyle, dash_joinstyle, solid_joinstyle, pickradius, drawstyle, markevery, **kwargs)\u001b[0m\n\u001b[1;32m 417\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mset_markeredgewidth(markeredgewidth)\n\u001b[1;32m 419\u001b[0m \u001b[38;5;66;03m# update kwargs before updating data to give the caller a\u001b[39;00m\n\u001b[1;32m 420\u001b[0m \u001b[38;5;66;03m# chance to init axes (and hence unit support)\u001b[39;00m\n\u001b[0;32m--> 421\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_internal_update\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 422\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpickradius \u001b[38;5;241m=\u001b[39m pickradius\n\u001b[1;32m 423\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mind_offset \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/artist.py:1233\u001b[0m, in \u001b[0;36mArtist._internal_update\u001b[0;34m(self, kwargs)\u001b[0m\n\u001b[1;32m 1226\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21m_internal_update\u001b[39m(\u001b[38;5;28mself\u001b[39m, kwargs):\n\u001b[1;32m 1227\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1228\u001b[0m \u001b[38;5;124;03m Update artist properties without prenormalizing them, but generating\u001b[39;00m\n\u001b[1;32m 1229\u001b[0m \u001b[38;5;124;03m errors as if calling `set`.\u001b[39;00m\n\u001b[1;32m 1230\u001b[0m \n\u001b[1;32m 1231\u001b[0m \u001b[38;5;124;03m The lack of prenormalization is to maintain backcompatibility.\u001b[39;00m\n\u001b[1;32m 1232\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m-> 1233\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_update_props\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1234\u001b[0m \u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;132;43;01m{cls.__name__}\u001b[39;49;00m\u001b[38;5;124;43m.set() got an unexpected keyword argument \u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\n\u001b[1;32m 1235\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;132;43;01m{prop_name!r}\u001b[39;49;00m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/artist.py:1206\u001b[0m, in \u001b[0;36mArtist._update_props\u001b[0;34m(self, props, errfmt)\u001b[0m\n\u001b[1;32m 1204\u001b[0m func \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mset_\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mk\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m 1205\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mcallable\u001b[39m(func):\n\u001b[0;32m-> 1206\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m(\n\u001b[1;32m 1207\u001b[0m errfmt\u001b[38;5;241m.\u001b[39mformat(\u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mtype\u001b[39m(\u001b[38;5;28mself\u001b[39m), prop_name\u001b[38;5;241m=\u001b[39mk),\n\u001b[1;32m 1208\u001b[0m name\u001b[38;5;241m=\u001b[39mk)\n\u001b[1;32m 1209\u001b[0m ret\u001b[38;5;241m.\u001b[39mappend(func(v))\n\u001b[1;32m 1210\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ret:\n", + "\u001b[0;31mAttributeError\u001b[0m: Line2D.set() got an unexpected keyword argument 'r'" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOJFJREFUeJzt3X14VPWd///X3Oc+IUASIrdWKkRBW1CYarsVUlKWr5eu7K7tUhe3/raXbGBV6k25LosUdeGiXbV2I3SrC27Vxdpr1cqlKI01thJQo6wIloJFQw1JBM0NCcncnd8fmXOSCQmZCUnOJHk+Ls+VzDknM585jDPveb8/Nw7DMAwBAAAkEafdDQAAAOiOAAUAACQdAhQAAJB0CFAAAEDSIUABAABJhwAFAAAkHQIUAACQdAhQAABA0nHb3YD+iEQiqqmpUWZmphwOh93NAQAAcTAMQ83NzSosLJTTefYcybAMUGpqajRp0iS7mwEAAPrh2LFjmjhx4lnPGZYBSmZmpqSOJ5iVlWVzawAAQDyampo0adIk63P8bIZlgGKWdbKysghQAAAYZuLpnkEnWQAAkHQIUAAAQNIhQAEAAElnWPZBiYdhGAqFQgqHw3Y3BXFyuVxyu90MHQcAjMwAJRAI6Pjx42ptbbW7KUhQWlqaJkyYIK/Xa3dTAAA2GnEBSiQS0dGjR+VyuVRYWCiv18s38mHAMAwFAgF9+umnOnr0qKZPn97nJD4AgJFrxAUogUBAkUhEkyZNUlpamt3NQQJSU1Pl8Xj08ccfKxAIKCUlxe4mAQBsMmK/ovLte3ji3w0AII3gAAUAAAxfCQUo69atk8PhiNlmzJhhHW9ra1NpaanGjh2rjIwMLV26VHV1dTH3UV1drSVLligtLU15eXm64447FAqFBubZAACAESHhDMpFF12k48ePW9sf/vAH69htt92mF154Qc8884wqKipUU1Oj6667zjoeDoe1ZMkSBQIB7d69W48//ri2bdumtWvXDsyzQcIcDoeee+65Abmv1157TQ6HQw0NDQNyfwCA0SvhAMXtdqugoMDaxo0bJ0lqbGzUY489pgceeEALFizQnDlztHXrVu3evVt79uyRJL3yyis6ePCgnnjiCV166aVavHix7r33XpWVlSkQCAzsMxuGbrzxRisz5fV6dcEFF2j9+vWDmmE6fvy4Fi9ePCD39ZWvfEXHjx9Xdnb2gNwfAGD0SjhAOXz4sAoLC3X++edr2bJlqq6uliRVVVUpGAyquLjYOnfGjBmaPHmyKisrJUmVlZWaNWuW8vPzrXNKSkrU1NSkAwcO9PqY7e3tampqitlGqm9+85s6fvy4Dh8+rO9///tat26dfvzjH59x3kAFdAUFBfL5fANyX16vVwUFBQzrBoABUN/cpi0VH+rEqXa7m2KLhAKUefPmadu2bdq5c6c2b96so0eP6qtf/aqam5tVW1srr9ernJycmL/Jz89XbW2tJKm2tjYmODGPm8d6s2HDBmVnZ1vbpEmTEmm2DMNQayA05JthGAm1U5J8Pp8KCgo0ZcoUrVixQsXFxfrNb36jG2+8Uddee63uv/9+FRYW6sILL5QkHTt2TH//93+vnJwc5ebm6pprrtFHH30Uc5//9V//pYsuukg+n08TJkzQypUrrWNdSzwfffSRHA6Htm/frq985StKSUnRxRdfrIqKirja3r3Es23bNuXk5Ojll1/WzJkzlZGRYQVgAICz+2Xlx9r40h/15J5qu5tii4TmQelaCpg9e7bmzZunKVOm6Fe/+pVSU1MHvHGmNWvWaPXq1dbtpqamhIKU08Gwita+PBhNO6uD60uU5j23qWZSU1N18uRJSVJ5ebmysrK0a9cuSVIwGFRJSYn8fr9+//vfy+1267777tM3v/lNvffee/J6vdq8ebNWr16tjRs3avHixWpsbNQbb7xx1se844479NBDD6moqEgPPPCArr76ah09elRjx45NuP2tra36yU9+ol/+8pdyOp36zne+o9tvv11PPvlk4hcDAEaRxtNBSVJTW9DmltjjnD49c3Jy9MUvflFHjhzRN77xDQUCATU0NMRkUerq6lRQUCCpo5zw5ptvxtyHOcrHPKcnPp9vwMoQw4VhGCovL9fLL7+sVatW6dNPP1V6eroeffRRaxr4J554QpFIRI8++qhVVtm6datycnL02muvadGiRbrvvvv0/e9/X7fccot135dddtlZH3vlypVaunSpJGnz5s3auXOnHnvsMd15550JP49gMKgtW7boC1/4gnXf69evT/h+AGC0CYY7svChcMTmltjjnAKUU6dO6cMPP9QNN9ygOXPmyOPxqLy83PpwO3TokKqrq+X3+yVJfr9f999/v+rr65WXlydJ2rVrl7KyslRUVHSO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vVVXXHGFLr74Ykkd18rr9SonJyfm3NF6rfbv36+MjAz5fD7dfPPNevbZZ1VUVMR16sH27dv1zjvvaMOGDWcc43rFmjdvnrZt26adO3dq8+bNOnr0qL761a+qubmZa9XNn//8Z23evFnTp0/Xyy+/rBUrVuhf//Vf9fjjj0uy//19WK5mDCS70tJSvf/++zG1b8S68MILtW/fPjU2NurXv/61li9froqKCrublXSOHTumW265Rbt27VJKSordzUl6ixcvtn6fPXu25s2bpylTpuhXv/qVUlNTbWxZ8olEIpo7d67+7d/+TZL0pS99Se+//762bNmi5cuX29w6MiiSpHHjxsnlcp3Rk7uurk4FBQU2tWp4MK8P167TypUrtWPHDv3ud7/TxIkTrf0FBQUKBAJqaGiIOX+0Xiuv16sLLrhAc+bM0YYNG3TJJZfopz/9Kdepm6qqKtXX1+vLX/6y3G633G63Kioq9PDDD8vtdis/P5/rdRY5OTn64he/qCNHjvDa6mbChAkqKiqK2Tdz5kyrJGb3+zsBijreKOfMmaPy8nJrXyQSUXl5ufx+v40tS37Tpk1TQUFBzLVramrS3r17R921MwxDK1eu1LPPPqtXX31V06ZNizk+Z84ceTyemGt16NAhVVdXj7pr1ZNIJKL29nauUzcLFy7U/v37tW/fPmubO3euli1bZv3O9erdqVOn9OGHH2rChAm8trq54oorzpgK4U9/+pOmTJkiKQne3we9G+4wsX37dsPn8xnbtm0zDh48aHzve98zcnJyjNraWrubZrvm5mbj3XffNd59911DkvHAAw8Y7777rvHxxx8bhmEYGzduNHJycoznn3/eeO+994xrrrnGmDZtmnH69GmbWz60VqxYYWRnZxuvvfaacfz4cWtrbW21zrn55puNyZMnG6+++qrx9ttvG36/3/D7/Ta22h4/+MEPjIqKCuPo0aPGe++9Z/zgBz8wHA6H8corrxiGwXXqS9dRPIbB9erq+9//vvHaa68ZR48eNd544w2juLjYGDdunFFfX28YBteqqzfffNNwu93G/fffbxw+fNh48sknjbS0NOOJJ56wzrHz/Z0ApYuf/exnxuTJkw2v12tcfvnlxp49e+xuUlL43e9+Z0g6Y1u+fLlhGB1D0X74wx8a+fn5hs/nMxYuXGgcOnTI3kbboKdrJMnYunWrdc7p06eNf/mXfzHGjBljpKWlGX/zN39jHD9+3L5G2+S73/2uMWXKFMPr9Rrjx483Fi5caAUnhsF16kv3AIXr1en66683JkyYYHi9XuO8884zrr/+euPIkSPWca5VrBdeeMG4+OKLDZ/PZ8yYMcP4z//8z5jjdr6/OwzDMAY/TwMAABA/+qAAAICkQ4ACAACSDgEKAABIOgQoAAAg6RCgAACApEOAAgAAkg4BCgAASDoEKAAAIOkQoAAAgKRDgAIAAJIOAQoAAEg6BCgAACDp/P9XNNik11kl2AAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "rainfall_methods.loc[(\"drop\")].plot()\n", + "rainfall_methods.loc[(\"fill\")].plot(r=r, color='red')\n", + "plt.show()\n", + "#streamflow_methods.plot(kind='line',x=\"Date\",y=\"Streamflow_cfs\",figsize=(10,6),title=\"Streamflow Dataframe\",)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "819fdb85", + "metadata": {}, "outputs": [], "source": [] }, @@ -565,9 +630,21 @@ ], "metadata": { "kernelspec": { - "display_name": "p310env", + "display_name": "Python 3", "language": "python", - "name": "p310env" + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.19" } }, "nbformat": 4, From 3f743a9787b70f600d28e986633ca49d373fe5d7 Mon Sep 17 00:00:00 2001 From: Elizabeth Burgon Date: Tue, 17 Feb 2026 23:52:38 -0700 Subject: [PATCH 7/7] pandas updates --- Pandas/1.Creating_Viewing_DF_Series.ipynb | 8 + Pandas/PandasExercise1.ipynb | 252 ++++++++++++---------- 2 files changed, 146 insertions(+), 114 deletions(-) diff --git a/Pandas/1.Creating_Viewing_DF_Series.ipynb b/Pandas/1.Creating_Viewing_DF_Series.ipynb index e04ce8e..dc71eb0 100644 --- a/Pandas/1.Creating_Viewing_DF_Series.ipynb +++ b/Pandas/1.Creating_Viewing_DF_Series.ipynb @@ -431,6 +431,14 @@ "Next Chapter [Data Aggregation and Statistics](2.DataAggregationStatistics.ipynb)" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "d676fee4", + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": null, diff --git a/Pandas/PandasExercise1.ipynb b/Pandas/PandasExercise1.ipynb index 821481f..042bd11 100644 --- a/Pandas/PandasExercise1.ipynb +++ b/Pandas/PandasExercise1.ipynb @@ -19,7 +19,7 @@ }, { "cell_type": "code", - "execution_count": 152, + "execution_count": 2, "id": "2e231547", "metadata": {}, "outputs": [ @@ -81,7 +81,7 @@ "freq 2 27" ] }, - "execution_count": 152, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -111,7 +111,7 @@ }, { "cell_type": "code", - "execution_count": 153, + "execution_count": 3, "id": "9c41bef2", "metadata": {}, "outputs": [ @@ -188,7 +188,7 @@ "max 500.000000" ] }, - "execution_count": 153, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -214,7 +214,7 @@ }, { "cell_type": "code", - "execution_count": 154, + "execution_count": 4, "id": "4817f0f6", "metadata": {}, "outputs": [ @@ -291,7 +291,7 @@ "max 2510.000000" ] }, - "execution_count": 154, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -323,7 +323,7 @@ }, { "cell_type": "code", - "execution_count": 155, + "execution_count": 5, "id": "fb7eee2c", "metadata": {}, "outputs": [], @@ -369,77 +369,14 @@ }, { "cell_type": "code", - "execution_count": 188, + "execution_count": 41, "id": "bd2fa519", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Date Precip_in\n", - "0 2024-01-01 0.140280\n", - "1 2024-01-02 0.659018\n", - "2 2024-01-03 0.000000\n", - "3 2024-01-04 0.000000\n", - "4 2024-01-05 0.375729\n", - "5 2024-01-06 0.000000\n", - "6 2024-01-07 1.095458\n", - "7 2024-01-08 0.000000\n", - "8 2024-01-09 0.000000\n", - "9 2024-01-10 0.186576\n", - "13 2024-01-14 0.000000\n", - "14 2024-01-15 0.385756\n", - "15 2024-01-16 0.000000\n", - "16 2024-01-16 0.000000\n", - "17 2024-01-17 3.380971\n", - "18 2024-01-18 0.000000\n", - "19 2024-01-19 0.532611\n", - "20 2024-01-20 0.000000\n", - "21 2024-01-21 0.000000\n", - "22 2024-01-22 0.000000\n", - "23 2024-01-23 0.000000\n", - "24 2024-01-24 0.301443\n", - "25 2024-01-25 3.609354\n", - "27 2024-01-27 0.370825\n", - "28 2024-01-28 0.000000\n", - "29 2024-01-29 0.000000\n", - "30 2024-01-30 0.151070\n", - "31 2024-01-31 1.072686\n", - "32 2024-02-01 0.000000\n", - "33 2024-02-02 0.000000\n", - "34 2024-02-03 0.000000\n", - "35 2024-02-04 0.797750\n", - "36 2024-02-05 0.000000\n", - "37 2024-02-06 0.588250\n", - "38 2024-02-07 0.793941\n", - "39 2024-02-08 1.317195\n", - "40 2024-02-09 0.000000\n", - "43 2024-02-12 0.000000\n", - "44 2024-02-13 0.754506\n", - "45 2024-02-14 0.792761\n", - "46 2024-02-15 0.273807\n", - "47 2024-02-16 0.000000\n", - "48 2024-02-17 0.000000\n", - "49 2024-02-18 0.000000\n", - "50 2024-02-19 1.806495\n", - "51 2024-02-20 0.168414\n", - "52 2024-02-21 0.000000\n", - "53 2024-02-22 0.000000\n", - "54 2024-02-23 2.193069\n", - "55 2024-02-24 0.429252\n", - "56 2024-02-25 500.000000\n", - "57 2024-02-26 1.609937\n", - "58 2024-02-27 0.954725\n", - "59 2024-02-28 0.101126\n", - "60 2024-02-29 0.000000\n" - ] - } - ], + "outputs": [], "source": [ "key=[\"drop\",\"fill\",\"int\"]\n", "rainfall_methods = pd.concat([rain_drop, rain_fill, rain_int],keys=key)\n", - "print(rainfall_methods.loc[(\"drop\")])\n", + "#print(rainfall_methods.loc[(\"fill\")])\n", "\n", "streamflow_methods = pd.concat([stream_drop,stream_fill,stream_int],keys=key)\n" ] @@ -456,42 +393,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "id": "9c76bf67", "metadata": {}, "outputs": [ { - "ename": "AttributeError", - "evalue": "Line2D.set() got an unexpected keyword argument 'r'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[192], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m r \u001b[38;5;241m=\u001b[39m rainfall_methods\u001b[38;5;241m.\u001b[39mloc[(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdrop\u001b[39m\u001b[38;5;124m\"\u001b[39m)]\u001b[38;5;241m.\u001b[39mplot()\n\u001b[0;32m----> 2\u001b[0m \u001b[43mrainfall_methods\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloc\u001b[49m\u001b[43m[\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mfill\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mr\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mr\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcolor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mred\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3\u001b[0m plt\u001b[38;5;241m.\u001b[39mshow()\n\u001b[1;32m 4\u001b[0m \u001b[38;5;66;03m#streamflow_methods.plot(kind='line',x=\"Date\",y=\"Streamflow_cfs\",figsize=(10,6),title=\"Streamflow Dataframe\",)\u001b[39;00m\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_core.py:1030\u001b[0m, in \u001b[0;36mPlotAccessor.__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1027\u001b[0m label_name \u001b[38;5;241m=\u001b[39m label_kw \u001b[38;5;129;01mor\u001b[39;00m data\u001b[38;5;241m.\u001b[39mcolumns\n\u001b[1;32m 1028\u001b[0m data\u001b[38;5;241m.\u001b[39mcolumns \u001b[38;5;241m=\u001b[39m label_name\n\u001b[0;32m-> 1030\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mplot_backend\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkind\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkind\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", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_matplotlib/__init__.py:71\u001b[0m, in \u001b[0;36mplot\u001b[0;34m(data, kind, **kwargs)\u001b[0m\n\u001b[1;32m 69\u001b[0m kwargs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124max\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(ax, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mleft_ax\u001b[39m\u001b[38;5;124m\"\u001b[39m, ax)\n\u001b[1;32m 70\u001b[0m plot_obj \u001b[38;5;241m=\u001b[39m PLOT_CLASSES[kind](data, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m---> 71\u001b[0m \u001b[43mplot_obj\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 72\u001b[0m plot_obj\u001b[38;5;241m.\u001b[39mdraw()\n\u001b[1;32m 73\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m plot_obj\u001b[38;5;241m.\u001b[39mresult\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_matplotlib/core.py:501\u001b[0m, in \u001b[0;36mMPLPlot.generate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 499\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_compute_plot_data()\n\u001b[1;32m 500\u001b[0m fig \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfig\n\u001b[0;32m--> 501\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_make_plot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfig\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 502\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_add_table()\n\u001b[1;32m 503\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_make_legend()\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_matplotlib/core.py:1550\u001b[0m, in \u001b[0;36mLinePlot._make_plot\u001b[0;34m(self, fig)\u001b[0m\n\u001b[1;32m 1547\u001b[0m label \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_mark_right_label(label, index\u001b[38;5;241m=\u001b[39mi)\n\u001b[1;32m 1548\u001b[0m kwds[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlabel\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m label\n\u001b[0;32m-> 1550\u001b[0m newlines \u001b[38;5;241m=\u001b[39m \u001b[43mplotf\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1551\u001b[0m \u001b[43m \u001b[49m\u001b[43max\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1552\u001b[0m \u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1553\u001b[0m \u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1554\u001b[0m \u001b[43m \u001b[49m\u001b[43mstyle\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstyle\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1555\u001b[0m \u001b[43m \u001b[49m\u001b[43mcolumn_num\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mi\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1556\u001b[0m \u001b[43m \u001b[49m\u001b[43mstacking_id\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstacking_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1557\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_errorbar\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_errorbar\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1558\u001b[0m \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 1559\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1560\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_append_legend_handles_labels(newlines[\u001b[38;5;241m0\u001b[39m], label)\n\u001b[1;32m 1562\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_is_ts_plot():\n\u001b[1;32m 1563\u001b[0m \u001b[38;5;66;03m# reset of xlim should be used for ts data\u001b[39;00m\n\u001b[1;32m 1564\u001b[0m \u001b[38;5;66;03m# TODO: GH28021, should find a way to change view limit on xaxis\u001b[39;00m\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_matplotlib/core.py:1586\u001b[0m, in \u001b[0;36mLinePlot._plot\u001b[0;34m(cls, ax, x, y, style, column_num, stacking_id, **kwds)\u001b[0m\n\u001b[1;32m 1584\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_initialize_stacker(ax, stacking_id, \u001b[38;5;28mlen\u001b[39m(y))\n\u001b[1;32m 1585\u001b[0m y_values \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_get_stacked_values(ax, stacking_id, y, kwds[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlabel\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[0;32m-> 1586\u001b[0m lines \u001b[38;5;241m=\u001b[39m \u001b[43mMPLPlot\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_plot\u001b[49m\u001b[43m(\u001b[49m\u001b[43max\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my_values\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstyle\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstyle\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 1587\u001b[0m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_update_stacker(ax, stacking_id, y)\n\u001b[1;32m 1588\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m lines\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_matplotlib/converter.py:95\u001b[0m, in \u001b[0;36mregister_pandas_matplotlib_converters..wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 92\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m 93\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21mwrapper\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 94\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m pandas_converters():\n\u001b[0;32m---> 95\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\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", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/pandas/plotting/_matplotlib/core.py:981\u001b[0m, in \u001b[0;36mMPLPlot._plot\u001b[0;34m(cls, ax, x, y, style, is_errorbar, **kwds)\u001b[0m\n\u001b[1;32m 978\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 979\u001b[0m \u001b[38;5;66;03m# prevent style kwarg from going to errorbar, where it is unsupported\u001b[39;00m\n\u001b[1;32m 980\u001b[0m args \u001b[38;5;241m=\u001b[39m (x, y, style) \u001b[38;5;28;01mif\u001b[39;00m style \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;28;01melse\u001b[39;00m (x, y)\n\u001b[0;32m--> 981\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43max\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\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~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/axes/_axes.py:1777\u001b[0m, in \u001b[0;36mAxes.plot\u001b[0;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1534\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1535\u001b[0m \u001b[38;5;124;03mPlot y versus x as lines and/or markers.\u001b[39;00m\n\u001b[1;32m 1536\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1774\u001b[0m \u001b[38;5;124;03m(``'green'``) or hex strings (``'#008000'``).\u001b[39;00m\n\u001b[1;32m 1775\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1776\u001b[0m kwargs \u001b[38;5;241m=\u001b[39m cbook\u001b[38;5;241m.\u001b[39mnormalize_kwargs(kwargs, mlines\u001b[38;5;241m.\u001b[39mLine2D)\n\u001b[0;32m-> 1777\u001b[0m lines \u001b[38;5;241m=\u001b[39m [\u001b[38;5;241m*\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_lines(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs, data\u001b[38;5;241m=\u001b[39mdata, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)]\n\u001b[1;32m 1778\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m line \u001b[38;5;129;01min\u001b[39;00m lines:\n\u001b[1;32m 1779\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39madd_line(line)\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/axes/_base.py:297\u001b[0m, in \u001b[0;36m_process_plot_var_args.__call__\u001b[0;34m(self, axes, data, return_kwargs, *args, **kwargs)\u001b[0m\n\u001b[1;32m 295\u001b[0m this \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m args[\u001b[38;5;241m0\u001b[39m],\n\u001b[1;32m 296\u001b[0m args \u001b[38;5;241m=\u001b[39m args[\u001b[38;5;241m1\u001b[39m:]\n\u001b[0;32m--> 297\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_plot_args\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 298\u001b[0m \u001b[43m \u001b[49m\u001b[43maxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mthis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mambiguous_fmt_datakey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mambiguous_fmt_datakey\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 299\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_kwargs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mreturn_kwargs\u001b[49m\n\u001b[1;32m 300\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/axes/_base.py:546\u001b[0m, in \u001b[0;36m_process_plot_var_args._plot_args\u001b[0;34m(self, axes, tup, kwargs, return_kwargs, ambiguous_fmt_datakey)\u001b[0m\n\u001b[1;32m 544\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mlist\u001b[39m(result)\n\u001b[1;32m 545\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 546\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [l[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;28;01mfor\u001b[39;00m l \u001b[38;5;129;01min\u001b[39;00m result]\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/axes/_base.py:546\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 544\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mlist\u001b[39m(result)\n\u001b[1;32m 545\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 546\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [l[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;28;01mfor\u001b[39;00m l \u001b[38;5;129;01min\u001b[39;00m result]\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/axes/_base.py:539\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 534\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 535\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 536\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlabel must be scalar or have the same length as the input \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 537\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdata, but found \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlen\u001b[39m(label)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m for \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mn_datasets\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m datasets.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m--> 539\u001b[0m result \u001b[38;5;241m=\u001b[39m (\u001b[43mmake_artist\u001b[49m\u001b[43m(\u001b[49m\u001b[43maxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mj\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m%\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mncx\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mj\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m%\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mncy\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkw\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 540\u001b[0m \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\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mlabel\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mlabel\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 541\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m j, label \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(labels))\n\u001b[1;32m 543\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m return_kwargs:\n\u001b[1;32m 544\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mlist\u001b[39m(result)\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/axes/_base.py:338\u001b[0m, in \u001b[0;36m_process_plot_var_args._make_line\u001b[0;34m(self, axes, x, y, kw, kwargs)\u001b[0m\n\u001b[1;32m 336\u001b[0m kw \u001b[38;5;241m=\u001b[39m {\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkw, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs} \u001b[38;5;66;03m# Don't modify the original kw.\u001b[39;00m\n\u001b[1;32m 337\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_setdefaults(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_getdefaults(kw), kw)\n\u001b[0;32m--> 338\u001b[0m seg \u001b[38;5;241m=\u001b[39m \u001b[43mmlines\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mLine2D\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\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[43mkw\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 339\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m seg, kw\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/lines.py:421\u001b[0m, in \u001b[0;36mLine2D.__init__\u001b[0;34m(self, xdata, ydata, linewidth, linestyle, color, gapcolor, marker, markersize, markeredgewidth, markeredgecolor, markerfacecolor, markerfacecoloralt, fillstyle, antialiased, dash_capstyle, solid_capstyle, dash_joinstyle, solid_joinstyle, pickradius, drawstyle, markevery, **kwargs)\u001b[0m\n\u001b[1;32m 417\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mset_markeredgewidth(markeredgewidth)\n\u001b[1;32m 419\u001b[0m \u001b[38;5;66;03m# update kwargs before updating data to give the caller a\u001b[39;00m\n\u001b[1;32m 420\u001b[0m \u001b[38;5;66;03m# chance to init axes (and hence unit support)\u001b[39;00m\n\u001b[0;32m--> 421\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_internal_update\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 422\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mpickradius \u001b[38;5;241m=\u001b[39m pickradius\n\u001b[1;32m 423\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mind_offset \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/artist.py:1233\u001b[0m, in \u001b[0;36mArtist._internal_update\u001b[0;34m(self, kwargs)\u001b[0m\n\u001b[1;32m 1226\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21m_internal_update\u001b[39m(\u001b[38;5;28mself\u001b[39m, kwargs):\n\u001b[1;32m 1227\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1228\u001b[0m \u001b[38;5;124;03m Update artist properties without prenormalizing them, but generating\u001b[39;00m\n\u001b[1;32m 1229\u001b[0m \u001b[38;5;124;03m errors as if calling `set`.\u001b[39;00m\n\u001b[1;32m 1230\u001b[0m \n\u001b[1;32m 1231\u001b[0m \u001b[38;5;124;03m The lack of prenormalization is to maintain backcompatibility.\u001b[39;00m\n\u001b[1;32m 1232\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m-> 1233\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_update_props\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1234\u001b[0m \u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;132;43;01m{cls.__name__}\u001b[39;49;00m\u001b[38;5;124;43m.set() got an unexpected keyword argument \u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\n\u001b[1;32m 1235\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;132;43;01m{prop_name!r}\u001b[39;49;00m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/.conda/envs/p310env/lib/python3.10/site-packages/matplotlib/artist.py:1206\u001b[0m, in \u001b[0;36mArtist._update_props\u001b[0;34m(self, props, errfmt)\u001b[0m\n\u001b[1;32m 1204\u001b[0m func \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mset_\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mk\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m 1205\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mcallable\u001b[39m(func):\n\u001b[0;32m-> 1206\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m(\n\u001b[1;32m 1207\u001b[0m errfmt\u001b[38;5;241m.\u001b[39mformat(\u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mtype\u001b[39m(\u001b[38;5;28mself\u001b[39m), prop_name\u001b[38;5;241m=\u001b[39mk),\n\u001b[1;32m 1208\u001b[0m name\u001b[38;5;241m=\u001b[39mk)\n\u001b[1;32m 1209\u001b[0m ret\u001b[38;5;241m.\u001b[39mappend(func(v))\n\u001b[1;32m 1210\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ret:\n", - "\u001b[0;31mAttributeError\u001b[0m: Line2D.set() got an unexpected keyword argument 'r'" - ] + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOJFJREFUeJzt3X14VPWd///X3Oc+IUASIrdWKkRBW1CYarsVUlKWr5eu7K7tUhe3/raXbGBV6k25LosUdeGiXbV2I3SrC27Vxdpr1cqlKI01thJQo6wIloJFQw1JBM0NCcncnd8fmXOSCQmZCUnOJHk+Ls+VzDknM585jDPveb8/Nw7DMAwBAAAkEafdDQAAAOiOAAUAACQdAhQAAJB0CFAAAEDSIUABAABJhwAFAAAkHQIUAACQdAhQAABA0nHb3YD+iEQiqqmpUWZmphwOh93NAQAAcTAMQ83NzSosLJTTefYcybAMUGpqajRp0iS7mwEAAPrh2LFjmjhx4lnPGZYBSmZmpqSOJ5iVlWVzawAAQDyampo0adIk63P8bIZlgGKWdbKysghQAAAYZuLpnkEnWQAAkHQIUAAAQNIhQAEAAElnWPZBiYdhGAqFQgqHw3Y3BXFyuVxyu90MHQcAjMwAJRAI6Pjx42ptbbW7KUhQWlqaJkyYIK/Xa3dTAAA2GnEBSiQS0dGjR+VyuVRYWCiv18s38mHAMAwFAgF9+umnOnr0qKZPn97nJD4AgJFrxAUogUBAkUhEkyZNUlpamt3NQQJSU1Pl8Xj08ccfKxAIKCUlxe4mAQBsMmK/ovLte3ji3w0AII3gAAUAAAxfCQUo69atk8PhiNlmzJhhHW9ra1NpaanGjh2rjIwMLV26VHV1dTH3UV1drSVLligtLU15eXm64447FAqFBubZAACAESHhDMpFF12k48ePW9sf/vAH69htt92mF154Qc8884wqKipUU1Oj6667zjoeDoe1ZMkSBQIB7d69W48//ri2bdumtWvXDsyzQcIcDoeee+65Abmv1157TQ6HQw0NDQNyfwCA0SvhAMXtdqugoMDaxo0bJ0lqbGzUY489pgceeEALFizQnDlztHXrVu3evVt79uyRJL3yyis6ePCgnnjiCV166aVavHix7r33XpWVlSkQCAzsMxuGbrzxRisz5fV6dcEFF2j9+vWDmmE6fvy4Fi9ePCD39ZWvfEXHjx9Xdnb2gNwfAGD0SjhAOXz4sAoLC3X++edr2bJlqq6uliRVVVUpGAyquLjYOnfGjBmaPHmyKisrJUmVlZWaNWuW8vPzrXNKSkrU1NSkAwcO9PqY7e3tampqitlGqm9+85s6fvy4Dh8+rO9///tat26dfvzjH59x3kAFdAUFBfL5fANyX16vVwUFBQzrBoABUN/cpi0VH+rEqXa7m2KLhAKUefPmadu2bdq5c6c2b96so0eP6qtf/aqam5tVW1srr9ernJycmL/Jz89XbW2tJKm2tjYmODGPm8d6s2HDBmVnZ1vbpEmTEmm2DMNQayA05JthGAm1U5J8Pp8KCgo0ZcoUrVixQsXFxfrNb36jG2+8Uddee63uv/9+FRYW6sILL5QkHTt2TH//93+vnJwc5ebm6pprrtFHH30Uc5//9V//pYsuukg+n08TJkzQypUrrWNdSzwfffSRHA6Htm/frq985StKSUnRxRdfrIqKirja3r3Es23bNuXk5Ojll1/WzJkzlZGRYQVgAICz+2Xlx9r40h/15J5qu5tii4TmQelaCpg9e7bmzZunKVOm6Fe/+pVSU1MHvHGmNWvWaPXq1dbtpqamhIKU08Gwita+PBhNO6uD60uU5j23qWZSU1N18uRJSVJ5ebmysrK0a9cuSVIwGFRJSYn8fr9+//vfy+1267777tM3v/lNvffee/J6vdq8ebNWr16tjRs3avHixWpsbNQbb7xx1se844479NBDD6moqEgPPPCArr76ah09elRjx45NuP2tra36yU9+ol/+8pdyOp36zne+o9tvv11PPvlk4hcDAEaRxtNBSVJTW9DmltjjnD49c3Jy9MUvflFHjhzRN77xDQUCATU0NMRkUerq6lRQUCCpo5zw5ptvxtyHOcrHPKcnPp9vwMoQw4VhGCovL9fLL7+sVatW6dNPP1V6eroeffRRaxr4J554QpFIRI8++qhVVtm6datycnL02muvadGiRbrvvvv0/e9/X7fccot135dddtlZH3vlypVaunSpJGnz5s3auXOnHnvsMd15550JP49gMKgtW7boC1/4gnXf69evT/h+AGC0CYY7svChcMTmltjjnAKUU6dO6cMPP9QNN9ygOXPmyOPxqLy83PpwO3TokKqrq+X3+yVJfr9f999/v+rr65WXlydJ2rVrl7KyslRUVHSOT6V3qR6XDq4vGbT7P9vjJmrHjh3KyMhQMBhUJBLRP/zDP2jdunUqLS3VrFmzYtao+b//+z8dOXJEmZmZMffR1tamDz/8UPX19aqpqdHChQsTaoP57yV1dIqeO3euPvjgg4Sfi9Sxto4ZnEjShAkTVF9f36/7AoDRJBgNTALhxLsLjAQJBSi33367rr76ak2ZMkU1NTW655575HK59O1vf1vZ2dm66aabtHr1auXm5iorK0urVq2S3+/X/PnzJUmLFi1SUVGRbrjhBm3atEm1tbW6++67VVpaOqgZEofDcc6llqFy1VVXafPmzfJ6vSosLJTb3dnu9PT0mHNPnTqlOXPm9FguGT9+fFLMyurxeGJuOxyOfvXNAYDRxgxQgmRQ+vaXv/xF3/72t3Xy5EmNHz9eV155pfbs2aPx48dLkh588EE5nU4tXbpU7e3tKikp0SOPPGL9vcvl0o4dO7RixQr5/X6lp6dr+fLlpPy7SE9P1wUXXBDXuV/+8pf19NNPKy8vT1lZWT2eM3XqVJWXl+uqq66Kuw179uzR1772NUlSKBRSVVVVTMdaAMDgI0BJwPbt2896PCUlRWVlZSorK+v1nClTpujFF19M5GHRi2XLlunHP/6xrrnmGq1fv14TJ07Uxx9/rP/93//VnXfeqYkTJ2rdunW6+eablZeXp8WLF6u5uVlvvPGGVq1a1ev9lpWVafr06Zo5c6YefPBBff755/rud787hM8MANDZB2V0Zp2HR90DPUpLS9Prr7+uu+66S9ddd52am5t13nnnaeHChVZGZfny5Wpra9ODDz6o22+/XePGjdPf/u3fnvV+N27cqI0bN2rfvn264IIL9Jvf/MaakA8AMDQ6+6CMzgyKwxiGHQKampqUnZ2txsbGM0obbW1tOnr0qKZNm6aUlBSbWjg8ffTRR5o2bZreffddXXrppba0gX8/AOiw7NE9euPISX39wvHa9k+X292cAXG2z+/u7O9FCQAAzmCWeEZrHxQCFMTt5ptvVkZGRo/bzTffbHfzAGBE6ewkO+wKHQOCPiiwTJ069axDgNevX6/bb7+9x2N9peoAAIlhFA8Qp7y8PGuCPQDA4AqGKPGMSMOw7y/EvxsAmIKRaAYlNDrfF0dcgGLOXNra2mpzS9Af5r9b9xloAWC0sUo8kdGZQRlxJR6Xy6WcnBxrvZe0tDRrIT0kL8Mw1Nraqvr6euXk5MjlSnwdIwAYSUZ7iWfEBShS58rILEo3/OTk5Jx1ZWsAGC2sDMooLfGMyADF4XBowoQJysvLUzAYtLs5iJPH4yFzAgBRjOIZwVwuFx94AIBhiYnaAABA0hntE7URoAAAkGQMw1AoQgYFAAAkka5Zk1DEGJVzRBGgAACQZLpnTUZjmYcABQCAJHNmgDL6yjwEKAAAJJnuGRMCFAAAYLvuAUmAAAUAANite4ASog8KAACwG31QCFAAAEg69EEhQAEAIOmc0QdlFC4YSIACAECSOaMPSoQMCgAAsFn3jAklHgAAYLvuGRNKPAAAwHaM4iFAAQAg6XTPmNAHBQAA2I4SDwEKAABJhxIPAQoAAEknyCgeAhQAAJJN98UBWYsHAADYLsRqxgQoAAAkG9biIUABACDpUOIhQAEAIOmcsVggGRQAAGC37hkTSjwAAMB2zINCgAIAQNKhDwoBCgAASYc+KAQoAAAkHTNj4nE5JFHiAQAAScDMmKR6XJLOnPp+NCBAAQAgyZgTtaX73B23I2RQAACAzcyp7tO80QwKnWQBAIDdglaAEs2ghMigAAAAmwWiGZNUK4NCgAIAAGxmZkzSzQAlQokHAADYLBTtFJvmo8QDAACShFniSfNQ4gEAAEnCzJik0QcFAAAkC2sUj1niYZgxAACwWyhCiYcABQCAJBOIlngYZgwAAJKGGZCkU+IBAADJwirxkEEBAADJonMUj5lBIUABAAA2C7BY4LkFKBs3bpTD4dCtt95q7Wtra1NpaanGjh2rjIwMLV26VHV1dTF/V11drSVLligtLU15eXm64447FAqFzqUpAACMGMFuAUqADEr83nrrLf385z/X7NmzY/bfdttteuGFF/TMM8+ooqJCNTU1uu6666zj4XBYS5YsUSAQ0O7du/X4449r27ZtWrt2bf+fBQAAI0Q4YshcesfsJBsiQInPqVOntGzZMv3iF7/QmDFjrP2NjY167LHH9MADD2jBggWaM2eOtm7dqt27d2vPnj2SpFdeeUUHDx7UE088oUsvvVSLFy/Wvffeq7KyMgUCgYF5VgAADFNd+5ukRudBiRgdgcto0q8ApbS0VEuWLFFxcXHM/qqqKgWDwZj9M2bM0OTJk1VZWSlJqqys1KxZs5Sfn2+dU1JSoqamJh04cKDHx2tvb1dTU1PMBgDASNQ1QDFLPN33jwbuRP9g+/bteuedd/TWW2+dcay2tlZer1c5OTkx+/Pz81VbW2ud0zU4MY+bx3qyYcMG/ehHP0q0qQAADDtdO8Sao3ikjn4oKR5XT38yIiWUQTl27JhuueUWPfnkk0pJSRmsNp1hzZo1amxstLZjx44N2WMDADCUzP4mLqdDPrezy35KPL2qqqpSfX29vvzlL8vtdsvtdquiokIPP/yw3G638vPzFQgE1NDQEPN3dXV1KigokCQVFBScMarHvG2e053P51NWVlbMBgDASGSO2HE7HXI6HXI7HZJGX4knoQBl4cKF2r9/v/bt22dtc+fO1bJly6zfPR6PysvLrb85dOiQqqur5ff7JUl+v1/79+9XfX29dc6uXbuUlZWloqKiAXpaAAAMT2aJx+vq+Ih2uzoCFHN9ntEioT4omZmZuvjii2P2paena+zYsdb+m266SatXr1Zubq6ysrK0atUq+f1+zZ8/X5K0aNEiFRUV6YYbbtCmTZtUW1uru+++W6WlpfL5fAP0tAAAGJ7MTIknWt7xuJxqC0ZGXQYl4U6yfXnwwQfldDq1dOlStbe3q6SkRI888oh13OVyaceOHVqxYoX8fr/S09O1fPlyrV+/fqCbAgDAsBPsUuKROjMpoVE2zPicA5TXXnst5nZKSorKyspUVlbW699MmTJFL7744rk+NAAAI45Z4vG4nDE/R1uJh7V4AABIImYGxeuO7YMy2ko8BCgAACQRqw+KK7bEM9oWDCRAAQAgiZiBiNsZW+IZbevxEKAAAJBEgqFuo3jc0WHGBCgAAMAuVh+UaInHzKRQ4gEAALYJRmJH8XT2QSGDAgAAbGKWeNyu2BIPAQoAALANJZ4OBCgAACSRzmHGsaN4yKAAAADbdJ9J1kuJBwAA2M1aiyda4vEwURsAALBbZx+U6FT3Tko8AADAZr2WeFgsEAAA2KX3Eg8BCgAAsEn3Eo8VoETogwIAAGzSvcRjZlIo8QAAANt0nweFqe4BAIDteuuDEmCYMQAAsItZ4uneByVEBgUAANglYJV4HDE/KfEAAADbmJkSj7v7WjyUeAAAgE2sUTzO2AAlQAYFAADYxRrF444t8dAHBQAA2Kb7MGNKPAAAwHZmIOKmxAMAAJKFNdW9m1E8AAAgSQRC3Uo8bnMeFEo8AADAJqFI7Fo85mgeMigAAMA2wV4maqMPCgAAsE2QEo8kAhQAAJKKuSggqxkDAICkEYrEZlDcjOIBAAB26yzxmH1QovOghAhQAACATYK9lHjM0T2jBQEKAABJwjAMa7TOmVPdk0EBAAA2CHfJknjP6INiyDBGTxaFAAUAgCTRdUFAd7c+KN2Pj3QEKAAAJImuk7F174MidY7wGQ0IUAAASBKhmAAldiZZSQqGyKAAAIAhZpZw3E6HHI6OwMTl7AxQRtN09wQoAAAkiWC3ETyS5HA4RuVssgQoAAAkiUC3hQJN5u3RtB4PAQoAAEnCDEC87tiPZ3PBQEo8AABgyJklHLcz9uPZvE2JBwAADDmrxOOOLfF4R+GCgQQoAAAkic6FAnsu8TBRGwAAGHLmgoDe7gEKo3gAAIBdzBKPu9soHreTEg8AALBJbyUer5sMCgAAsIlZ4jmjD4qLPigAAMAmZoakex8USjwAAMA2gVDPfVAo8QAAANuYJZxeSzysZgwAAIZaKNJzicdciycYIYMCAACGWG8lHreVQSFAAQAAQ6y3Eo+XUTxnt3nzZs2ePVtZWVnKysqS3+/XSy+9ZB1va2tTaWmpxo4dq4yMDC1dulR1dXUx91FdXa0lS5YoLS1NeXl5uuOOOxQKhQbm2QAAMIyZnWDP7IPSkVFhNeNeTJw4URs3blRVVZXefvttLViwQNdcc40OHDggSbrtttv0wgsv6JlnnlFFRYVqamp03XXXWX8fDoe1ZMkSBQIB7d69W48//ri2bdumtWvXDuyzAgBgGApZw4xjSzxmwBIaRRkUdyInX3311TG377//fm3evFl79uzRxIkT9dhjj+mpp57SggULJElbt27VzJkztWfPHs2fP1+vvPKKDh48qN/+9rfKz8/XpZdeqnvvvVd33XWX1q1bJ6/XO3DPDACAYSYQDUDcrMXT/z4o4XBY27dvV0tLi/x+v6qqqhQMBlVcXGydM2PGDE2ePFmVlZWSpMrKSs2aNUv5+fnWOSUlJWpqarKyMD1pb29XU1NTzAYAwEjTV4mHAOUs9u/fr4yMDPl8Pt1888169tlnVVRUpNraWnm9XuXk5MScn5+fr9raWklSbW1tTHBiHjeP9WbDhg3Kzs62tkmTJiXabAAAkl6wjxIPfVDO4sILL9S+ffu0d+9erVixQsuXL9fBgwcHo22WNWvWqLGx0dqOHTs2qI8HAIAd+pqojT4oZ+H1enXBBRdIkubMmaO33npLP/3pT3X99dcrEAiooaEhJotSV1engoICSVJBQYHefPPNmPszR/mY5/TE5/PJ5/Ml2lQAAIYVM4NyZh8USjwJi0Qiam9v15w5c+TxeFReXm4dO3TokKqrq+X3+yVJfr9f+/fvV319vXXOrl27lJWVpaKionNtCgAAw1pnHxRKPAllUNasWaPFixdr8uTJam5u1lNPPaXXXntNL7/8srKzs3XTTTdp9erVys3NVVZWllatWiW/36/58+dLkhYtWqSioiLdcMMN2rRpk2pra3X33XertLSUDAkAYNQzSzjm4oAmzyicqC2hAKW+vl7/+I//qOPHjys7O1uzZ8/Wyy+/rG984xuSpAcffFBOp1NLly5Ve3u7SkpK9Mgjj1h/73K5tGPHDq1YsUJ+v1/p6elavny51q9fP7DPCgCAYSjQ2yget9kHhQxKjx577LGzHk9JSVFZWZnKysp6PWfKlCl68cUXE3lYAABGBasPirNbicdJHxQAAGATa5hxLyWewCgq8RCgAACQJHodZuxmNWMAAGCT3ko85sRtoQgBCgAAGGLWMONuJR63kxIPAACwSTAUHWZMiYcABQCAZBGMsFigiQAFAIAk0TnVffc+KNF5UCKUeAAAwBDrrcRjrs0ToMQDAACGWogSj4UABQCAJGFmSLovFui11uIhQAEAAEOs14nazD4oDDMGAABDLdjLYoFmp9kAGRQAADCUDMOwRulQ4iFAAQAgKQS7lG/cvZR4IoYUHiVDjQlQAABIAl2zI73NJNv9vJGMAAUAgCTQNfDoXuLpunggAQoAABgyZonH4ZBc3VYz7tppNjhKRvIQoAAAkASsETxOpxyO2ADF5XRYQQsZFAAAMGQ6hxg7ejw+2maTJUABACAJWAGKu+ePZo/THGpMiQcAAAyR3maRNZmBCxkUAAAwZDr7oJy9xDNaVjQmQAEAIAn0WeIx1+NhojYAADBU+izxjLLp7glQAABIAr0tFGiyRvFQ4gEAAEOl72HGHR/Zo2VFYwIUAACSQCAUX4knxDBjAAAwVEIRJmrrigAFAIAk0HcfFEo8AABgiAUp8cQgQAEAIAkEWIsnBgEKAABJIBRniYcABQAADJl4J2oLUOIBAABDpe8Sj9kHhQwKAAAYIqE+Myj0QQEAAEMs/mHGlHgAAMAQiXeqezIoAABgyAT6yqC4OwIX+qAAAIAh02cfFKeZQaHEAwAAhohZuvG6mepeIkABACApmIGH29lLH5RoiScYIkABAABDpK+J2rzmPCgRSjwAAGCIWFPd91LiMTMrlHgAAMCQsYYZ91riiXaSpcQDAACGSiDOtXiYBwUAAAwZMzPSW4mHPigAAGDIhSLRYca9zCTrju4PUOIBAABDxSzxuJ2UeCQCFAAAkkK8JR5mkgUAAEPGLPGwWGAHAhQAAJKAmRnx9jKKx+yDQoACAACGjNn51d3nMGNKPAAAYIhYE7X1UuLxUuIBAABDzZzfpLcSj7VYIBkUAAAwVKxRPL31QXGSQQEAAEPMXATQTYlHUoIByoYNG3TZZZcpMzNTeXl5uvbaa3Xo0KGYc9ra2lRaWqqxY8cqIyNDS5cuVV1dXcw51dXVWrJkidLS0pSXl6c77rhDoVDo3J8NAADDlBl49F3iIUA5Q0VFhUpLS7Vnzx7t2rVLwWBQixYtUktLi3XObbfdphdeeEHPPPOMKioqVFNTo+uuu846Hg6HtWTJEgUCAe3evVuPP/64tm3bprVr1w7cswIAYBgJRwyZS+z0vVigIcMY+f1Q3ImcvHPnzpjb27ZtU15enqqqqvS1r31NjY2Neuyxx/TUU09pwYIFkqStW7dq5syZ2rNnj+bPn69XXnlFBw8e1G9/+1vl5+fr0ksv1b333qu77rpL69atk9frHbhnBwDAMNA1K9JbicfTZQr8UMTodbTPSHFOfVAaGxslSbm5uZKkqqoqBYNBFRcXW+fMmDFDkydPVmVlpSSpsrJSs2bNUn5+vnVOSUmJmpqadODAgR4fp729XU1NTTEbAAAjRdcApdcMirszIBkNZZ5+ByiRSES33nqrrrjiCl188cWSpNraWnm9XuXk5MScm5+fr9raWuucrsGJedw81pMNGzYoOzvb2iZNmtTfZgMAkHRCXYYO91XikaRgaOSXePodoJSWlur999/X9u3bB7I9PVqzZo0aGxut7dixY4P+mAAADBUzI+JyOuRy9ly6cXfZH4yM/AxKQn1QTCtXrtSOHTv0+uuva+LEidb+goICBQIBNTQ0xGRR6urqVFBQYJ3z5ptvxtyfOcrHPKc7n88nn8/Xn6YCAJD0rCHGvQQnkuRwOORxORQMG5R4ujMMQytXrtSzzz6rV199VdOmTYs5PmfOHHk8HpWXl1v7Dh06pOrqavn9fkmS3+/X/v37VV9fb52za9cuZWVlqaio6FyeCwAAw1JfCwWarJE8o6DEk1AGpbS0VE899ZSef/55ZWZmWn1GsrOzlZqaquzsbN10001avXq1cnNzlZWVpVWrVsnv92v+/PmSpEWLFqmoqEg33HCDNm3apNraWt19990qLS0lSwIAGJVC5jo87ngClLCVcRnJEgpQNm/eLEn6+te/HrN/69atuvHGGyVJDz74oJxOp5YuXar29naVlJTokUcesc51uVzasWOHVqxYIb/fr/T0dC1fvlzr168/t2cCAMAwFehjoUCTmUEJ0QclVjwTw6SkpKisrExlZWW9njNlyhS9+OKLiTw0AAAjllnicTv7yqBEZ5MdBSUe1uIBAMBm1jT3cZV4NCpKPAQoAADYLBh3iWf0rMdDgAIAgM3iL/FE+6CEKfEAAIBBFgwlMoqHDAoAABgCVh+UOEs89EEBAACDLhjpKNn0tg6PiQwKAAAYMmaJx91HgGKO8qEPCgAAGHTxlnjMtXoo8QAAgEFHiedMBCgAANjMGsXTV4DiNhcLJEABAACDzMyIuPsaxRMt8YQi9EEBAACDrLMPClPdmwhQAACwmTmTbPwlHjIoAABgkHWuxdPHMGM6yQIAgKES72KB5jDjYIQABQAADDJKPGciQAEAwGbxlniYBwUAAAyZeIcZmzPNEqAAAIBBZ5Z4+hpm7LYyKJR4AADAIIu3kywlHgAAMGSsAMXd1zBjSjwAAGCIWKN4nHSSNRGgAABgs84MSh/zoNAHBQAADJX4hxlT4gEAAEMk3onamOoeAAAMmURH8QQo8QAAgMEWCMVX4jEncguRQQEAAIMtFKHE0x0BCgAANou7k6ybUTwAAGCIBEPMJNsdAQoAADYLxDmKx+1kmDEAABgioUh8JR4vJR4AADBUEi7xhMigAACAQRbvRG3WTLIRAhQAADCIDMOwAo6+AxRKPAAAYAiEI4aMaLzhjTNACUcMhSMjO0ghQAEAwEZdsyHuPvugdB4f6SN5CFAAALBRoEugEW+JR+qcfXakIkABAMBGoZgAJb5RPNLIH8lDgAIAgI06R/A45HCcPUBxOR2KztVGiQcAAAweM9BwO+P7SDazKAECFAAAMFgC4fgmaTOZI31CI3yoMQEKAAA2MgMNcxr7vpgjfSjxAACAQRMMxzdJm4kSDwAAGHRmoNHXHCim0TKbLAEKAAA2CsW5Do/JLAWFyKAAAIDBYpZ4+prm3uSOjjOmxAMAAAYNJZ6eEaAAAGAjc0bYuDvJRks8zCQLAAAGjbmmTtx9UKKZllCEAAUAAAySxPugmMOMKfEAAIBBEggl2AeFEg8AABhswUSHGTOTLAAAGGxmX5JESzzBCCUeAAAwSAKhxBYLpMQDAAAGnVnicce9Fg8lnh69/vrruvrqq1VYWCiHw6Hnnnsu5rhhGFq7dq0mTJig1NRUFRcX6/DhwzHnfPbZZ1q2bJmysrKUk5Ojm266SadOnTqnJwIAwHAUSnCxQK81URsBSoyWlhZdcsklKisr6/H4pk2b9PDDD2vLli3au3ev0tPTVVJSora2NuucZcuW6cCBA9q1a5d27Nih119/Xd/73vf6/ywAABimOocZx1ficVsZlJHdB8Wd6B8sXrxYixcv7vGYYRh66KGHdPfdd+uaa66RJP33f/+38vPz9dxzz+lb3/qWPvjgA+3cuVNvvfWW5s6dK0n62c9+pr/+67/WT37yExUWFp7D0wEAYHgJJFziIYOSsKNHj6q2tlbFxcXWvuzsbM2bN0+VlZWSpMrKSuXk5FjBiSQVFxfL6XRq7969Pd5ve3u7mpqaYjYAAEaCICWeHg1ogFJbWytJys/Pj9mfn59vHautrVVeXl7McbfbrdzcXOuc7jZs2KDs7GxrmzRp0kA2GwAA24QSLPGwWGASWbNmjRobG63t2LFjdjcJAIABEUhwojY3o3gSV1BQIEmqq6uL2V9XV2cdKygoUH19fczxUCikzz77zDqnO5/Pp6ysrJgNAICRwAw06IMSa0ADlGnTpqmgoEDl5eXWvqamJu3du1d+v1+S5Pf71dDQoKqqKuucV199VZFIRPPmzRvI5gAAkPQ6+6DEV+LxjpIST8KjeE6dOqUjR45Yt48ePap9+/YpNzdXkydP1q233qr77rtP06dP17Rp0/TDH/5QhYWFuvbaayVJM2fO1De/+U398z//s7Zs2aJgMKiVK1fqW9/6FiN4AACjTigaaHjdiU3UFhjhGZSEA5S3335bV111lXV79erVkqTly5dr27ZtuvPOO9XS0qLvfe97amho0JVXXqmdO3cqJSXF+psnn3xSK1eu1MKFC+V0OrV06VI9/PDDA/B0AAAYXgIJjuIxS0EhApRYX//612UYvaeVHA6H1q9fr/Xr1/d6Tm5urp566qlEHxoAgBHH6oPipMTT1bAYxQMAwEhlzSQbb4nHzSgeAAAwyIIJDjM2zwuwmjEAABgsic4k63ZG+6BEKPEAAIBB0jkPSpx9UCjxAACAwWYNM6bEE4MABQAAGyU6zJiZZAEAwKBLtMRjTtRGHxQAADBogqH+lXiClHgAAMBgCUX6V+IJMFEbAAAYLGZn13gXC6QPCgAAGHSJT9QW7YNCgAIAAAZLohO1eViLBwAADCbDMKzROImWeALhyFkX7x3uCFAAALBJ1yyIJ87FAruO9hnJQ40JUAAAsEnXjq4eZ5xr8XTJtIRGcJmHAAUAAJt0DTASLfFInbPQjkQEKAAA2MQMMBwOyeVMbCZZaWQPNSZAAQDAJl1H8Dgc8QUoDofDClIIUAAAwICzApQ4sycmd7S/Cn1QAADAgLMmaYtzBI/JzKDQBwUAAAy4RCdpM3ndI3+6ewIUAABs0t8ST+eKxpR4AADAALMClARLPOZcKMEIGRQAADDAEl0o0NSZQSFAAQAAA6zffVBGwYKBBCgAANikM0DpZx8USjwAAGCgBUL9K/FYfVAo8QAAgIEWipxjBoUSDwAAGGjn3geFDAoAABhgwX6WeFiLBwAADJpgP0s8bko8AABgsJidXCnxnIkABQAAm5gZEC8lnjMQoAAAYBNzNWI3JZ4zEKAAAGCT0LlOdU8GBQAADLT+DzOmxAMAAAbJuU51HyBAAQAAAy3QzwyK2QclRB8UAAAw0PrbB4USDwAAGDRmgOF100m2OwIUAABsYg0zdibYByUa0JirIY9EBCgAANikvyUeM6AxV0MeiQhQAACwiTWKJ8ESj1kSosQDAAAGnNUHpb/DjCnxAACAgRaIlnjcTjrJdkeAAgCATUL9LPGYE7vRBwUAAAy4cy3xBCnxAACAgRY4x8UCmeoeAAAMuGAoOg9KwgEKM8kCAIBBYvYh6e9igazFAwAABlwwGmB4+1niIYMCAAAGXOAcSzz0QQEAAAPOmkm2v6N4CFAAAMBAC0XOrcRDHxQAADDgzFE8iQ8zpsQDAAAGiRlguCnxnMHWAKWsrExTp05VSkqK5s2bpzfffNPO5gAAMKT6W+LpXM145JZ43HY98NNPP63Vq1dry5Ytmjdvnh566CGVlJTo0KFDysvLs6tZGIVaAyH9/vAJlX9Qpz/VndKcKWNUPDNfc6eOSTjtOhx8dKJF5X+s16t/rNO71Q0al+HT1HHpmjY2TVPHpUd/T9fEMakJjywAcKZwxJDLeWaGJBwxFI70byZZd/T+whFDkYghZw/3P9w5DMOwJfyaN2+eLrvsMv3Hf/yHJCkSiWjSpElatWqVfvCDH5z1b5uampSdna3GxkZlZWUNRXMthmHI4bD/hRCJGDrZElBdU5tOtgSU5nUpL9OnvMwUpXpddjcv6dU2tum3H9Sp/IM6vfHhSWuoX1dZKW5dNSNPC2fm66++OF7ZqR4bWnruguGI3vroM736Qb1e/WO9/nyiJa6/czsdmpSbpqnRwGVadJs6Nl2FOak9vuEOlrZgWCdbAvrsVEANpwPKSvFofKZP4zJ81jfJwRQIRdTUFlSqx6U0r6vf7wGGYShidPybhCKGQuGIgmFDgXBEpwMhtbSH1RIIqdX8GQirNRBWTqpHhTmpOi8nVQXZKUPynM8mEIqoNRBSxOh4ToYkw5AMGVL0E8XrdirN67atrYFQRB+fbNGR+lM6XH9KR+pPqa6pTeeNSdW0semaNr7jtTxtXLrSfQP3Xf3EqXbt/6RRBz5p1PufNOn9mkb95fPTmpCdoi+Mz9AXxqfrgrwMfWF8hiblpumrm34nSXr/RyXKSKAdTW1BzV73iiTpxq9MVVaqR1kpbmWmuJWZ4rF+jknzKCfNq6wUd1J8diXy+W1LBiUQCKiqqkpr1qyx9jmdThUXF6uysvKM89vb29Xe3m7dbmpqGpR2/f7wp3r6rWPRN4WON4eW9s6fp4NhhSOGMnxuZaV6rBdBVpcXxNnetMMRQ+3BiNpCYbUFw2oPRayf7cGI3C6HUtwu+TxO+aI/zduGYai+qV31ze2qb27TiVMBK/LuLtPnVl5WR7CSl+XTmDSventdGoYUMQyFIobCYUPBSEThSOftcDR+dUhyOCSnwyGHQ3LIoeh/cjgc1vGutxU9z9xv/W30YOf5sec5HA4ZhmFdn7Yu16wtGFF7KCKnQ0rxuJQSvVYp1rVyyed29vp8IxFD71Q3aP8njTH7J+Wmqnhmvi4qzFblhyf16h/r9HlrUM/vq9Hz+2rkdjp0+bRcTR2Xrtb2kE61d7xGWszXSHtI7aGIUjwupftcSvO6leFzK83rUrrPrXSfa9CyMYbRUccOhLpsXW5/cLxJze0h63y306F55+fqqgvz9JUvjFNTW1AfnWjR0ZMt+uhEiz460aqPTraoPRTR0RMtOnqiRTr0acxjel1OTcxNVWaKRz63UynR657icSnF7ZTP45Tb2fu/g/m6M79BWlv0tdjaHtJnLYGOoKQloNZAuNfnn5vu1fgMn/KyfBqf6VNWiqfXx+1LeyiixtagGk4H9HlLUI2ng2poDaily+N7XU5lp3mUk+pRTppH2alejUnzyOdxqqU9rOa2kFraQ2oJhHSqLaRT7R23A9Fg5Fw5HFJepk+FOakqzEnV+Axfv5/v2RiG1NIeUuPp4Bnb2f49uvO4HErzupXudSnN1/Ez1dvx/4PP7ZTH1bF5o797XY5+ZwMMQzreeFpH6k/p45OtVvkkxtEzd+Vl+jRtXLpy071yOR1yOx1yOZ0dP10dt833r94e9y+ft+r9T5pU29TW4znHG9t0vLFNfzhyosfj7gSfc6rHpXSvSy2BsLbt/qjP891Oh3LSPBqT5u3Y0j1K97rldDrkjL63x/zucGju1DH6f7MLE2rXQLIlQDlx4oTC4bDy8/Nj9ufn5+uPf/zjGedv2LBBP/rRjwa9XX/5/LR2vHe8z/Oa2kJqagtJOj3obTobh0Mam+7VuAyfWgNh1Te3qS0YUXN7SM2fhvThp/F9Ux6NHA7pS5NytHBmvr5RlK/peRnWt4u/nTNR4Yihd6s/164P6lT+Qb2O1J/S7g9PaveHJ21uef+MTffqqhl5WjAjT1dOH6eslNhs0Pzzx8bcjkQM1Ta1WQHKRyda9NHJjt+PfXZagXBEfx7i15fX5VRuulfZqR41tQX1aXO7QhFDn0WDmEN1zUPSjkA4ok+b2/Vpc3vfJ8fJ63IqzedSurcjqDU/yNO8bqV4nGpoDaqm4bQ+aTit9lBEdU3tqmtq17vVDQPWhoFifoibuflg2LACm6GW7nXpgvxMXTA+Q9PzM1SQlaJPGk7HvK5PtgSiX/wG5t/T4ZDOH5eui8/L1sWF2brovCydPy5DnzSc1oefntKH9ac6fn7aoo9PtihiSJNz0/o1zPiX/9887fnzSTW3hdTcFoz+7Py96XRQDdGAMhQxdOJUQCdOBeJ+jGA4YmuAYkuJp6amRuedd552794tv99v7b/zzjtVUVGhvXv3xpzfUwZl0qRJA17i+VNds944cqLjDcLrtr4Jp3vd1puHw6HYF4D1ogjqVFvIyjj0xOlwxHzTtL5xelzyup0KRyJdMiyRmCyLQw6Nz/R1lHGi2ZGxGd6Yb+WGYai5PdSRaWlqs7Itfb0xuBwOuV1O65uD2xX95hD91iB1pG6NaPbWMKK/x6R2O25Lnanezv2dt6WOD7/u+43oH5r7HQ51XifrW3nnz4jRkY1q75JZsbJRobN/u5syNl0LZuRpXIbvrOd19dGJFv3uUL2aToc6XxfmB0r0p8/j1OloSt7KvEXT9afaQ9aaG4PB6+p4DZmbz+WUx+2Q1+XSxDGpmnVe9oDVqMMRQzUNp3Xss1a1BsJqC4Wt123Xn309X5ej41uqy6nYnw4p1etSbrpPuelejU33KjfDq0xfbIo6EjHUcDqo+uY21Td1BAz1ze061d7/D0KPy6mcVI/GRAOhnLSO7EhOqleZKW61hcJqaA1Gt4AaTkd/Px1QWzCiDJ9LGT6P0n0uZaZ0vHdkRH+aWaWO/8cc8nT5/yze1LthdARkNQ1t+qShVZ80tOmzloELlLpL87qVneqJXguP9Xt2qkcZPneXrOiZ7Q+EIjod6Fqq6ihhmdnpYDiioJnpCxsdt6PZv8g5fCzlpvs0Pa8zIOnr2jaejmYQT7SouS3YkT2ObqGYn2d/PY/L8Oni87JVNCEr7pJReyis6pOtmpCTmlB5J1FtwY7X7WctATW0BvRZa0CftwR0OhhWxOj4f9osP0aMjj4tEUOaPTFbiy4qGNC2JFLisSVACQQCSktL069//Wtde+211v7ly5eroaFBzz///Fn/3s4+KAAAoH8S+fy2pfeS1+vVnDlzVF5ebu2LRCIqLy+PyagAAIDRybZhxqtXr9by5cs1d+5cXX755XrooYfU0tKif/qnf7KrSQAAIEnYFqBcf/31+vTTT7V27VrV1tbq0ksv1c6dO8/oOAsAAEYf2+ZBORf0QQEAYPhJ+j4oAAAAZ0OAAgAAkg4BCgAASDoEKAAAIOkQoAAAgKRDgAIAAJIOAQoAAEg6BCgAACDpEKAAAICkY9tU9+fCnPy2qanJ5pYAAIB4mZ/b8UxiPywDlObmZknSpEmTbG4JAABIVHNzs7Kzs896zrBciycSiaimpkaZmZlyOBwDet9NTU2aNGmSjh07xjo/feBaxY9rFT+uVfy4VvHjWiVmsK6XYRhqbm5WYWGhnM6z9zIZlhkUp9OpiRMnDupjZGVl8SKOE9cqflyr+HGt4se1ih/XKjGDcb36ypyY6CQLAACSDgEKAABIOgQo3fh8Pt1zzz3y+Xx2NyXpca3ix7WKH9cqflyr+HGtEpMM12tYdpIFAAAjGxkUAACQdAhQAABA0iFAAQAASYcABQAAJB0ClC7Kyso0depUpaSkaN68eXrzzTftblJSeP3113X11VersLBQDodDzz33XMxxwzC0du1aTZgwQampqSouLtbhw4ftaayNNmzYoMsuu0yZmZnKy8vTtddeq0OHDsWc09bWptLSUo0dO1YZGRlaunSp6urqbGqxfTZv3qzZs2dbk0D5/X699NJL1nGuU+82btwoh8OhW2+91drH9eq0bt06ORyOmG3GjBnWca5VrE8++UTf+c53NHbsWKWmpmrWrFl6++23reN2vr8ToEQ9/fTTWr16te655x698847uuSSS1RSUqL6+nq7m2a7lpYWXXLJJSorK+vx+KZNm/Twww9ry5Yt2rt3r9LT01VSUqK2trYhbqm9KioqVFpaqj179mjXrl0KBoNatGiRWlparHNuu+02vfDCC3rmmWdUUVGhmpoaXXfddTa22h4TJ07Uxo0bVVVVpbffflsLFizQNddcowMHDkjiOvXmrbfe0s9//nPNnj07Zj/XK9ZFF12k48ePW9sf/vAH6xjXqtPnn3+uK664Qh6PRy+99JIOHjyof//3f9eYMWOsc2x9fzdgGIZhXH755UZpaal1OxwOG4WFhcaGDRtsbFXykWQ8++yz1u1IJGIUFBQYP/7xj619DQ0Nhs/nM/7nf/7HhhYmj/r6ekOSUVFRYRhGx3XxeDzGM888Y53zwQcfGJKMyspKu5qZNMaMGWM8+uijXKdeNDc3G9OnTzd27dpl/NVf/ZVxyy23GIbB66q7e+65x7jkkkt6PMa1inXXXXcZV155Za/H7X5/J4MiKRAIqKqqSsXFxdY+p9Op4uJiVVZW2tiy5Hf06FHV1tbGXLvs7GzNmzdv1F+7xsZGSVJubq4kqaqqSsFgMOZazZgxQ5MnTx7V1yocDmv79u1qaWmR3+/nOvWitLRUS5YsibkuEq+rnhw+fFiFhYU6//zztWzZMlVXV0viWnX3m9/8RnPnztXf/d3fKS8vT1/60pf0i1/8wjpu9/s7AYqkEydOKBwOKz8/P2Z/fn6+amtrbWrV8GBeH65drEgkoltvvVVXXHGFLr74Ykkd18rr9SonJyfm3NF6rfbv36+MjAz5fD7dfPPNevbZZ1VUVMR16sH27dv1zjvvaMOGDWcc43rFmjdvnrZt26adO3dq8+bNOnr0qL761a+qubmZa9XNn//8Z23evFnTp0/Xyy+/rBUrVuhf//Vf9fjjj0uy//19WK5mDCS70tJSvf/++zG1b8S68MILtW/fPjU2NurXv/61li9froqKCrublXSOHTumW265Rbt27VJKSordzUl6ixcvtn6fPXu25s2bpylTpuhXv/qVUlNTbWxZ8olEIpo7d67+7d/+TZL0pS99Se+//762bNmi5cuX29w6MiiSpHHjxsnlcp3Rk7uurk4FBQU2tWp4MK8P167TypUrtWPHDv3ud7/TxIkTrf0FBQUKBAJqaGiIOX+0Xiuv16sLLrhAc+bM0YYNG3TJJZfopz/9Kdepm6qqKtXX1+vLX/6y3G633G63Kioq9PDDD8vtdis/P5/rdRY5OTn64he/qCNHjvDa6mbChAkqKiqK2Tdz5kyrJGb3+zsBijreKOfMmaPy8nJrXyQSUXl5ufx+v40tS37Tpk1TQUFBzLVramrS3r17R921MwxDK1eu1LPPPqtXX31V06ZNizk+Z84ceTyemGt16NAhVVdXj7pr1ZNIJKL29nauUzcLFy7U/v37tW/fPmubO3euli1bZv3O9erdqVOn9OGHH2rChAm8trq54oorzpgK4U9/+pOmTJkiKQne3we9G+4wsX37dsPn8xnbtm0zDh48aHzve98zcnJyjNraWrubZrvm5mbj3XffNd59911DkvHAAw8Y7777rvHxxx8bhmEYGzduNHJycoznn3/eeO+994xrrrnGmDZtmnH69GmbWz60VqxYYWRnZxuvvfaacfz4cWtrbW21zrn55puNyZMnG6+++qrx9ttvG36/3/D7/Ta22h4/+MEPjIqKCuPo0aPGe++9Z/zgBz8wHA6H8corrxiGwXXqS9dRPIbB9erq+9//vvHaa68ZR48eNd544w2juLjYGDdunFFfX28YBteqqzfffNNwu93G/fffbxw+fNh48sknjbS0NOOJJ56wzrHz/Z0ApYuf/exnxuTJkw2v12tcfvnlxp49e+xuUlL43e9+Z0g6Y1u+fLlhGB1D0X74wx8a+fn5hs/nMxYuXGgcOnTI3kbboKdrJMnYunWrdc7p06eNf/mXfzHGjBljpKWlGX/zN39jHD9+3L5G2+S73/2uMWXKFMPr9Rrjx483Fi5caAUnhsF16kv3AIXr1en66683JkyYYHi9XuO8884zrr/+euPIkSPWca5VrBdeeMG4+OKLDZ/PZ8yYMcP4z//8z5jjdr6/OwzDMAY/TwMAABA/+qAAAICkQ4ACAACSDgEKAABIOgQoAAAg6RCgAACApEOAAgAAkg4BCgAASDoEKAAAIOkQoAAAgKRDgAIAAJIOAQoAAEg6BCgAACDp/P9XNNik11kl2AAAAABJRU5ErkJggg==", + "image/png": "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uUcTJkzQxRdfrOLiYs2ZM0eDBw/Wl19+GdPXev311/X111+rtrZWRUVFWrx4sd566y31799fL7/8cuDmoVlZWTr55JN11113qaamRr1799abb76pzZs3N3jO0aNHS5L+93//VxdddJESExN19tln64wzzlBSUpLOPvts/epXv1JFRYX++c9/Kjc3Vzt37mzT++ioz8ztduuxxx7TmWeeqZEjR+qyyy5T79699d1332nJkiXKysrSK6+8ErPXAwArIfkBAIs477zzAj36v/jFLzR16lQVFhbq0Ucf1RtvvKERI0boqaee0vPPPx+4EWl7GTt2rB5//HHdeeeduvrqqzVw4ED95S9/0ZYtW2Ke/PinsCUlJalr16468sgjdd999+myyy4LqXomSc8884yuuuoqzZkzR8YYnXHGGXr99dfVq1evkP2OO+443X777XrkkUe0cOFC+Xw+bd68WUOHDtULL7ygm266Sdddd53y8/M1ffp09ejRQ5dffnmb3kdHfmannnqqli9frttvv11///vfVVFRofz8fJ1wwgn61a9+FdPXAgArcZmmVrUCAAAAgA2w5gcAAACAI5D8AAAAAHAEkh8AAAAAjkDyAwAAAMARSH4AAAAAOALJDwAAAABHsOR9fnw+n3bs2KHMzEy5XK54NwcAAABAnBhjVF5erl69esntbnxsx5LJz44dO9S3b994NwMAAABAJ7Ft2zb16dOn0X0smfz47+i9bds2ZWVlxbk1AAAAAOKlrKxMffv2DeQIjbFk8uOf6paVlUXyAwAAAKBZy2EoeAAAAADAEUh+AAAAADgCyQ8AAAAAR7Dkmp/mMMaotrZWXq833k1BM3k8HiUkJFC+HAAAAO3ClslPdXW1du7cqQMHDsS7KWihtLQ09ezZU0lJSfFuCgAAAGzGdsmPz+fT5s2b5fF41KtXLyUlJTGSYAHGGFVXV2vXrl3avHmzhgwZ0uRNqgAAAICWsF3yU11dLZ/Pp759+yotLS3ezUELpKamKjExUd9++62qq6uVkpIS7yYBAADARmzbtc6ogTVx3AAAANBeuNIEAAAA4AgkPwAAAAAcgeTH4Vwul1566aWYPNfSpUvlcrlUUlISk+cDAAAAYonkpxOZOnWqXC6XXC6XkpKSNHjwYN12222qra1tt9fcuXOnzjzzzJg814knnqidO3cqOzs7Js8H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q6+MJLN8+fKoz/PrX//anHbaaQ22X3jhheamm24ys2bNavJ/BJ/PZ/Lz881f//rXwLaSkhKTnJxsnn322Qb7z507t9knyoceesh06dLFVFVVBbb9/ve/N0OHDo24f//+/Tsk+QnnlOMRyY9+9CNz2WWXBX7v2bOn+fvf/x6yz3nnnWcuueSSVr9Ga1j5mPjdddddZuDAgY0+dyQjRowwt956a+D35rSxvVn5eMQ6Ri644AIzceLEkH1OOOEE86tf/arVr9FSVj4efi2Nj1NOOSVq8lNbW2tOPPFE89hjj5kpU6a0e/ITzsrHo7XxEe1zvuGGG8zIkSMbtH/8+PEtfo3WsvLx8GtOfLT2s+7SpYt57LHHGt0nlpxyPCIJ/z6fOHGiufzyy0P2aek1lmWmvYUrLS2VJHXt2lWStHLlStXU1GjcuHGBfYYNG6Z+/fpp+fLljT6P/zn85s6dq2+++UazZs1qVls2b96swsLCkNfOzs7WCSec0OhrN8fy5ct18sknKykpKbBt/PjxWrdunfbt29em544lpxyPSMLbXFVVpZSUlJB9UlNT9f7778f8tZtql2TtYxLptZvi8/lUXl7e4O82bNigXr16adCgQbrkkku0devWFj1vW9nheLRWeJuXL18e8tpS3XmtPV67sTZJ1j4erYmPaG677Tbl5ubqiiuuiMnztZQdjkesEB+h2jM+WvpZe71ezZ8/X/v371dBQUGz2h8LTjke4SJ9n5944olatGiR1q9fL6luet/777+vM888s9nPm9CiVnQSPp9PV199tb7//e/riCOOkCQVFhYqKSmpwbzbvLw8FRYWRnyeZcuW6f/+7//06quvBrZt2LBBN954o9577z0lJDTv4/E/f15eXrNfu7kKCws1cODABs/rf6xLly5tev5YcNLxCPfcc8/p448/1qOPPhrYNn78eN1zzz06+eSTddhhh2nRokV68cUX5fV6Y/rajbHDMdm4caMefPBB3X333c16Db+7775bFRUVuuCCCwLbTjjhBM2bN09Dhw7Vzp07deutt+qkk07S6tWrlZmZ2aLnbw07HI/WihQjhYWFHfLa0djheLQ2PiJ5//339fjjj+vzzz9v83O1hh2ORyxFi4+ysjIdPHhQqamp7fr6djgezY2P5n7Wq1atUkFBgSorK5WRkaH//Oc/GjFiRLPa31ZOOh7h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", "text/plain": [ - "
" + "
" ] }, "metadata": {}, @@ -499,9 +419,9 @@ }, { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0cAAAIjCAYAAADIqGB7AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAiHNJREFUeJzt3Xd4FNX6B/Dv7KZ3AqkQQu9NETEoRaRjvZYfNorYsXJRLzawooiAIqL3qmABC4rYEKVLUxFBqnSkJqGl993z+2Ozsz2FJDuZM9/P8+QJmZ3MzmY4M/OeOe97FCGEABERERERkcGZtN4BIiIiIiKi+oDBERERERERERgcERERERERAWBwREREREREBIDBEREREREREQAGR0RERERERAAYHBEREREREQFgcERERERERASAwREREREREREABkdERFTH9u3bh0GDBiE6OhqKomDx4sWYN28eFEXB4cOHtd69ei0jIwM33HADGjZsCEVRMHPmTK13iYhIagyOiIj8bPv27bjhhhuQmpqKkJAQNG7cGAMHDsSsWbNc1nv55ZexePFibXayFo0aNQrbt2/HSy+9hI8//hgXXXSR1ruk6tevHxRFgaIoMJlMiIqKQtu2bXH77bdj2bJlNdr222+/jXnz5tVoG48++ih++uknTJw4ER9//DGGDBlSo+0REVHFFCGE0HoniIiMYsOGDbj88svRtGlTjBo1ComJiTh69Ch+/fVXHDhwAPv371fXjYiIwA033FDjG2wtFRYWIiwsDE899RRefPFFdfm8efMwZswYHDp0CM2aNdNs//r164cDBw5gypQpAID8/Hzs378fixYtwsGDB3HTTTfhk08+QWBgYLW33alTJzRq1AirV68+7/1LTEzEgAED8Mknn5z3NoiIqOoCtN4BIiIjeemllxAdHY1NmzYhJibG5bXMzMzz3m5+fj7Cw8NruHe179SpUwDg8Vnrk+joaNx2220uy1555RU89NBDePvtt9GsWTO8+uqrmuxbZmZmlf529fX4ExHpDYfVERH50YEDB9CxY0evN7zx8fHqvxVFQX5+Pj788EN12Nfo0aMBAJMnT4aiKNi1axduueUWNGjQAJdddpn6u5988gm6d++O0NBQxMbGYsSIETh69KjLe61duxY33ngjmjZtiuDgYKSkpODRRx9FYWGhy3qjR49GREQEjhw5giuvvBIRERFo3LgxZs+eDcA2RLB///4IDw9HamoqFixYoP7u5MmTkZqaCgB47LHHoChKpU+J3n77bXTs2BHBwcFITk7GuHHjkJWVpb7+5ptvwmw2uyx7/fXXoSgKxo8fry6zWCyIjIzEE088UeH7+WI2m/Hmm2+iQ4cOeOutt5Cdna2+NnfuXPTv3x/x8fEIDg5Ghw4dMGfOHJffb9asGXbu3Ik1a9aox69fv34AgLNnz2LChAno3LkzIiIiEBUVhaFDh+Kvv/5Sf9+ekyWEwOzZs9VtOL+2Zs0a3H///YiPj0eTJk0AAP/88w/uv/9+tG3bFqGhoWjYsCFuvPFGj9wu+zbWrVuHhx56CHFxcYiJicE999yDkpISZGVlYeTIkWjQoAEaNGiAxx9/HO4DTaxWK2bOnImOHTsiJCQECQkJuOeee3Du3Lnz+psTEdUHfHJERORHqamp2LhxI3bs2IFOnTr5XO/jjz/GnXfeiYsvvhh33303AKBly5Yu69x4441o3bo1Xn75ZfXG9aWXXsIzzzyDm266CXfeeSdOnTqFWbNmoU+fPtiyZYsalC1cuBAFBQW477770LBhQ/z++++YNWsWjh07hoULF7q8j8ViwdChQ9GnTx9MnToV8+fPxwMPPIDw8HA89dRTuPXWW/Gvf/0L77zzDkaOHIm0tDQ0b94c//rXvxATE4NHH30UN998M4YNG4aIiAifn3ny5Ml47rnnMGDAANx3333Ys2cP5syZg02bNmH9+vUIDAxE7969YbVasW7dOlx55ZUAbIGeyWTC2rVr1W1t2bIFeXl56NOnT9UPjhuz2Yybb74ZzzzzDNatW4fhw4cDAObMmYOOHTvi6quvRkBAAL777jvcf//9sFqtGDduHABg5syZePDBBxEREYGnnnoKAJCQkAAAOHjwIBYvXowbb7wRzZs3R0ZGBt5991307dsXu3btQnJyMvr06YOPP/4Yt99+OwYOHIiRI0d67N/999+PuLg4PPvss8jPzwcAbNq0CRs2bMCIESPQpEkTHD58GHPmzEG/fv2wa9cuhIWFuWzjwQcfRGJiIp577jn8+uuv+O9//4uYmBhs2LABTZs2xcsvv4wlS5bgtddeQ6dOnVz245577lGHRz700EM4dOgQ3nrrLWzZskU9XkREuiOIiMhvfv75Z2E2m4XZbBZpaWni8ccfFz/99JMoKSnxWDc8PFyMGjXKY/mkSZMEAHHzzTe7LD98+LAwm83ipZdeclm+fft2ERAQ4LK8oKDAY7tTpkwRiqKIf/75R102atQoAUC8/PLL6rJz586J0NBQoSiK+Oyzz9Tlf//9twAgJk2apC47dOiQACBee+01l/eaO3euACAOHTokhBAiMzNTBAUFiUGDBgmLxaKu99ZbbwkA4oMPPhBCCGGxWERUVJR4/PHHhRBCWK1W0bBhQ3HjjTcKs9kscnNzhRBCTJ8+XZhMJnHu3DmPz+msb9++omPHjj5f//rrrwUA8cYbb6jLvP3tBg8eLFq0aOGyrGPHjqJv374e6xYVFbl8RiFsf6fg4GDx/PPPuywHIMaNG+eyzP63u+yyy0RZWZnLa972bePGjQKA+Oijjzy2MXjwYGG1WtXlaWlpQlEUce+996rLysrKRJMmTVw+y9q1awUAMX/+fJf3Wrp0qdflRER6wWF1RER+NHDgQGzcuBFXX301/vrrL0ydOhWDBw9G48aN8e2331ZrW/fee6/Lz4sWLYLVasVNN92E06dPq1+JiYlo3bo1Vq1apa4bGhqq/js/Px+nT59Gr169IITAli1bPN7rzjvvVP8dExODtm3bIjw8HDfddJO6vG3btoiJicHBgwer9TkAYPny5SgpKcEjjzwCk8lxabrrrrsQFRWFH374AQBgMpnQq1cv/PLLLwCA3bt348yZM/jPf/4DIQQ2btwIwPY0qVOnTjXOdbI/6crNzVWXOf/tsrOzcfr0afTt2xcHDx50GX7nS3BwsPoZLRYLzpw5g4iICLRt2xZ//vlnlfftrrvugtlsdlnmvG+lpaU4c+YMWrVqhZiYGK/bHjt2rDpcDwB69uwJIQTGjh2rLjObzbjoootcjuvChQsRHR2NgQMHuvxf6969OyIiIlz+rxER6QmDIyIiP+vRowcWLVqEc+fO4ffff8fEiRORm5uLG264Abt27arydpo3b+7y8759+yCEQOvWrREXF+fytXv3bpeCD0eOHMHo0aMRGxuLiIgIxMXFoW/fvgDgcYMfEhKCuLg4l2XR0dFo0qSJy421ffn55Jz8888/AGwBlrOgoCC0aNFCfR0Aevfujc2bN6OwsBBr165FUlISLrzwQnTt2lUdWrdu3Tr07t272vvhLi8vDwAQGRmpLlu/fj0GDBiA8PBwxMTEIC4uDk8++SQAz7+dN1arFTNmzEDr1q0RHByMRo0aIS4uDtu2bavS79u5H3/AVh3w2WefRUpKisu2s7KyvG67adOmLj9HR0cDAFJSUjyWOx/Xffv2ITs7G/Hx8R7/1/Ly8mpUXISISEvMOSIi0khQUBB69OiBHj16oE2bNhgzZgwWLlyISZMmVen3nZ8SALabbkVR8OOPP3o8UQAcT0EsFgsGDhyIs2fP4oknnkC7du0QHh6O48ePY/To0bBarS6/521bFS0XdTxDxGWXXYbS0lJs3LgRa9euVYOg3r17Y+3atfj7779x6tSpWgmOduzYAQBo1aoVAFtBjSuuuALt2rXD9OnTkZKSgqCgICxZsgQzZszw+Nt58/LLL+OZZ57BHXfcgRdeeAGxsbEwmUx45JFHqvT7du7HH7DlEM2dOxePPPII0tLS1Il3R4wY4XXb1Tm2zsfVarUiPj4e8+fP9/r77sE0EZFeMDgiIqoH7BOjnjx5Ul3m/lSmMi1btoQQAs2bN0ebNm18rrd9+3bs3bsXH374oUuCfU0nPa0Je1W7PXv2oEWLFurykpISHDp0CAMGDFCXXXzxxQgKCsLatWuxdu1aPPbYYwCAPn364H//+x9WrFih/lwTFosFCxYsQFhYmFoN8LvvvkNxcTG+/fZbl6cu3oaR+Tp+X375JS6//HK8//77LsuzsrLQqFGjGu3zl19+iVGjRuH1119XlxUVFblU96sNLVu2xPLly3HppZd6DdKIiPSKw+qIiPxo1apVXp+sLFmyBIDrsLLw8PBq3dT+61//gtlsxnPPPefxHkIInDlzBoDjqYDzOkIIvPHGG1V+r9o2YMAABAUF4c0333TZr/fffx/Z2dlqpTjANsyvR48e+PTTT3HkyBGXJ0eFhYV488030bJlSyQlJZ33/lgsFjz00EPYvXs3HnroIURFRQHw/rfLzs7G3LlzPbbh6/iZzWaP47Nw4UIcP378vPe3om3PmjULFoulxtt2dtNNN8FiseCFF17weK2srKzWgzEiIn/hkyMiIj968MEHUVBQgOuuuw7t2rVDSUkJNmzYgM8//xzNmjXDmDFj1HW7d++O5cuXY/r06UhOTkbz5s3Rs2dPn9tu2bIlXnzxRUycOBGHDx/Gtddei8jISBw6dAhff/017r77bkyYMAHt2rVDy5YtMWHCBBw/fhxRUVH46quvNJ2fJi4uDhMnTsRzzz2HIUOG4Oqrr8aePXvw9ttvo0ePHh6TtPbu3RuvvPIKoqOj0blzZwC2eaLatm2LPXv2qHNCVUV2djY++eQTAEBBQQH279+PRYsW4cCBAxgxYoRLADBo0CAEBQXhqquuwj333IO8vDz873//Q3x8vMtTP8B2/ObMmYMXX3wRrVq1Qnx8PPr3748rr7wSzz//PMaMGYNevXph+/btmD9/vssTs/N15ZVX4uOPP0Z0dDQ6dOiAjRs3Yvny5WjYsGGNt+2sb9++uOeeezBlyhRs3boVgwYNQmBgIPbt24eFCxfijTfewA033FCr70lE5A8MjoiI/GjatGlYuHAhlixZgv/+978oKSlB06ZNcf/99+Ppp592qa42ffp03H333Xj66adRWFiIUaNGVRgcAcB//vMftGnTBjNmzMBzzz0HwJZcP2jQIFx99dUAgMDAQHz33Xd46KGHMGXKFISEhOC6667DAw88gK5du9bZZ6/M5MmTERcXh7feeguPPvooYmNjcffdd+Pll1/2mDPHHhz16tXLpbpd7969sWfPnmrlGx07dgy33347AFteVlJSEtLS0jBnzhwMHDjQZd22bdviyy+/xNNPP40JEyYgMTER9913H+Li4nDHHXe4rPvss8/in3/+wdSpU5Gbm4u+ffuif//+ePLJJ5Gfn48FCxbg888/x4UXXogffvgB//nPf6r7J/PwxhtvwGw2Y/78+SgqKsKll16K5cuXY/DgwTXetrt33nkH3bt3x7vvvosnn3wSAQEBaNasGW677TZceumltf5+RET+oIi6zpwlIiIiIiLSAeYcERERERERgcERERERERERAAZHREREREREABgcERERERERAWBwREREREREBIDBEREREREREQCJ5zmyWq04ceIEIiMjoSiK1rtDREREREQaEUIgNzcXycnJLvPjuZM2ODpx4gRSUlK03g0iIiIiIqonjh49iiZNmvh8XdrgKDIyEoDtDxAVFaXx3hARERERkVZycnKQkpKixgi+SBsc2YfSRUVFMTgiIiIiIqJK021YkIGIiIiIiAgMjoiIiIiIiAAwOCIiIiIiIgIgcc5RVQghUFZWBovFovWukKTMZjMCAgJYTp6IiIhIBwwbHJWUlODkyZMoKCjQeldIcmFhYUhKSkJQUJDWu0JEREREFTBkcGS1WnHo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/cVjUz/xuNRfPDb1E49L/cVjUz/V1XGp6ImRHQsyEBERERERgcERERERERERAAZHfhEcHIxJkyYhODhY610hJzwu9RePTf3E41J/8djUTzwu9RePTf1UH46LtAUZiIiIiIiIqoNPjoiIiIiIiMDgiIiIiIiICACDIyIiIiIiIgAMjoiIiIiIiABIFhxNmTIFPXr0QGRkJOLj43Httddiz549LusUFRVh3LhxaNiwISIiInD99dcjIyNDff2vv/7CzTffjJSUFISGhqJ9+/Z44403fL7n+vXrERAQgG7dulW6f0IIPPvss0hKSkJoaCgGDBiAffv2uazz0ksvoVevXggLC0NMTEyVP/u2bdvQu3dvhISEICUlBVOnTnV5fefOnbj++uvRrFkzKIqCmTNnVnnbtUHvx+bw4cMYO3YsmjdvjtDQULRs2RKTJk1CSUlJpdtevXo1LrzwQgQHB6NVq1aYN29etf82dcWox2XRokUYOHAg4uLiEBUVhbS0NPz0008u69jbivvXuHHjKt3vmtL7cQHO71y2evVqXHPNNUhKSkJ4eDi6deuG+fPnu6yzaNEiXHTRRYiJiVHX+fjjj6u0/dqg92Nzvm3m5MmTuOWWW9CmTRuYTCY88sgjHuv069fPa5sZPnx4pftdU3o/LsD5tZmioiKMHj0anTt3RkBAAK699lqPddatW4dLL70UDRs2RGhoKNq1a4cZM2ZUafu1Qe/Hpi6v/1peZ6gCQiKDBw8Wc+fOFTt27BBbt24Vw4YNE02bNhV5eXnqOvfee69ISUkRK1asEH/88Ye45JJLRK9evdTX33//ffHQQw+J1atXiwMHDoiPP/5YhIaGilmzZnm837lz50SLFi3EoEGDRNeuXSvdv1deeUVER0eLxYsXi7/++ktcffXVonnz5qKwsFBd59lnnxXTp08X48ePF9HR0VX63NnZ2SIhIUHceuutYseOHeLTTz8VoaGh4t1331XX+f3338WECRPEp59+KhITE8WMGTOqtO3aovdj8+OPP4rRo0eLn376SRw4cEB88803Ij4+Xvz73/+ucLsHDx4UYWFhYvz48WLXrl1i1qxZwmw2i6VLl1brb1NXjHpcHn74YfHqq6+K33//Xezdu1dMnDhRBAYGij///FNdJzMzU5w8eVL9WrZsmQAgVq1aVel+15Tej4sQ53cue+mll8TTTz8t1q9fL/bv3y9mzpwpTCaT+O6779R1Vq1aJRYtWiR27dqlruPepuqS3o/N+baZQ4cOiYceekh8+OGHolu3buLhhx/2WOfMmTMubWbHjh3CbDaLuXPnVrrfNaX34yLE+bWZvLw8ce+994r//ve/YvDgweKaa67xWOfPP/8UCxYsEDt27BCHDh0SH3/8sQgLC3O5R6hLej82dXn91/I6Q75JFRy5y8zMFADEmjVrhBBCZGVlicDAQLFw4UJ1nd27dwsAYuPGjT63c//994vLL7/cY/n//d//iaefflpMmjSp0gZotVpFYmKieO2119RlWVlZIjg4WHz66ace68+dO7fKJ8e3335bNGjQQBQXF6vLnnjiCdG2bVuv66empvo9OHKn52NjN3XqVNG8efMKt/3444+Ljh07euzb4MGDff6O+9/Gn4xyXLzp0KGDeO6553y+/vDDD4uWLVsKq9Va7W3XlJ6PS3XOZd4MGzZMjBkzpsJ1LrjgAvH000+f93vUhJ6PjV1120zfvn29BkfuZsyYISIjI/3S0eNOz8flfNvMqFGjvAZH3lx33XXitttuq/Z71AY9Hxu7urr+a3mdIQephtW5y87OBgDExsYCADZv3ozS0lIMGDBAXaddu3Zo2rQpNm7cWOF27Nuwmzt3Lg4ePIhJkyZVaV8OHTqE9PR0l/eOjo5Gz549K3zvqti4cSP69OmDoKAgddngwYOxZ88enDt3rkbbrisyHBtv7+1u48aNLtsFbMemsu0CqHTbdcEox8Wd1WpFbm6uz98rKSnBJ598gjvuuAOKolRr27VBhuNyvio6nkIIrFixAnv27EGfPn1q/b2rQoZjcz5tpiref/99jBgxAuHh4bW+7crIcFzqypYtW7Bhwwb07dvX7+8NyHFs6uL6r/V1hhwCtN6BumK1WvHII4/g0ksvRadOnQAA6enpCAoK8hjLm5CQgPT0dK/b2bBhAz7//HP88MMP6rJ9+/bhP//5D9auXYuAgKr9Ce3bT0hIqPJ7V1V6ejqaN2/usV37aw0aNKjR9mubDMdm//79mDVrFqZNm1bptr1tNycnB4WFhQgNDXV5zdvfxl+MdFzcTZs2DXl5ebjpppu8vr548WJkZWVh9OjR1dpubZDhuJyvL774Aps2bcK7777rsjw7OxuNGzdGcXExzGYz3n77bQwcOLBW37sqZDg259tmKvP7779jx44deP/992t1u1Uhw3GpC02aNMGpU6dQVlaGyZMn48477/Tbe9vJcGzq6vqv5XWGXEn75GjcuHHYsWMHPvvss/Pexo4dO3DNNddg0qRJGDRoEADAYrHglltuwXPPPYc2bdp4/b358+cjIiJC/Vq7du1574O7jh07qtsdOnRorW3Xn/R+bI4fP44hQ4bgxhtvxF133aUud97uvffee16fqzb+NufLqMdlwYIFeO655/DFF18gPj7e67bff/99DB06FMnJydXer5rS+3HxpbJz2apVqzBmzBj873//Q8eOHV1ei4yMxNatW7Fp0ya89NJLGD9+PFavXl1r+1ZVej82dXkue//999G5c2dcfPHF5/X7NaH34+JLTa//a9euxR9//IF33nkHM2fOxKefflpr+1ZVej82dd1mtLrOkButx/XVhXHjxokmTZqIgwcPuixfsWKFACDOnTvnsrxp06Zi+vTpLst27twp4uPjxZNPPumy/Ny5cwKAMJvN6peiKOqyFStWiJycHLFv3z71q6CgQBw4cEAAEFu2bHHZXp8+fcRDDz3k8Rl8jTk+fPiwut1jx44JIYS4/fbbPcYZr1y5UgAQZ8+e9diGljlHej82x48fF61btxa33367sFgsLq85bzcjI0MIIUTv3r09xuZ/8MEHIioqqsp/G38w2nGxsxcv+f77733+bQ4fPixMJpNYvHixz3Xqit6PixDVO5fZrV69WoSHh1c5YXzs2LFi0KBBVVq3tuj92JxvmxGi8pyjvLw8ERUVJWbOnOlznbqi9+MixPm1GSGql3P0wgsviDZt2lRp3dqi92NTl9d/La8z5Emq4MhqtYpx48aJ5ORksXfvXo/X7Ul/X375pbrs77//9kj627Fjh4iPjxePPfaYxzYsFovYvn27y9d9990n2rZtK7Zv3+4z8dSe9Ddt2jR1WXZ2dq0WZCgpKVGXTZw4sV4VZJDh2Bw7dky0bt1ajBgxQpSVlVXpcz/++OOiU6dOLstuvvlml4TMyv42dcmox0UIIRYsWCBCQkIqvRhNmjRJJCYmitLS0ipvu6ZkOC521U0uX7VqlQgPDxdvvfVWlX9nzJgxom/fvlVevyZkODbn22bsKguO5s6dK4KDg8Xp06erve3zJcNxsfNHQYbnnntOpKamVvs9zocMx6aurv92WlxnyDepgqP77rtPREdHi9WrV7uURiwoKFDXuffee0XTpk3FypUrxR9//CHS0tJEWlqa+vr27dtFXFycuO2221y2kZmZ6fN9q1IRRQhbuciYmBjxzTffiG3btolrrrnGo5TnP//8I7Zs2SKee+45ERERIbZs2SK2bNkicnNzfW43KytLJCQkiNtvv13s2LFDfPbZZx5lOouLi9VtJSUliQkTJogtW7aIffv2VbrftUHvx+bYsWOiVatW4oorrhDHjh1zef+K2Et5PvbYY2L37t1i9uzZHqU8q/K3qStGPS7z588XAQEBYvbs2S6/k5WV5bKexWIRTZs2FU888USl+1qb9H5chDi/c9nKlStFWFiYmDhxoss+nzlzRl3n5ZdfFj///LM4cOCA2LVrl5g2bZoICAgQ//vf/yrd79qg92Nzvm1GCKEew+7du4tbbrlFbNmyRezcudNjvcsuu0z83//9X6Xbq016Py5CnF+bEcL2NGXLli3iqquuEv369VN/z+6tt94S3377rdi7d6/Yu3eveO+990RkZKR46qmnKt3v2qD3Y1OX138htLvOkG9SBUcAvH45z7FQWFgo7r//ftGgQQMRFhYmrrvuOpf/4JMmTfK6jYp6WKraAK1Wq3jmmWdEQkKCCA4OFldccYXYs2ePyzqjRo3y+v6V1bz/66+/xGWXXSaCg4NF48aNxSuvvOLy+qFDh7xu11+9rXo/NnPnzvX5GSqzatUq0a1bNxEUFCRatGjhMedHVf42dcWox6Vv375ef2fUqFEu6/30008CgEc7rWt6Py5CnN+5zNfvOJ+nnnrqKdGqVSsREhIiGjRoINLS0sRnn31W6T7XFr0fm5qcy6qyz/Ye/59//rnS7dUmvR8XIc7/+p+amlrh8XzzzTdFx44dRVhYmIiKihIXXHCBePvttz2GhtUVvR+burz+C6HddYZ8U4QQAkRERERERAYnbbU6IiIiIiKi6mBwREREREREBAZHREREREREABgcERERERERAWBwREREREREBIDBEREREREREQAGR0RERERERAAYHBEREREREQFgcERERERERASAwREREenA6NGjoSgKFEVBYGAgEhISMHDgQHzwwQewWq1V3s68efMQExNTdztKRES6xuCIiIh0YciQITh58iQOHz6MH3/8EZdffjkefvhhXHnllSgrK9N694iISAIMjoiISBeCg4ORmJiIxo0b48ILL8STTz6Jb775Bj/++CPmzZsHAJg+fTo6d+6M8PBwpKSk4P7770deXh4AYPXq1RgzZgyys7PVp1CTJ08GABQXF2PChAlo3LgxwsPD0bNnT6xevVqbD0pERJphcERERLrVv39/dO3aFYsWLQIAmEwmvPnmm9i5cyc+/PBDrFy5Eo8//jgAoFevXpg5cyaioqJw8uRJnDx5EhMmTAAAPPDAA9i4cSM+++wzbNu2DTfeeCOGDBmCffv2afbZiIjI/xQhhNB6J4iIiCoyevRoZGVlYfHixR6vjRgxAtu2bcOuXbs8Xvvyyy9x77334vTp0wBsOUePPPIIsrKy1HWOHDmCFi1a4MiRI0hOTlaXDxgwABdffDFefvnlWv88RERUPwVovQNEREQ1IYSAoigAgOXLl2PKlCn4+++/kZOTg7KyMhQVFaGgoABhYWFef3/79u2wWCxo06aNy/Li4mI0bNiwzvefiIjqDwZHRESka7t370bz5s1x+PBhXHnllbjvvvvw0ksvITY2FuvWrcPYsWNRUlLiMzjKy8uD2WzG5s2bYTabXV6LiIjwx0cgIqJ6gsERERHp1sqVK7F9+3Y8+uij2Lx5M6xWK15//XWYTLaU2i+++MJl/aCgIFgsFpdlF1xwASwWCzIzM9G7d2+/7TsREdU/DI6IiEgXiouLkZ6eDovFgoyMDCxduhRTpkzBlVdeiZEjR2LHjh0oLS3FrFmzcNVVV2H9+vV45513XLbRrFkz5OXlYcWKFejatSvCwsLQpk0b3HrrrRg5ciRef/11XHDBBTh16hRWrFiBLl26YPjw4Rp9YiIi8jdWqyMiIl1YunQpkpKS0KxZMwwZMgSrVq3Cm2++iW+++QZmsxldu3bF9OnT8eqrr6JTp06YP38+pkyZ4rKNXr164d5778X//d//IS4uDlOnTgUAzJ07FyNHjsS///1vtG3bFtdeey02bdqEpk2bavFRiYhII6xWR0REREREBD45IiIiIiIiAsDgiIiIiIiICACDIyIiIiIiIgAMjoiIiIiIiAAwOCIiIiIiIgLA4IiIiIiIiAgAgyMiIiIiIiIADI6IiIiIiIgAMDgiIiIiIiICwOCIiIiIiIgIAIMjIiIiIiIiAMD/A93P5BRlU4qKAAAAAElFTkSuQmCC", "text/plain": [ - "
" + "
" ] }, "metadata": {}, @@ -509,10 +429,9 @@ } ], "source": [ - "rainfall_methods.loc[(\"drop\")].plot()\n", - "rainfall_methods.loc[(\"fill\")].plot(r=r, color='red')\n", - "plt.show()\n", - "#streamflow_methods.plot(kind='line',x=\"Date\",y=\"Streamflow_cfs\",figsize=(10,6),title=\"Streamflow Dataframe\",)" + "rainfall_methods.plot(kind='line',x=\"Date\",y=\"Precip_in\",figsize=(10,6),title=\"Rainfall Dataframe\",)\n", + "#rainfall_methods.loc[('drop')].plot(figsize=(10,6),x=\"Date\")\n", + "streamflow_methods.plot(kind='line',x=\"Date\",y=\"Streamflow_cfs\",figsize=(10,6),title=\"Streamflow Dataframe\",)" ] }, { @@ -538,8 +457,70 @@ "execution_count": null, "id": "1e688b18", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Date Precip_in Streamflow_cfs\n", + "0 2024-01-01 0.140280 10.25\n", + "1 2024-01-02 0.659018 10.70\n", + "2 2024-01-03 0.000000 13.30\n", + "3 2024-01-04 0.000000 10.10\n", + "4 2024-01-05 0.375729 10.00\n", + "5 2024-01-06 0.000000 11.90\n", + "6 2024-01-07 1.095458 10.00\n", + "7 2024-01-08 0.000000 15.50\n", + "8 2024-01-09 0.000000 10.15\n", + "9 2024-01-10 0.186576 10.45\n", + "10 2024-01-16 0.000000 11.95\n", + "11 2024-01-16 0.000000 11.95\n", + "12 2024-01-17 3.380971 10.00\n", + "13 2024-01-18 0.000000 26.90\n", + "14 2024-01-19 0.532611 10.45\n", + "15 2024-01-20 0.000000 12.65\n", + "16 2024-01-21 0.000000 10.05\n", + "17 2024-01-22 0.000000 10.00\n", + "18 2024-01-23 0.000000 10.35\n", + "19 2024-01-24 0.301443 10.50\n", + "20 2024-01-25 3.609354 11.50\n", + "21 2024-01-27 0.370825 22.10\n", + "22 2024-01-28 0.000000 11.85\n", + "23 2024-01-29 0.000000 10.05\n", + "24 2024-01-30 0.151070 10.00\n", + "25 2024-02-01 0.000000 15.35\n", + "26 2024-02-02 0.000000 10.40\n", + "27 2024-02-03 0.000000 10.10\n", + "28 2024-02-04 0.797750 10.05\n", + "29 2024-02-05 0.000000 14.00\n", + "30 2024-02-06 0.588250 10.00\n", + "31 2024-02-07 0.793941 12.95\n", + "32 2024-02-08 1.317195 13.95\n", + "33 2024-02-09 0.000000 16.60\n", + "34 2024-02-12 0.000000 17.75\n", + "35 2024-02-13 0.754506 10.05\n", + "36 2024-02-14 0.792761 13.75\n", + "37 2024-02-15 0.273807 13.95\n", + "38 2024-02-16 0.000000 11.35\n", + "39 2024-02-17 0.000000 10.00\n", + "40 2024-02-18 0.000000 10.00\n", + "41 2024-02-19 1.806495 10.50\n", + "42 2024-02-20 0.168414 19.05\n", + "43 2024-02-21 0.000000 10.85\n", + "44 2024-02-22 0.000000 10.25\n", + "45 2024-02-23 2.193069 10.40\n", + "46 2024-02-24 0.429252 20.95\n", + "47 2024-02-25 500.000000 12.15\n", + "48 2024-02-26 1.609937 2510.00\n", + "49 2024-02-27 0.954725 18.05\n", + "50 2024-02-28 0.101126 14.75\n", + "51 2024-02-29 0.000000 10.50\n" + ] + } + ], + "source": [ + "rain_flow_df = pd.merge(rainfall_methods.loc[('drop')],streamflow_methods.loc[('drop')])" + ] }, { "cell_type": "markdown", @@ -553,11 +534,50 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 76, "id": "d481b613", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "January: \n", + " Date Precip_in Streamflow_cfs 1\n", + "count 24 24.000000 24.00000 24.0\n", + "mean 2024-01-15 00:00:00 0.443844 12.19375 1.0\n", + "min 2024-01-01 00:00:00 0.000000 10.00000 1.0\n", + "25% 2024-01-06 18:00:00 0.000000 10.08750 1.0\n", + "50% 2024-01-16 12:00:00 0.000000 10.47500 1.0\n", + "75% 2024-01-22 06:00:00 0.372051 11.95000 1.0\n", + "max 2024-01-29 00:00:00 3.609354 26.90000 1.0\n", + "std NaN 0.979629 4.08037 0.0\n", + "\n", + "\n", + "February: \n", + " Date Precip_in Streamflow_cfs 1\n", + "count 26 26.000000 26.000000 26.0\n", + "mean 2024-02-14 19:23:04.615384576 19.714663 109.123077 2.0\n", + "min 2024-02-01 00:00:00 0.000000 10.000000 2.0\n", + "25% 2024-02-07 06:00:00 0.000000 10.287500 2.0\n", + "50% 2024-02-15 12:00:00 0.221111 12.550000 2.0\n", + "75% 2024-02-21 18:00:00 0.796797 15.200000 2.0\n", + "max 2024-02-28 00:00:00 500.000000 2510.000000 2.0\n", + "std NaN 97.961432 489.695383 0.0\n" + ] + } + ], + "source": [ + "import datetime as dt\n", + "rain_flow_df['Date'] = pd.to_datetime(rain_flow_df['Date'])\n", + "#print(rain_flow_df['Date'].dt.month)\n", + "\n", + "jan = rain_flow_df[rain_flow_df['Date'].dt.month == 1].index\n", + "feb = rain_flow_df[rain_flow_df['Date'].dt.month == 2].index\n", + "\n", + "print(\"January: \", rain_flow_df[jan[0]:jan[-1]].describe(),'\\n', sep='\\n')\n", + "print(\"February: \", rain_flow_df[feb[0]:feb[-1]].describe(), sep='\\n')\n" + ] }, { "cell_type": "markdown", @@ -571,11 +591,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "id": "6d73bc7f", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "rain_flow_SI_df = rain_flow_df\n", + "rain_flow_df[\"Precip_in\"] = rain_flow_df[\"Precip_in\"] * 25.4\n", + "rain_flow_df[\"Streamflow_cfs\"] = rain_flow_df[\"Streamflow_cfs\"] * .028\n" + ] }, { "cell_type": "markdown",