From 23b88028382ff9d7c9fd86fffc70a3959eb966b9 Mon Sep 17 00:00:00 2001 From: Rebecca Hankey Date: Wed, 20 Nov 2024 16:39:14 -0500 Subject: [PATCH] I have been editing the Jupyter notebook and working through the tasks for each data set. I am at a point in this lab where I am stuck and we are troublehooting the graphing functions. It appears that my computer is not agreeing with seaborn. That being said, I am suprised how much more accessible the math side of coding is with the jupyter notebook. I have enjoyed this lab, but I think it makes sense becasue there are models of exactly what needs to be done to the data sets, then we manipulate our own. This is something I am understanding, but want to keep practicing. The overall experience is positive though. As I continue and think about my own data, I want to do exactly what we discussed, and pull data then run it through similar steps (as the Pokemon lab). I think this will give me a chance to really practice this side of coding that is challenging for me. As I work through these problems and labs I find myself reflecting on Computer science as an interdicilinanary learning expereience. How do we engage individuals who struggle with math and order of operations or who have a fixed mindset about technology and math? How do we challenge these students and encourage them to try and flourish without turning them off from the computing sector all together? --- brfss_2020.ipynb | 2 +- lab_pokemon.ipynb | 2514 +++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 2447 insertions(+), 69 deletions(-) diff --git a/brfss_2020.ipynb b/brfss_2020.ipynb index 984628d..7a0f2d1 100644 --- a/brfss_2020.ipynb +++ b/brfss_2020.ipynb @@ -175,7 +175,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.10" + "version": "3.12.6" } }, "nbformat": 4, diff --git a/lab_pokemon.ipynb b/lab_pokemon.ipynb index fa944f3..eefb6b9 100644 --- a/lab_pokemon.ipynb +++ b/lab_pokemon.ipynb @@ -16,10 +16,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "5923b0d7-c0e0-48fa-b765-4aa6002c2d4f", - "metadata": {}, - "outputs": [], + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Other cells are code cells, containing Python code. (This is a comment, of course!)\n", "# Try running this cell (again, shift+Enter). You'll see the result of the final statement \n", @@ -41,10 +54,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "0e2a2927-f6d1-4b13-97ae-ff97416723e9", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "10" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Cell A\n", "x = 10\n", @@ -53,10 +77,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "69dd7908-b213-4d0f-8016-e46a4a491961", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "20" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Cell B\n", "x = x * 2\n", @@ -97,9 +132,11 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "ba09a0f8-27d9-456f-aeff-3980e3362d5b", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "import pandas as pd" @@ -107,9 +144,11 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "a29d508a-2d9a-4d62-9ff6-7a0ecfd5eba4", - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "pokemon = pd.read_csv(\"pokemon.csv\")\n", @@ -130,10 +169,253 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "579d8dda-ca39-48b1-8819-b17651029729", - "metadata": {}, - "outputs": [], + "metadata": { + "tags": [] + }, + "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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
nametypesubtypetotalhpattackdefensespecial_attackspecial_defensespeedgenerationlegendary
0BulbasaurGrassPoison3184549496565451False
1IvysaurGrassPoison4056062638080601False
2VenusaurGrassPoison525808283100100801False
3VenusaurMega VenusaurGrassPoison62580100123122120801False
4CharmanderFireNaN3093952436050651False
.......................................
795DiancieRockFairy60050100150100150506True
796DiancieMega DiancieRockFairy700501601101601101106True
797HoopaHoopa ConfinedPsychicGhost6008011060150130706True
798HoopaHoopa UnboundPsychicDark6808016060170130806True
799VolcanionFireWater6008011012013090706True
\n", + "

800 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " name type subtype total hp attack defense \\\n", + "0 Bulbasaur Grass Poison 318 45 49 49 \n", + "1 Ivysaur Grass Poison 405 60 62 63 \n", + "2 Venusaur Grass Poison 525 80 82 83 \n", + "3 VenusaurMega Venusaur Grass Poison 625 80 100 123 \n", + "4 Charmander Fire NaN 309 39 52 43 \n", + ".. ... ... ... ... .. ... ... \n", + "795 Diancie Rock Fairy 600 50 100 150 \n", + "796 DiancieMega Diancie Rock Fairy 700 50 160 110 \n", + "797 HoopaHoopa Confined Psychic Ghost 600 80 110 60 \n", + "798 HoopaHoopa Unbound Psychic Dark 680 80 160 60 \n", + "799 Volcanion Fire Water 600 80 110 120 \n", + "\n", + " special_attack special_defense speed generation legendary \n", + "0 65 65 45 1 False \n", + "1 80 80 60 1 False \n", + "2 100 100 80 1 False \n", + "3 122 120 80 1 False \n", + "4 60 50 65 1 False \n", + ".. ... ... ... ... ... \n", + "795 100 150 50 6 True \n", + "796 160 110 110 6 True \n", + "797 150 130 70 6 True \n", + "798 170 130 80 6 True \n", + "799 130 90 70 6 True \n", + "\n", + "[800 rows x 12 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pokemon" ] @@ -152,12 +434,242 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "c9e5e4ec-b197-450c-ae2d-318006fa0a2f", "metadata": {}, - "outputs": [], + "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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + "
agesexincomeeducationsexual_orientationheightweighthealthno_doctorexercisesleep
055female52other1.5583.012TrueTrue7
165female81heterosexual1.6578.023FalseFalse8
235female84heterosexual1.6577.114TrueTrue7
355male84heterosexual1.8381.655FalseTrue8
455female84heterosexual1.8076.664FalseTrue8
....................................
16642045female83heterosexual1.6386.181FalseFalse6
16642125male72heterosexual1.7886.184FalseTrue6
16642225female12heterosexual1.9145.361FalseFalse8
16642335female54heterosexual1.6068.044TrueTrue6
16642435male72heterosexual1.7586.183FalseFalse8
\n", + "

166425 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " age sex income education sexual_orientation height weight \\\n", + "0 55 female 5 2 other 1.55 83.01 \n", + "1 65 female 8 1 heterosexual 1.65 78.02 \n", + "2 35 female 8 4 heterosexual 1.65 77.11 \n", + "3 55 male 8 4 heterosexual 1.83 81.65 \n", + "4 55 female 8 4 heterosexual 1.80 76.66 \n", + "... ... ... ... ... ... ... ... \n", + "166420 45 female 8 3 heterosexual 1.63 86.18 \n", + "166421 25 male 7 2 heterosexual 1.78 86.18 \n", + "166422 25 female 1 2 heterosexual 1.91 45.36 \n", + "166423 35 female 5 4 heterosexual 1.60 68.04 \n", + "166424 35 male 7 2 heterosexual 1.75 86.18 \n", + "\n", + " health no_doctor exercise sleep \n", + "0 2 True True 7 \n", + "1 3 False False 8 \n", + "2 4 True True 7 \n", + "3 5 False True 8 \n", + "4 4 False True 8 \n", + "... ... ... ... ... \n", + "166420 1 False False 6 \n", + "166421 4 False True 6 \n", + "166422 1 False False 8 \n", + "166423 4 True True 6 \n", + "166424 3 False False 8 \n", + "\n", + "[166425 rows x 11 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here" + "# Your code here\n", + "people" ] }, { @@ -174,10 +686,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "9afca362-9edc-423c-981b-dc42107d5de0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "generation\n", + "1 166\n", + "5 165\n", + "3 160\n", + "4 121\n", + "2 106\n", + "6 82\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pokemon.generation.value_counts()" ] @@ -192,10 +722,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "5fe580d0-5939-4152-9f8c-4c32d35a4479", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "hp 69.25875\n", + "attack 79.00125\n", + "defense 73.84250\n", + "speed 68.27750\n", + "dtype: float64" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pokemon[[\"hp\", \"attack\", \"defense\", \"speed\"]].mean()" ] @@ -210,10 +755,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "dc69ef53-70cd-4ae0-80e7-c9c8e28de76f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "np.float64(0.08125)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pokemon.legendary.mean()" ] @@ -238,12 +794,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "8fbcc766-8399-4f93-a6c8-e0607250a72a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "age\n", + "65 0.336326\n", + "55 0.206369\n", + "45 0.157669\n", + "35 0.135527\n", + "25 0.108866\n", + "18 0.055244\n", + "Name: proportion, dtype: float64" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here" + "# Your code here\n", + "people.age.value_counts(normalize=True)" ] }, { @@ -256,12 +831,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "b7f910c8-3d40-49ae-b270-678734c04100", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "height 1.705082\n", + "weight 83.053588\n", + "dtype: float64" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here" + "# Your code here\n", + "people[[\"height\", \"weight\"]].mean()" ] }, { @@ -274,12 +863,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "f3891188-a85f-4089-8388-d4d81c7438ad", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "exercise\n", + "True 0.785801\n", + "False 0.214199\n", + "Name: proportion, dtype: float64" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here" + "# Your code here\n", + "people.exercise.value_counts(normalize=True)" ] }, { @@ -297,10 +901,251 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "12c0c6c9-c07b-4183-82f6-5e346c74aac9", "metadata": {}, - "outputs": [], + "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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
nametypesubtypetotalhpattackdefensespecial_attackspecial_defensespeedgenerationlegendary
156ArticunoIceFlying580908510095125851True
157ZapdosElectricFlying580909085125901001True
158MoltresFireFlying580901009012585901True
162MewtwoPsychicNaN68010611090154901301True
163MewtwoMega Mewtwo XPsychicFighting7801061901001541001301True
.......................................
795DiancieRockFairy60050100150100150506True
796DiancieMega DiancieRockFairy700501601101601101106True
797HoopaHoopa ConfinedPsychicGhost6008011060150130706True
798HoopaHoopa UnboundPsychicDark6808016060170130806True
799VolcanionFireWater6008011012013090706True
\n", + "

65 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " name type subtype total hp attack defense \\\n", + "156 Articuno Ice Flying 580 90 85 100 \n", + "157 Zapdos Electric Flying 580 90 90 85 \n", + "158 Moltres Fire Flying 580 90 100 90 \n", + "162 Mewtwo Psychic NaN 680 106 110 90 \n", + "163 MewtwoMega Mewtwo X Psychic Fighting 780 106 190 100 \n", + ".. ... ... ... ... ... ... ... \n", + "795 Diancie Rock Fairy 600 50 100 150 \n", + "796 DiancieMega Diancie Rock Fairy 700 50 160 110 \n", + "797 HoopaHoopa Confined Psychic Ghost 600 80 110 60 \n", + "798 HoopaHoopa Unbound Psychic Dark 680 80 160 60 \n", + "799 Volcanion Fire Water 600 80 110 120 \n", + "\n", + " special_attack special_defense speed generation legendary \n", + "156 95 125 85 1 True \n", + "157 125 90 100 1 True \n", + "158 125 85 90 1 True \n", + "162 154 90 130 1 True \n", + "163 154 100 130 1 True \n", + ".. ... ... ... ... ... \n", + "795 100 150 50 6 True \n", + "796 160 110 110 6 True \n", + "797 150 130 70 6 True \n", + "798 170 130 80 6 True \n", + "799 130 90 70 6 True \n", + "\n", + "[65 rows x 12 columns]" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "legendary = pokemon[pokemon.legendary]\n", "legendary" @@ -316,10 +1161,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "5d089acf-7b76-4f91-8803-42a4a9a11e3e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0 False\n", + "1 False\n", + "2 False\n", + "3 False\n", + "4 False\n", + " ... \n", + "795 False\n", + "796 False\n", + "797 False\n", + "798 False\n", + "799 False\n", + "Name: type, Length: 800, dtype: bool" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pokemon.type == \"Ice\"" ] @@ -334,10 +1201,469 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "510fa0fc-2b38-4725-9bbf-ec57d62792be", "metadata": {}, - "outputs": [], + "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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + "
nametypesubtypetotalhpattackdefensespecial_attackspecial_defensespeedgenerationlegendary
133JynxIcePsychic45565503511595951False
156ArticunoIceFlying580908510095125851True
238SwinubIceGround2505050403030502False
239PiloswineIceGround450100100806060502False
243DelibirdIceFlying3304555456545752False
257SmoochumIcePsychic3054530158565652False
395SnoruntIceNaN3005050505050503False
396GlalieIceNaN4808080808080803False
397GlalieMega GlalieIceNaN5808012080120801003False
398SphealIceWater2907040505550253False
399SealeoIceWater4109060707570453False
400WalreinIceWater53011080909590653False
415RegiceIceNaN5808050100100200503True
522GlaceonIceNaN525656011013095654False
524MamoswineIceGround530110130807060804False
530FroslassIceGhost48070807080701104False
643VanilliteIceNaN3053650506560445False
644VanillishIceNaN3955165658075595False
645VanilluxeIceNaN53571958511095795False
674CubchooIceNaN3055570406040405False
675BearticIceNaN48595110807080505False
676CryogonalIceNaN485705030951351055False
788BergmiteIceNaN3045569853235286False
789AvaluggIceNaN514951171844446286False
\n", + "
" + ], + "text/plain": [ + " name type subtype total hp attack defense \\\n", + "133 Jynx Ice Psychic 455 65 50 35 \n", + "156 Articuno Ice Flying 580 90 85 100 \n", + "238 Swinub Ice Ground 250 50 50 40 \n", + "239 Piloswine Ice Ground 450 100 100 80 \n", + "243 Delibird Ice Flying 330 45 55 45 \n", + "257 Smoochum Ice Psychic 305 45 30 15 \n", + "395 Snorunt Ice NaN 300 50 50 50 \n", + "396 Glalie Ice NaN 480 80 80 80 \n", + "397 GlalieMega Glalie Ice NaN 580 80 120 80 \n", + "398 Spheal Ice Water 290 70 40 50 \n", + "399 Sealeo Ice Water 410 90 60 70 \n", + "400 Walrein Ice Water 530 110 80 90 \n", + "415 Regice Ice NaN 580 80 50 100 \n", + "522 Glaceon Ice NaN 525 65 60 110 \n", + "524 Mamoswine Ice Ground 530 110 130 80 \n", + "530 Froslass Ice Ghost 480 70 80 70 \n", + "643 Vanillite Ice NaN 305 36 50 50 \n", + "644 Vanillish Ice NaN 395 51 65 65 \n", + "645 Vanilluxe Ice NaN 535 71 95 85 \n", + "674 Cubchoo Ice NaN 305 55 70 40 \n", + "675 Beartic Ice NaN 485 95 110 80 \n", + "676 Cryogonal Ice NaN 485 70 50 30 \n", + "788 Bergmite Ice NaN 304 55 69 85 \n", + "789 Avalugg Ice NaN 514 95 117 184 \n", + "\n", + " special_attack special_defense speed generation legendary \n", + "133 115 95 95 1 False \n", + "156 95 125 85 1 True \n", + "238 30 30 50 2 False \n", + "239 60 60 50 2 False \n", + "243 65 45 75 2 False \n", + "257 85 65 65 2 False \n", + "395 50 50 50 3 False \n", + "396 80 80 80 3 False \n", + "397 120 80 100 3 False \n", + "398 55 50 25 3 False \n", + "399 75 70 45 3 False \n", + "400 95 90 65 3 False \n", + "415 100 200 50 3 True \n", + "522 130 95 65 4 False \n", + "524 70 60 80 4 False \n", + "530 80 70 110 4 False \n", + "643 65 60 44 5 False \n", + "644 80 75 59 5 False \n", + "645 110 95 79 5 False \n", + "674 60 40 40 5 False \n", + "675 70 80 50 5 False \n", + "676 95 135 105 5 False \n", + "788 32 35 28 6 False \n", + "789 44 46 28 6 False " + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ice = pokemon[pokemon.type == \"Ice\"]\n", "ice" @@ -353,10 +1679,180 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "05d4c5c2-c6b4-4795-9799-c884b15445a1", "metadata": {}, - "outputs": [], + "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", + " \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", + " \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", + "
nametypesubtypetotalhpattackdefensespecial_attackspecial_defensespeedgenerationlegendary
133JynxIcePsychic45565503511595951False
156ArticunoIceFlying580908510095125851True
396GlalieIceNaN4808080808080803False
397GlalieMega GlalieIceNaN5808012080120801003False
524MamoswineIceGround530110130807060804False
530FroslassIceGhost48070807080701104False
676CryogonalIceNaN485705030951351055False
\n", + "
" + ], + "text/plain": [ + " name type subtype total hp attack defense \\\n", + "133 Jynx Ice Psychic 455 65 50 35 \n", + "156 Articuno Ice Flying 580 90 85 100 \n", + "396 Glalie Ice NaN 480 80 80 80 \n", + "397 GlalieMega Glalie Ice NaN 580 80 120 80 \n", + "524 Mamoswine Ice Ground 530 110 130 80 \n", + "530 Froslass Ice Ghost 480 70 80 70 \n", + "676 Cryogonal Ice NaN 485 70 50 30 \n", + "\n", + " special_attack special_defense speed generation legendary \n", + "133 115 95 95 1 False \n", + "156 95 125 85 1 True \n", + "396 80 80 80 3 False \n", + "397 120 80 100 3 False \n", + "524 70 60 80 4 False \n", + "530 80 70 110 4 False \n", + "676 95 135 105 5 False " + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "high_speed_ice = pokemon[(pokemon.type == \"Ice\") & (pokemon.speed >= 80)]\n", "high_speed_ice" @@ -382,12 +1878,243 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "198cb0c6-3f43-43c2-9eee-3939c12ea537", "metadata": {}, - "outputs": [], + "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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + "
agesexincomeeducationsexual_orientationheightweighthealthno_doctorexercisesleep
055female52other1.5583.012TrueTrue7
235female84heterosexual1.6577.114TrueTrue7
2435male83heterosexual1.7394.354TrueFalse8
5035female42heterosexual1.7881.654TrueFalse10
6645female64heterosexual1.5772.574TrueTrue7
....................................
16640718male52heterosexual1.6868.043TrueTrue8
16640925male62heterosexual1.5758.514TrueFalse7
16641455female83heterosexual1.6388.453TrueFalse6
16641665female52heterosexual1.5055.343TrueFalse6
16642335female54heterosexual1.6068.044TrueTrue6
\n", + "

13784 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " age sex income education sexual_orientation height weight \\\n", + "0 55 female 5 2 other 1.55 83.01 \n", + "2 35 female 8 4 heterosexual 1.65 77.11 \n", + "24 35 male 8 3 heterosexual 1.73 94.35 \n", + "50 35 female 4 2 heterosexual 1.78 81.65 \n", + "66 45 female 6 4 heterosexual 1.57 72.57 \n", + "... ... ... ... ... ... ... ... \n", + "166407 18 male 5 2 heterosexual 1.68 68.04 \n", + "166409 25 male 6 2 heterosexual 1.57 58.51 \n", + "166414 55 female 8 3 heterosexual 1.63 88.45 \n", + "166416 65 female 5 2 heterosexual 1.50 55.34 \n", + "166423 35 female 5 4 heterosexual 1.60 68.04 \n", + "\n", + " health no_doctor exercise sleep \n", + "0 2 True True 7 \n", + "2 4 True True 7 \n", + "24 4 True False 8 \n", + "50 4 True False 10 \n", + "66 4 True True 7 \n", + "... ... ... ... ... \n", + "166407 3 True True 8 \n", + "166409 4 True False 7 \n", + "166414 3 True False 6 \n", + "166416 3 True False 6 \n", + "166423 4 True True 6 \n", + "\n", + "[13784 rows x 11 columns]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "no_doctor = people[people.no_doctor]\n", + "no_doctor" ] }, { @@ -408,12 +2135,243 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "8a8c1ad6-4c1e-4996-ab5e-5212dadb1851", "metadata": {}, - "outputs": [], + "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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + "
agesexincomeeducationsexual_orientationheightweighthealthno_doctorexercisesleep
165female81heterosexual1.6578.023FalseFalse8
235female84heterosexual1.6577.114TrueTrue7
355male84heterosexual1.8381.655FalseTrue8
455female84heterosexual1.8076.664FalseTrue8
555male84heterosexual1.8074.845FalseTrue7
....................................
16641855male72heterosexual1.5763.503FalseTrue8
16641945female82heterosexual1.5268.043FalseTrue7
16642125male72heterosexual1.7886.184FalseTrue6
16642335female54heterosexual1.6068.044TrueTrue6
16642435male72heterosexual1.7586.183FalseFalse8
\n", + "

142249 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " age sex income education sexual_orientation height weight \\\n", + "1 65 female 8 1 heterosexual 1.65 78.02 \n", + "2 35 female 8 4 heterosexual 1.65 77.11 \n", + "3 55 male 8 4 heterosexual 1.83 81.65 \n", + "4 55 female 8 4 heterosexual 1.80 76.66 \n", + "5 55 male 8 4 heterosexual 1.80 74.84 \n", + "... ... ... ... ... ... ... ... \n", + "166418 55 male 7 2 heterosexual 1.57 63.50 \n", + "166419 45 female 8 2 heterosexual 1.52 68.04 \n", + "166421 25 male 7 2 heterosexual 1.78 86.18 \n", + "166423 35 female 5 4 heterosexual 1.60 68.04 \n", + "166424 35 male 7 2 heterosexual 1.75 86.18 \n", + "\n", + " health no_doctor exercise sleep \n", + "1 3 False False 8 \n", + "2 4 True True 7 \n", + "3 5 False True 8 \n", + "4 4 False True 8 \n", + "5 5 False True 7 \n", + "... ... ... ... ... \n", + "166418 3 False True 8 \n", + "166419 3 False True 7 \n", + "166421 4 False True 6 \n", + "166423 4 True True 6 \n", + "166424 3 False False 8 \n", + "\n", + "[142249 rows x 11 columns]" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "good_or_better = people[people[\"health\"] >= 3]\n", + "good_or_better" ] }, { @@ -433,12 +2391,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "id": "315682ae-7d54-4d78-9a63-d23c83ba1576", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0 True\n", + "1 True\n", + "2 True\n", + "3 True\n", + "4 True\n", + " ... \n", + "166420 True\n", + "166421 True\n", + "166422 True\n", + "166423 True\n", + "166424 True\n", + "Length: 166425, dtype: bool" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "(people[\"education\"] == 4) | (people[\"sex\"] == \"Female\") | (people[\"no_doctor\"] -- True)\n" ] }, { @@ -457,10 +2438,40 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "id": "069ea0ab-eff6-4985-9f46-db956fe1df91", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "type\n", + "Fairy 48.588235\n", + "Steel 55.259259\n", + "Rock 55.909091\n", + "Bug 61.681159\n", + "Grass 61.928571\n", + "Ice 63.458333\n", + "Poison 63.571429\n", + "Ground 63.906250\n", + "Ghost 64.343750\n", + "Water 65.964286\n", + "Fighting 66.074074\n", + "Normal 71.551020\n", + "Fire 74.442308\n", + "Dark 76.161290\n", + "Psychic 81.491228\n", + "Dragon 83.031250\n", + "Electric 84.500000\n", + "Flying 102.500000\n", + "Name: speed, dtype: float64" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pokemon.groupby(\"type\").speed.mean().sort_values()" ] @@ -475,10 +2486,183 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "id": "5c420c0e-b5d2-49ae-ab98-3305ee076169", "metadata": {}, - "outputs": [], + "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", + " \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", + " \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", + "
hpattackdefense
type
Bug56.88405870.97101470.724638
Electric59.79545569.09090966.295455
Ghost64.43750073.78125081.187500
Steel65.22222292.703704126.370370
Rock65.36363692.863636100.795455
Dark66.80645288.38709770.225806
Poison67.25000074.67857168.821429
Grass67.27142973.21428670.800000
Fighting69.85185296.77777865.925926
Fire69.90384684.76923167.769231
Psychic70.63157971.45614067.684211
Flying70.75000078.75000066.250000
Ice72.00000072.75000071.416667
Water72.06250074.15178672.946429
Ground73.78125095.75000084.843750
Fairy74.11764761.52941265.705882
Normal77.27551073.46938859.846939
Dragon83.312500112.12500086.375000
\n", + "
" + ], + "text/plain": [ + " hp attack defense\n", + "type \n", + "Bug 56.884058 70.971014 70.724638\n", + "Electric 59.795455 69.090909 66.295455\n", + "Ghost 64.437500 73.781250 81.187500\n", + "Steel 65.222222 92.703704 126.370370\n", + "Rock 65.363636 92.863636 100.795455\n", + "Dark 66.806452 88.387097 70.225806\n", + "Poison 67.250000 74.678571 68.821429\n", + "Grass 67.271429 73.214286 70.800000\n", + "Fighting 69.851852 96.777778 65.925926\n", + "Fire 69.903846 84.769231 67.769231\n", + "Psychic 70.631579 71.456140 67.684211\n", + "Flying 70.750000 78.750000 66.250000\n", + "Ice 72.000000 72.750000 71.416667\n", + "Water 72.062500 74.151786 72.946429\n", + "Ground 73.781250 95.750000 84.843750\n", + "Fairy 74.117647 61.529412 65.705882\n", + "Normal 77.275510 73.469388 59.846939\n", + "Dragon 83.312500 112.125000 86.375000" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ptypes = pokemon.groupby(\"type\")\n", "ptypes[[\"hp\", \"attack\", \"defense\"]].mean().sort_values(\"hp\")" @@ -494,10 +2678,38 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "id": "444a580d-e70c-48a1-bf87-77f98b8c9f85", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "type subtype \n", + "Electric Flying 0.600000\n", + "Rock Fairy 0.666667\n", + "Ghost Dragon 1.000000\n", + "Fire Water 1.000000\n", + "Dragon Fire 1.000000\n", + " Electric 1.000000\n", + " Ice 1.000000\n", + " Psychic 1.000000\n", + "Steel Dragon 1.000000\n", + " Fighting 1.000000\n", + "Psychic Ghost 1.000000\n", + "Rock Fighting 1.000000\n", + "Psychic Fire 1.000000\n", + " Dark 1.000000\n", + "Ground Fire 1.000000\n", + "Fire Steel 1.000000\n", + "Name: legendary, dtype: float64" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "legendary_percentages = pokemon.groupby([\"type\", \"subtype\"]).legendary.mean().sort_values() \n", "legendary_percentages[legendary_percentages > 0.5]" @@ -526,12 +2738,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 45, "id": "75c1ac4f-3914-4c0a-a156-2e084002df66", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "income\n", + "1 6.952208\n", + "2 6.985627\n", + "6 7.055784\n", + "8 7.074626\n", + "7 7.078495\n", + "4 7.079627\n", + "3 7.083274\n", + "5 7.100286\n", + "Name: sleep, dtype: float64" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "sleep_by_income = people.groupby(\"income\")[\"sleep\"].mean().sort_values()\n", + "sleep_by_income" ] }, { @@ -544,12 +2778,118 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "id": "d46df8a1-bbc2-45a4-9be1-cee1858cbf21", "metadata": {}, - "outputs": [], + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
incomehealth
sexeducation
male47.1905823.826512
female46.9606523.844340
male36.2702303.549105
female35.7793903.483379
male25.7428763.440818
female25.0490223.315797
male14.4330093.031525
female13.5547012.848040
\n", + "
" + ], + "text/plain": [ + " income health\n", + "sex education \n", + "male 4 7.190582 3.826512\n", + "female 4 6.960652 3.844340\n", + "male 3 6.270230 3.549105\n", + "female 3 5.779390 3.483379\n", + "male 2 5.742876 3.440818\n", + "female 2 5.049022 3.315797\n", + "male 1 4.433009 3.031525\n", + "female 1 3.554701 2.848040" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# YOUR CODE HERE" + "# YOUR CODE HERE\n", + "income_health_by_sex_education = people.groupby([\"sex\", \"education\"])[[\"income\", \"health\"]].mean()\n", + "sort_income_health = income_health_by_sex_education.sort_values(by=[\"income\", \"health\"], ascending=[False, False])\n", + "sort_income_health" ] }, { @@ -566,10 +2906,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "id": "b1e06e4f-6b9e-42af-a27c-dbb525a259ce", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'distutils'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[50], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mseaborn\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01msns\u001b[39;00m\n\u001b[1;32m 2\u001b[0m sns\u001b[38;5;241m.\u001b[39mset_theme()\n", + "File \u001b[0;32m~/Library/Caches/pypoetry/virtualenvs/lab-pokemon-KFqK_8Wh-py3.12/lib/python3.12/site-packages/seaborn/__init__.py:2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Import seaborn objects\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mrcmod\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m \u001b[38;5;66;03m# noqa: F401,F403\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m \u001b[38;5;66;03m# noqa: F401,F403\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mpalettes\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m \u001b[38;5;66;03m# noqa: F401,F403\u001b[39;00m\n", + "File \u001b[0;32m~/Library/Caches/pypoetry/virtualenvs/lab-pokemon-KFqK_8Wh-py3.12/lib/python3.12/site-packages/seaborn/rcmod.py:4\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mwarnings\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mfunctools\u001b[39;00m\n\u001b[0;32m----> 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mdistutils\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mversion\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m LooseVersion\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mmatplotlib\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mmpl\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mcycler\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m cycler\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'distutils'" + ] + } + ], "source": [ "import seaborn as sns\n", "sns.set_theme()" @@ -589,20 +2943,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "id": "5ce066fe-f81d-4b78-a394-c5c2f4dc9f46", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'sns' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[51], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43msns\u001b[49m\u001b[38;5;241m.\u001b[39mhistplot(data\u001b[38;5;241m=\u001b[39mpokemon, x\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mattack\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "\u001b[0;31mNameError\u001b[0m: name 'sns' is not defined" + ] + } + ], "source": [ "sns.histplot(data=pokemon, x=\"attack\")" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "id": "bceb253b-ef4f-4aa2-aef4-cab2b3ca6d59", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'sns' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[52], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43msns\u001b[49m\u001b[38;5;241m.\u001b[39mhistplot(data\u001b[38;5;241m=\u001b[39mpokemon, y\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mattack\u001b[39m\u001b[38;5;124m\"\u001b[39m, bins\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m5\u001b[39m)\n", + "\u001b[0;31mNameError\u001b[0m: name 'sns' is not defined" + ] + } + ], "source": [ "sns.histplot(data=pokemon, y=\"attack\", bins=5)" ] @@ -897,7 +3275,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.3" + "version": "3.12.6" } }, "nbformat": 4,