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",
+ " Name | \n",
+ " Type 1 | \n",
+ " Type 2 | \n",
+ " Total | \n",
+ " HP | \n",
+ " Attack | \n",
+ " Defense | \n",
+ " Sp. Atk | \n",
+ " Sp. Def | \n",
+ " Speed | \n",
+ " Generation | \n",
+ " Legendary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " Bulbasaur | \n",
+ " Grass | \n",
+ " Poison | \n",
+ " 318 | \n",
+ " 45 | \n",
+ " 49 | \n",
+ " 49 | \n",
+ " 65 | \n",
+ " 65 | \n",
+ " 45 | \n",
+ " 1 | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2 | \n",
+ " Ivysaur | \n",
+ " Grass | \n",
+ " Poison | \n",
+ " 405 | \n",
+ " 60 | \n",
+ " 62 | \n",
+ " 63 | \n",
+ " 80 | \n",
+ " 80 | \n",
+ " 60 | \n",
+ " 1 | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3 | \n",
+ " Venusaur | \n",
+ " Grass | \n",
+ " Poison | \n",
+ " 525 | \n",
+ " 80 | \n",
+ " 82 | \n",
+ " 83 | \n",
+ " 100 | \n",
+ " 100 | \n",
+ " 80 | \n",
+ " 1 | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 3 | \n",
+ " VenusaurMega Venusaur | \n",
+ " Grass | \n",
+ " Poison | \n",
+ " 625 | \n",
+ " 80 | \n",
+ " 100 | \n",
+ " 123 | \n",
+ " 122 | \n",
+ " 120 | \n",
+ " 80 | \n",
+ " 1 | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 4 | \n",
+ " Charmander | \n",
+ " Fire | \n",
+ " NaN | \n",
+ " 309 | \n",
+ " 39 | \n",
+ " 52 | \n",
+ " 43 | \n",
+ " 60 | \n",
+ " 50 | \n",
+ " 65 | \n",
+ " 1 | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 795 | \n",
+ " 719 | \n",
+ " Diancie | \n",
+ " Rock | \n",
+ " Fairy | \n",
+ " 600 | \n",
+ " 50 | \n",
+ " 100 | \n",
+ " 150 | \n",
+ " 100 | \n",
+ " 150 | \n",
+ " 50 | \n",
+ " 6 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 796 | \n",
+ " 719 | \n",
+ " DiancieMega Diancie | \n",
+ " Rock | \n",
+ " Fairy | \n",
+ " 700 | \n",
+ " 50 | \n",
+ " 160 | \n",
+ " 110 | \n",
+ " 160 | \n",
+ " 110 | \n",
+ " 110 | \n",
+ " 6 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 797 | \n",
+ " 720 | \n",
+ " HoopaHoopa Confined | \n",
+ " Psychic | \n",
+ " Ghost | \n",
+ " 600 | \n",
+ " 80 | \n",
+ " 110 | \n",
+ " 60 | \n",
+ " 150 | \n",
+ " 130 | \n",
+ " 70 | \n",
+ " 6 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 798 | \n",
+ " 720 | \n",
+ " HoopaHoopa Unbound | \n",
+ " Psychic | \n",
+ " Dark | \n",
+ " 680 | \n",
+ " 80 | \n",
+ " 160 | \n",
+ " 60 | \n",
+ " 170 | \n",
+ " 130 | \n",
+ " 80 | \n",
+ " 6 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 799 | \n",
+ " 721 | \n",
+ " Volcanion | \n",
+ " Fire | \n",
+ " Water | \n",
+ " 600 | \n",
+ " 80 | \n",
+ " 110 | \n",
+ " 120 | \n",
+ " 130 | \n",
+ " 90 | \n",
+ " 70 | \n",
+ " 6 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " Name | \n",
+ " Type 1 | \n",
+ " Type 2 | \n",
+ " Total | \n",
+ " HP | \n",
+ " Attack | \n",
+ " Defense | \n",
+ " Sp. Atk | \n",
+ " Sp. Def | \n",
+ " Speed | \n",
+ " Generation | \n",
+ " Legendary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " Bulbasaur | \n",
+ " Grass | \n",
+ " Poison | \n",
+ " 318 | \n",
+ " 45 | \n",
+ " 49 | \n",
+ " 49 | \n",
+ " 65 | \n",
+ " 65 | \n",
+ " 45 | \n",
+ " 1 | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2 | \n",
+ " Ivysaur | \n",
+ " Grass | \n",
+ " Poison | \n",
+ " 405 | \n",
+ " 60 | \n",
+ " 62 | \n",
+ " 63 | \n",
+ " 80 | \n",
+ " 80 | \n",
+ " 60 | \n",
+ " 1 | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3 | \n",
+ " Venusaur | \n",
+ " Grass | \n",
+ " Poison | \n",
+ " 525 | \n",
+ " 80 | \n",
+ " 82 | \n",
+ " 83 | \n",
+ " 100 | \n",
+ " 100 | \n",
+ " 80 | \n",
+ " 1 | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 3 | \n",
+ " VenusaurMega Venusaur | \n",
+ " Grass | \n",
+ " Poison | \n",
+ " 625 | \n",
+ " 80 | \n",
+ " 100 | \n",
+ " 123 | \n",
+ " 122 | \n",
+ " 120 | \n",
+ " 80 | \n",
+ " 1 | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 4 | \n",
+ " Charmander | \n",
+ " Fire | \n",
+ " NaN | \n",
+ " 309 | \n",
+ " 39 | \n",
+ " 52 | \n",
+ " 43 | \n",
+ " 60 | \n",
+ " 50 | \n",
+ " 65 | \n",
+ " 1 | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 795 | \n",
+ " 719 | \n",
+ " Diancie | \n",
+ " Rock | \n",
+ " Fairy | \n",
+ " 600 | \n",
+ " 50 | \n",
+ " 100 | \n",
+ " 150 | \n",
+ " 100 | \n",
+ " 150 | \n",
+ " 50 | \n",
+ " 6 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 796 | \n",
+ " 719 | \n",
+ " DiancieMega Diancie | \n",
+ " Rock | \n",
+ " Fairy | \n",
+ " 700 | \n",
+ " 50 | \n",
+ " 160 | \n",
+ " 110 | \n",
+ " 160 | \n",
+ " 110 | \n",
+ " 110 | \n",
+ " 6 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 797 | \n",
+ " 720 | \n",
+ " HoopaHoopa Confined | \n",
+ " Psychic | \n",
+ " Ghost | \n",
+ " 600 | \n",
+ " 80 | \n",
+ " 110 | \n",
+ " 60 | \n",
+ " 150 | \n",
+ " 130 | \n",
+ " 70 | \n",
+ " 6 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 798 | \n",
+ " 720 | \n",
+ " HoopaHoopa Unbound | \n",
+ " Psychic | \n",
+ " Dark | \n",
+ " 680 | \n",
+ " 80 | \n",
+ " 160 | \n",
+ " 60 | \n",
+ " 170 | \n",
+ " 130 | \n",
+ " 80 | \n",
+ " 6 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 799 | \n",
+ " 721 | \n",
+ " Volcanion | \n",
+ " Fire | \n",
+ " Water | \n",
+ " 600 | \n",
+ " 80 | \n",
+ " 110 | \n",
+ " 120 | \n",
+ " 130 | \n",
+ " 90 | \n",
+ " 70 | \n",
+ " 6 | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ "
\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,