From 5df025d2fa8584a569fc931655cc3f08ecdea3d8 Mon Sep 17 00:00:00 2001 From: Mariana Sousa Date: Mon, 14 Aug 2023 09:09:06 +0100 Subject: [PATCH] marianaslab --- your-code/challenge-1.ipynb | 443 ++++++++++++++++++- your-code/challenge-2.ipynb | 860 +++++++++++++++++++++++++++++++++++- 2 files changed, 1261 insertions(+), 42 deletions(-) diff --git a/your-code/challenge-1.ipynb b/your-code/challenge-1.ipynb index c1bb43d..9bbc9e7 100755 --- a/your-code/challenge-1.ipynb +++ b/your-code/challenge-1.ipynb @@ -19,12 +19,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "# Import libraries\n", - "import pandas as pd" + "import pandas as pd\n", + "import scipy.stats as st" ] }, { @@ -38,11 +39,266 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "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", + "
#NameType 1Type 2TotalHPAttackDefenseSp. AtkSp. DefSpeedGenerationLegendary
01BulbasaurGrassPoison3184549496565451False
12IvysaurGrassPoison4056062638080601False
23VenusaurGrassPoison525808283100100801False
33VenusaurMega VenusaurGrassPoison62580100123122120801False
44CharmanderFireNaN3093952436050651False
..........................................
795719DiancieRockFairy60050100150100150506True
796719DiancieMega DiancieRockFairy700501601101601101106True
797720HoopaHoopa ConfinedPsychicGhost6008011060150130706True
798720HoopaHoopa UnboundPsychicDark6808016060170130806True
799721VolcanionFireWater6008011012013090706True
\n", + "

800 rows × 13 columns

\n", + "
" + ], + "text/plain": [ + " # Name Type 1 Type 2 Total HP Attack Defense \\\n", + "0 1 Bulbasaur Grass Poison 318 45 49 49 \n", + "1 2 Ivysaur Grass Poison 405 60 62 63 \n", + "2 3 Venusaur Grass Poison 525 80 82 83 \n", + "3 3 VenusaurMega Venusaur Grass Poison 625 80 100 123 \n", + "4 4 Charmander Fire NaN 309 39 52 43 \n", + ".. ... ... ... ... ... .. ... ... \n", + "795 719 Diancie Rock Fairy 600 50 100 150 \n", + "796 719 DiancieMega Diancie Rock Fairy 700 50 160 110 \n", + "797 720 HoopaHoopa Confined Psychic Ghost 600 80 110 60 \n", + "798 720 HoopaHoopa Unbound Psychic Dark 680 80 160 60 \n", + "799 721 Volcanion Fire Water 600 80 110 120 \n", + "\n", + " Sp. Atk Sp. Def 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 13 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here:\n" + "pokemon = pd.read_csv(\"Pokemon.csv\")\n", + "\n", + "pokemon" ] }, { @@ -101,11 +357,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'HP': 0.9999675115046219,\n", + " 'Attack': 0.9999932605561772,\n", + " 'Defense': 0.9987058533555631,\n", + " 'Sp. Atk': 0.9999999980695343,\n", + " 'Sp. Def': 0.9999802749265376,\n", + " 'Speed': 0.9999999279704885,\n", + " 'Total': 0.9999999999992627}" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "s1 = pokemon[pokemon[\"Legendary\"] == True].sample(30)\n", + "s2 = pokemon[pokemon[\"Legendary\"] == False].sample(30)\n", + "\n", + "\n", + "def t_test_features(s1, s2, features=['HP', 'Attack', 'Defense', 'Sp. Atk', 'Sp. Def', 'Speed', 'Total']):\n", + "\n", + " # H0: s1 >= s1\n", + " # H1: s1 < s2\n", + " \n", + " results = {}\n", + "\n", + " for feature in features:\n", + " s1_feat = s1[feature]\n", + " s2_feat = s2[feature]\n", + " comparisson = st.ttest_ind(s1_feat, s2_feat, equal_var = False, alternative = \"less\")\n", + " results[feature] = comparisson[1]\n", + " \n", + " return results\n", + "\n", + "t_test_features(s1, s2)" ] }, { @@ -121,7 +413,11 @@ "metadata": {}, "outputs": [], "source": [ - "# Your comment here" + "\"\"\"\n", + "the hypothesis testing was written asking if legendary was better then now leganday, \n", + "and considering alpha of 0.05, the p_value is higher, so we can not reject H0.\n", + "\n", + "\"\"\"" ] }, { @@ -133,11 +429,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'HP': 0.25052144652297403,\n", + " 'Attack': 0.8183784082508618,\n", + " 'Defense': 0.4643894041910319,\n", + " 'Sp. Atk': 0.6434381215549088,\n", + " 'Sp. Def': 0.21933631485908756,\n", + " 'Speed': 0.9929974325449799,\n", + " 'Total': 0.6838082622002561}" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "g1 = pokemon[pokemon[\"Generation\"] == 1].sample(30)\n", + "g2 = pokemon[pokemon[\"Generation\"] == 2].sample(30)\n", + "\n", + "t_test_features(g1, g2)" ] }, { @@ -153,7 +469,12 @@ "metadata": {}, "outputs": [], "source": [ - "# Your comment here" + "\"\"\"\n", + "bevause the hypothesis testing was written asking if the first sample was better then\n", + "the second, considering alpha of 0.05, the p_value is higher than alpha,\n", + "so we can not reject H0, genartion has lower stats than genartion 2. \n", + "\n", + "\"\"\"" ] }, { @@ -165,11 +486,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'HP': 0.5286862866259925,\n", + " 'Attack': 0.1900703787560598,\n", + " 'Defense': 0.010966260292938948,\n", + " 'Sp. Atk': 0.0893271995813489,\n", + " 'Sp. Def': 0.03740935449523961,\n", + " 'Speed': 0.09902067481567688,\n", + " 'Total': 0.026764794187512174}" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "t1 = pokemon[(~pokemon[\"Type 1\"].isnull()) & (pokemon[\"Type 2\"].isnull())].sample(30)\n", + "\n", + "\n", + "t2 = pokemon[(~pokemon[\"Type 1\"].isnull()) & (~pokemon[\"Type 2\"].isnull())].sample(30)\n", + "\n", + "t_test_features(t1, t2)" ] }, { @@ -185,7 +528,8 @@ "metadata": {}, "outputs": [], "source": [ - "# Your comment here" + "# because H0 is t1 performing better than t2, in some feature p velue is higher\n", + "# than 0.05, so the power between these two groups is balanced." ] }, { @@ -199,11 +543,59 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 75, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "TtestResult(statistic=2.87298989306378, pvalue=0.9970025172273599, df=49)" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "# same population\n", + "\n", + "# H0 : attack => defense\n", + "# H1 : attack < defense\n", + "\n", + "pokemon_sample = pokemon[[\"Attack\", \"Defense\"]].sample(50).reset_index()\n", + "\n", + "pokemon_sample\n", + "\n", + "st.ttest_rel(pokemon_sample[\"Attack\"], pokemon_sample[\"Defense\"], alternative = \"less\")" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "TtestResult(statistic=0.9184603577316814, pvalue=0.8185614911403802, df=49)" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# H0 : SP. attack => SP. defense\n", + "# H1 : SP. attack < SP. defense\n", + "\n", + "\n", + "pokemon_sample = pokemon[[\"Sp. Atk\", \"Sp. Def\"]].sample(50).reset_index()\n", + "\n", + "pokemon_sample\n", + "\n", + "st.ttest_rel(pokemon_sample[\"Sp. Atk\"], pokemon_sample[\"Sp. Def\"], alternative = \"less\")" ] }, { @@ -219,13 +611,18 @@ "metadata": {}, "outputs": [], "source": [ - "# Your comment here" + "# because H0 is attack higher than defense and p velue is higher\n", + "# than 0.05, i can NOT REJECT H0.\n", + "\n", + "\n", + "# because H0 is SP. attack higher than SP. defense and p velue is higher\n", + "# than 0.05, i can NOT REJECT H0." ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -239,7 +636,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.10.9" } }, "nbformat": 4, diff --git a/your-code/challenge-2.ipynb b/your-code/challenge-2.ipynb index 1f0e335..37a896f 100755 --- a/your-code/challenge-2.ipynb +++ b/your-code/challenge-2.ipynb @@ -17,21 +17,281 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Import libraries\n", - "import pandas as pd" + "\n", + "import pandas as pd\n", + "import numpy as np\n", + "import scipy.stats as st\n", + "import matplotlib.pyplot as plt\n", + "\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "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", + "
#NameType 1Type 2TotalHPAttackDefenseSp. AtkSp. DefSpeedGenerationLegendary
01BulbasaurGrassPoison3184549496565451False
12IvysaurGrassPoison4056062638080601False
23VenusaurGrassPoison525808283100100801False
33VenusaurMega VenusaurGrassPoison62580100123122120801False
44CharmanderFireNaN3093952436050651False
..........................................
795719DiancieRockFairy60050100150100150506True
796719DiancieMega DiancieRockFairy700501601101601101106True
797720HoopaHoopa ConfinedPsychicGhost6008011060150130706True
798720HoopaHoopa UnboundPsychicDark6808016060170130806True
799721VolcanionFireWater6008011012013090706True
\n", + "

800 rows × 13 columns

\n", + "
" + ], + "text/plain": [ + " # Name Type 1 Type 2 Total HP Attack Defense \\\n", + "0 1 Bulbasaur Grass Poison 318 45 49 49 \n", + "1 2 Ivysaur Grass Poison 405 60 62 63 \n", + "2 3 Venusaur Grass Poison 525 80 82 83 \n", + "3 3 VenusaurMega Venusaur Grass Poison 625 80 100 123 \n", + "4 4 Charmander Fire NaN 309 39 52 43 \n", + ".. ... ... ... ... ... .. ... ... \n", + "795 719 Diancie Rock Fairy 600 50 100 150 \n", + "796 719 DiancieMega Diancie Rock Fairy 700 50 160 110 \n", + "797 720 HoopaHoopa Confined Psychic Ghost 600 80 110 60 \n", + "798 720 HoopaHoopa Unbound Psychic Dark 680 80 160 60 \n", + "799 721 Volcanion Fire Water 600 80 110 120 \n", + "\n", + " Sp. Atk Sp. Def 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 13 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Load the data:\n" + "pokemon = pd.read_csv(\"Pokemon.csv\")\n", + "\n", + "pokemon" ] }, { @@ -58,14 +318,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Grass', 'Fire', 'Water', 'Bug', 'Normal', 'Poison', 'Electric',\n", + " 'Ground', 'Fairy', 'Fighting', 'Psychic', 'Rock', 'Ghost', 'Ice',\n", + " 'Dragon', 'Dark', 'Steel', 'Flying'], dtype=object)" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n", + "unique_types = pd.concat([pokemon[\"Type 1\"], pokemon [\"Type 2\"]]).dropna().unique()\n", "\n", + "len(unique_types) # you should see 19\n", "\n", - "len(unique_types) # you should see 19" + "unique_types" ] }, { @@ -85,15 +359,549 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[0 318\n", + " 1 405\n", + " 2 525\n", + " 3 625\n", + " 48 320\n", + " ... \n", + " 718 313\n", + " 719 405\n", + " 720 530\n", + " 740 350\n", + " 741 531\n", + " Name: Total, Length: 70, dtype: int64,\n", + " 4 309\n", + " 5 405\n", + " 6 534\n", + " 7 634\n", + " 8 634\n", + " 42 299\n", + " 43 505\n", + " 63 350\n", + " 64 555\n", + " 83 410\n", + " 84 500\n", + " 135 495\n", + " 147 525\n", + " 158 580\n", + " 169 309\n", + " 170 405\n", + " 171 534\n", + " 236 250\n", + " 237 410\n", + " 259 365\n", + " 263 580\n", + " 270 680\n", + " 276 310\n", + " 277 405\n", + " 278 530\n", + " 279 630\n", + " 352 305\n", + " 353 460\n", + " 354 560\n", + " 355 470\n", + " 435 309\n", + " 436 405\n", + " 437 534\n", + " 518 540\n", + " 542 600\n", + " 557 308\n", + " 558 418\n", + " 559 528\n", + " 572 316\n", + " 573 498\n", + " 614 315\n", + " 615 480\n", + " 616 540\n", + " 692 484\n", + " 721 307\n", + " 722 409\n", + " 723 534\n", + " 730 382\n", + " 731 499\n", + " 735 369\n", + " 736 507\n", + " 799 600\n", + " Name: Total, dtype: int64,\n", + " 9 314\n", + " 10 405\n", + " 11 530\n", + " 12 630\n", + " 59 320\n", + " ... \n", + " 724 314\n", + " 725 405\n", + " 726 530\n", + " 762 330\n", + " 763 500\n", + " Name: Total, Length: 112, dtype: int64,\n", + " 13 195\n", + " 14 205\n", + " 15 395\n", + " 16 195\n", + " 17 205\n", + " ... \n", + " 698 550\n", + " 717 600\n", + " 732 200\n", + " 733 213\n", + " 734 411\n", + " Name: Total, Length: 69, dtype: int64,\n", + " 20 251\n", + " 21 349\n", + " 22 479\n", + " 23 579\n", + " 24 253\n", + " ... \n", + " 716 600\n", + " 727 237\n", + " 728 423\n", + " 729 278\n", + " 744 472\n", + " Name: Total, Length: 98, dtype: int64,\n", + " 28 288\n", + " 29 438\n", + " 34 275\n", + " 35 365\n", + " 36 505\n", + " 37 273\n", + " 38 365\n", + " 39 505\n", + " 46 245\n", + " 47 455\n", + " 95 325\n", + " 96 500\n", + " 117 340\n", + " 118 490\n", + " 183 535\n", + " 345 302\n", + " 346 467\n", + " 368 458\n", + " 482 329\n", + " 483 479\n", + " 501 330\n", + " 502 500\n", + " 503 300\n", + " 504 490\n", + " 629 329\n", + " 630 474\n", + " 760 320\n", + " 761 494\n", + " Name: Total, dtype: int64,\n", + " 30 320\n", + " 31 485\n", + " 88 325\n", + " 89 465\n", + " 108 330\n", + " 109 480\n", + " 134 490\n", + " 146 525\n", + " 157 580\n", + " 186 205\n", + " 193 280\n", + " 194 365\n", + " 195 510\n", + " 196 610\n", + " 258 360\n", + " 262 580\n", + " 337 295\n", + " 338 475\n", + " 339 575\n", + " 340 405\n", + " 341 405\n", + " 448 263\n", + " 449 363\n", + " 450 523\n", + " 464 405\n", + " 513 535\n", + " 517 540\n", + " 531 440\n", + " 532 520\n", + " 533 520\n", + " 534 520\n", + " 535 520\n", + " 536 520\n", + " 581 295\n", + " 582 497\n", + " 648 428\n", + " 663 275\n", + " 664 405\n", + " 665 515\n", + " 704 580\n", + " 705 580\n", + " 764 289\n", + " 765 481\n", + " 772 431\n", + " Name: Total, dtype: int64,\n", + " 32 300\n", + " 33 450\n", + " 55 265\n", + " 56 405\n", + " 112 320\n", + " 113 425\n", + " 119 345\n", + " 120 485\n", + " 222 430\n", + " 250 330\n", + " 251 500\n", + " 359 290\n", + " 360 340\n", + " 361 520\n", + " 375 300\n", + " 376 500\n", + " 423 670\n", + " 424 770\n", + " 499 330\n", + " 500 525\n", + " 515 535\n", + " 523 510\n", + " 588 328\n", + " 589 508\n", + " 611 292\n", + " 612 351\n", + " 613 519\n", + " 679 471\n", + " 683 303\n", + " 684 483\n", + " 708 600\n", + " 709 600\n", + " Name: Total, dtype: int64,\n", + " 40 323\n", + " 41 483\n", + " 187 218\n", + " 189 245\n", + " 190 405\n", + " 225 300\n", + " 226 450\n", + " 519 545\n", + " 737 303\n", + " 738 371\n", + " 739 552\n", + " 752 341\n", + " 753 462\n", + " 754 341\n", + " 755 480\n", + " 770 525\n", + " 792 680\n", + " Name: Total, dtype: int64,\n", + " 61 305\n", + " 62 455\n", + " 72 305\n", + " 73 405\n", + " 74 505\n", + " 114 455\n", + " 115 455\n", + " 255 210\n", + " 256 455\n", + " 320 237\n", + " 321 474\n", + " 334 280\n", + " 335 410\n", + " 336 510\n", + " 496 285\n", + " 497 525\n", + " 498 625\n", + " 592 305\n", + " 593 405\n", + " 594 505\n", + " 598 465\n", + " 599 465\n", + " 680 350\n", + " 681 510\n", + " 742 348\n", + " 743 495\n", + " 771 500\n", + " Name: Total, dtype: int64,\n", + " 68 310\n", + " 69 400\n", + " 70 500\n", + " 71 590\n", + " 104 328\n", + " 105 483\n", + " 131 460\n", + " 162 680\n", + " 163 780\n", + " 164 780\n", + " 165 600\n", + " 191 320\n", + " 192 470\n", + " 211 525\n", + " 216 336\n", + " 217 405\n", + " 269 680\n", + " 271 600\n", + " 303 198\n", + " 304 278\n", + " 305 518\n", + " 306 618\n", + " 356 330\n", + " 357 470\n", + " 391 425\n", + " 394 260\n", + " 428 600\n", + " 429 600\n", + " 430 600\n", + " 431 600\n", + " 481 285\n", + " 487 310\n", + " 526 518\n", + " 527 618\n", + " 537 580\n", + " 538 580\n", + " 539 580\n", + " 546 600\n", + " 553 600\n", + " 576 292\n", + " 577 487\n", + " 586 313\n", + " 587 425\n", + " 622 490\n", + " 635 290\n", + " 636 390\n", + " 637 490\n", + " 638 290\n", + " 639 370\n", + " 640 490\n", + " 666 335\n", + " 667 485\n", + " 745 355\n", + " 746 466\n", + " 747 466\n", + " 797 600\n", + " 798 680\n", + " Name: Total, dtype: int64,\n", + " 80 300\n", + " 81 390\n", + " 82 495\n", + " 103 385\n", + " 149 355\n", + " 150 495\n", + " 151 355\n", + " 152 495\n", + " 153 515\n", + " 154 615\n", + " 200 410\n", + " 265 300\n", + " 266 410\n", + " 267 600\n", + " 268 700\n", + " 323 375\n", + " 369 440\n", + " 370 440\n", + " 377 355\n", + " 378 495\n", + " 379 355\n", + " 380 495\n", + " 414 580\n", + " 453 350\n", + " 454 495\n", + " 455 350\n", + " 456 495\n", + " 486 290\n", + " 528 525\n", + " 583 280\n", + " 584 390\n", + " 585 515\n", + " 627 401\n", + " 628 567\n", + " 700 580\n", + " 758 306\n", + " 759 500\n", + " 766 362\n", + " 767 521\n", + " 768 362\n", + " 769 521\n", + " 773 500\n", + " 795 600\n", + " 796 700\n", + " Name: Total, dtype: int64,\n", + " 99 310\n", + " 100 405\n", + " 101 500\n", + " 102 600\n", + " 215 435\n", + " 385 295\n", + " 386 455\n", + " 387 555\n", + " 388 295\n", + " 389 455\n", + " 472 348\n", + " 473 498\n", + " 477 495\n", + " 490 485\n", + " 529 525\n", + " 544 680\n", + " 545 680\n", + " 623 303\n", + " 624 483\n", + " 668 275\n", + " 669 370\n", + " 670 520\n", + " 778 309\n", + " 779 474\n", + " 780 335\n", + " 781 335\n", + " 782 335\n", + " 783 335\n", + " 784 494\n", + " 785 494\n", + " 786 494\n", + " 787 494\n", + " Name: Total, dtype: int64,\n", + " 133 455\n", + " 156 580\n", + " 238 250\n", + " 239 450\n", + " 243 330\n", + " 257 305\n", + " 395 300\n", + " 396 480\n", + " 397 580\n", + " 398 290\n", + " 399 410\n", + " 400 530\n", + " 415 580\n", + " 522 525\n", + " 524 530\n", + " 530 480\n", + " 643 305\n", + " 644 395\n", + " 645 535\n", + " 674 305\n", + " 675 485\n", + " 676 485\n", + " 788 304\n", + " 789 514\n", + " Name: Total, dtype: int64,\n", + " 159 300\n", + " 160 420\n", + " 161 600\n", + " 365 490\n", + " 366 590\n", + " 406 300\n", + " 407 420\n", + " 408 600\n", + " 409 700\n", + " 417 600\n", + " 418 700\n", + " 419 600\n", + " 420 700\n", + " 425 680\n", + " 426 780\n", + " 491 300\n", + " 492 410\n", + " 493 600\n", + " 494 700\n", + " 671 320\n", + " 672 410\n", + " 673 540\n", + " 682 485\n", + " 706 680\n", + " 707 680\n", + " 710 660\n", + " 711 700\n", + " 712 700\n", + " 774 300\n", + " 775 452\n", + " 776 600\n", + " 794 600\n", + " Name: Total, dtype: int64,\n", + " 212 525\n", + " 213 405\n", + " 233 430\n", + " 246 330\n", + " 247 500\n", + " 248 600\n", + " 284 220\n", + " 285 420\n", + " 326 380\n", + " 327 480\n", + " 392 465\n", + " 393 565\n", + " 478 505\n", + " 512 510\n", + " 549 600\n", + " 568 281\n", + " 569 446\n", + " 620 348\n", + " 621 488\n", + " 631 330\n", + " 632 510\n", + " 685 340\n", + " 686 490\n", + " 690 370\n", + " 691 510\n", + " 694 300\n", + " 695 420\n", + " 696 600\n", + " 756 288\n", + " 757 482\n", + " 793 680\n", + " Name: Total, dtype: int64,\n", + " 223 510\n", + " 224 610\n", + " 245 465\n", + " 328 380\n", + " 329 480\n", + " 330 330\n", + " 331 430\n", + " 332 530\n", + " 333 630\n", + " 410 300\n", + " 411 420\n", + " 412 600\n", + " 413 700\n", + " 416 580\n", + " 427 600\n", + " 484 300\n", + " 485 500\n", + " 540 680\n", + " 660 300\n", + " 661 440\n", + " 662 520\n", + " 699 580\n", + " 748 325\n", + " 749 448\n", + " 750 520\n", + " 751 520\n", + " 777 470\n", + " Name: Total, dtype: int64,\n", + " 702 580\n", + " 703 580\n", + " 790 245\n", + " 791 535\n", + " Name: Total, dtype: int64]" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ + "\n", + "### i can only consider one type, not both. I am not sure if i understood the question.\n", + "\n", + "\n", "pokemon_totals = []\n", "\n", - "# Your code here\n", + "for type in unique_types:\n", + " total = pokemon[(pokemon[\"Type 1\"] == type)][\"Total\"]\n", + " pokemon_totals.append(total)\n", + " \n", + " \n", + " \n", "\n", - "len(pokemon_totals) # you should see 18" + "len(pokemon_totals) # you should see 18\n", + "\n", + "#pokemon_totals" ] }, { @@ -111,11 +919,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "F_onewayResult(statistic=4.63876748166055, pvalue=2.077215448842098e-09)" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "#H0: grass = fire = poison = .....\n", + "#H1: grass != fire != poison !=....\n", + "\n", + "st.f_oneway(*pokemon_totals)" ] }, { @@ -131,13 +953,13 @@ "metadata": {}, "outputs": [], "source": [ - "# Your comment here" + "# p value e lower than 0.05 which means that all the types have different totals" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -151,7 +973,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.10.9" } }, "nbformat": 4,