diff --git a/lab-hypothesis-testing.ipynb b/lab-hypothesis-testing.ipynb index 0cc26d5..88869d8 100644 --- a/lab-hypothesis-testing.ipynb +++ b/lab-hypothesis-testing.ipynb @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -51,7 +51,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -278,7 +278,7 @@ "[800 rows x 11 columns]" ] }, - "execution_count": 3, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -297,11 +297,67 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dragon: n=32, mean=83.31, sd=23.80\n", + "Grass : n=70, mean=67.27, sd=19.52\n", + "Welch t = 3.335, df ≈ 50.8, one-sided p = 0.0007994\n", + "Mean difference (Dragon - Grass) = 16.04 [95% CI: 6.38, 25.70]\n", + "Hedges' g = 0.760\n" + ] + } + ], "source": [ - "#code here" + "#code here\n", + "type_col = \"Type 1\" if \"Type 1\" in df.columns else (\n", + " \"type\" if \"type\" in df.columns else [c for c in df.columns if \"type\" in c.lower()][0]\n", + ")\n", + "\n", + "# Extract HP for Dragon vs Grass\n", + "dragon = df.loc[df[type_col].str.lower() == \"dragon\", \"HP\"].dropna().astype(float)\n", + "grass = df.loc[df[type_col].str.lower() == \"grass\", \"HP\"].dropna().astype(float)\n", + "\n", + "print(f\"Dragon: n={len(dragon)}, mean={dragon.mean():.2f}, sd={dragon.std(ddof=1):.2f}\")\n", + "print(f\"Grass : n={len(grass)}, mean={grass.mean():.2f}, sd={grass.std(ddof=1):.2f}\")\n", + "\n", + "# One-sided Welch's t-test: H0: mu_Dragon <= mu_Grass vs H1: mu_Dragon > mu_Grass\n", + "try:\n", + " # SciPy ≥ 1.9 supports 'alternative'\n", + " res = st.ttest_ind(dragon, grass, equal_var=False, alternative='greater')\n", + " tstat, p_one = res.statistic, res.pvalue\n", + " # compute Welch DOF for CI/effect size if you want\n", + " s1, s2 = dragon.var(ddof=1), grass.var(ddof=1)\n", + " n1, n2 = len(dragon), len(grass)\n", + " se = np.sqrt(s1/n1 + s2/n2)\n", + " dof = (s1/n1 + s2/n2)**2 / ((s1**2)/((n1**2)*(n1-1)) + (s2**2)/((n2**2)*(n2-1)))\n", + "except TypeError:\n", + " # Fallback for older SciPy: compute one-sided p manually\n", + " s1, s2 = dragon.var(ddof=1), grass.var(ddof=1)\n", + " n1, n2 = len(dragon), len(grass)\n", + " se = np.sqrt(s1/n1 + s2/n2)\n", + " tstat = (dragon.mean() - grass.mean()) / se\n", + " dof = (s1/n1 + s2/n2)**2 / ((s1**2)/((n1**2)*(n1-1)) + (s2**2)/((n2**2)*(n2-1)))\n", + " p_one = st.t.sf(tstat, dof) # one-sided tail\n", + "\n", + "print(f\"Welch t = {tstat:.3f}, df ≈ {dof:.1f}, one-sided p = {p_one:.4g}\")\n", + "\n", + "# (Optional) 95% CI for the mean difference (two-sided)\n", + "diff = dragon.mean() - grass.mean()\n", + "tcrit = st.t.ppf(0.975, dof)\n", + "ci_low, ci_high = diff - tcrit*se, diff + tcrit*se\n", + "print(f\"Mean difference (Dragon - Grass) = {diff:.2f} [95% CI: {ci_low:.2f}, {ci_high:.2f}]\")\n", + "\n", + "# (Optional) Effect size (Hedges' g)\n", + "sp2 = ((n1-1)*s1 + (n2-1)*s2) / (n1+n2-2) # pooled variance\n", + "d = diff / np.sqrt(sp2) # Cohen's d\n", + "J = 1 - 3/(4*(n1+n2)-9) # small-sample correction\n", + "g = J * d\n", + "print(f\"Hedges' g = {g:.3f}\")\n" ] }, { @@ -313,11 +369,117 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " stat mean_legendary mean_nonlegend diff(L-N) hedges_g p_raw p_holm reject_0.05\n", + "Sp. Atk 122.184615 68.454422 53.730194 1.834685 1.551461e-21 9.308768e-21 True\n", + " Speed 100.184615 65.455782 34.728833 1.262463 1.049016e-18 5.245082e-18 True\n", + " Attack 116.676923 75.669388 41.007535 1.344181 2.520372e-16 1.008149e-15 True\n", + "Sp. Def 105.938462 68.892517 37.045945 1.426976 2.294933e-15 6.884798e-15 True\n", + " HP 92.738462 67.182313 25.556149 1.038922 1.002691e-13 2.005382e-13 True\n", + "Defense 99.661538 71.559184 28.102355 0.928401 4.826998e-11 4.826998e-11 True\n", + "\n", + "MANOVA (Pillai’s trace):\n", + " Multivariate linear model\n", + "================================================================\n", + " \n", + "----------------------------------------------------------------\n", + " Intercept Value Num DF Den DF F Value Pr > F\n", + "----------------------------------------------------------------\n", + " Wilks' lambda 0.0592 6.0000 793.0000 2100.8338 0.0000\n", + " Pillai's trace 0.9408 6.0000 793.0000 2100.8338 0.0000\n", + " Hotelling-Lawley trace 15.8953 6.0000 793.0000 2100.8338 0.0000\n", + " Roy's greatest root 15.8953 6.0000 793.0000 2100.8338 0.0000\n", + "----------------------------------------------------------------\n", + " \n", + "----------------------------------------------------------------\n", + " C(LegendaryFlag) Value Num DF Den DF F Value Pr > F\n", + "----------------------------------------------------------------\n", + " Wilks' lambda 0.7331 6.0000 793.0000 48.1098 0.0000\n", + " Pillai's trace 0.2669 6.0000 793.0000 48.1098 0.0000\n", + " Hotelling-Lawley trace 0.3640 6.0000 793.0000 48.1098 0.0000\n", + " Roy's greatest root 0.3640 6.0000 793.0000 48.1098 0.0000\n", + "================================================================\n", + "\n" + ] + } + ], "source": [ - "#code here" + "#code here\n", + "# Columns\n", + "flag_col = \"Legendary\" if \"Legendary\" in df.columns else [c for c in df.columns if \"legend\" in c.lower()][0]\n", + "stats_cols = [\"HP\",\"Attack\",\"Defense\",\"Sp. Atk\",\"Sp. Def\",\"Speed\"]\n", + "stats_cols = [c for c in stats_cols if c in df.columns] # keep only those present\n", + "\n", + "# Split groups\n", + "leg = df[df[flag_col] == True][stats_cols].astype(float)\n", + "non = df[df[flag_col] == False][stats_cols].astype(float)\n", + "\n", + "# Per-stat Welch t-tests (two-sided) + effect size\n", + "rows = []\n", + "for col in stats_cols:\n", + " x, y = leg[col].dropna().values, non[col].dropna().values\n", + " res = st.ttest_ind(x, y, equal_var=False) # two-sided\n", + " # Hedges' g\n", + " n1, n2 = len(x), len(y)\n", + " s1, s2 = np.var(x, ddof=1), np.var(y, ddof=1)\n", + " sp2 = ((n1-1)*s1 + (n2-1)*s2) / (n1+n2-2)\n", + " d = (x.mean() - y.mean()) / np.sqrt(sp2)\n", + " J = 1 - 3/(4*(n1+n2)-9) # small-sample correction\n", + " g = J*d\n", + " rows.append({\n", + " \"stat\": col,\n", + " \"mean_legendary\": x.mean(),\n", + " \"mean_nonlegend\": y.mean(),\n", + " \"diff(L-N)\": x.mean()-y.mean(),\n", + " \"t\": res.statistic,\n", + " \"p_raw\": res.pvalue,\n", + " \"hedges_g\": g\n", + " })\n", + "\n", + "out = pd.DataFrame(rows)\n", + "\n", + "# Multiple-comparison correction (Holm)\n", + "try:\n", + " from statsmodels.stats.multitest import multipletests\n", + " rej, p_holm, _, _ = multipletests(out[\"p_raw\"], method=\"holm\")\n", + " out[\"p_holm\"] = p_holm\n", + " out[\"reject_0.05\"] = rej\n", + "except Exception:\n", + " # simple Holm fallback\n", + " order = np.argsort(out[\"p_raw\"].values)\n", + " m = len(out)\n", + " holm = np.empty(m); holm[:] = np.nan\n", + " for rank, idx in enumerate(order, start=1):\n", + " holm[idx] = (m - rank + 1) * out.loc[idx, \"p_raw\"]\n", + " # monotone adjustment\n", + " for i in range(1, m):\n", + " holm[order[i]] = max(holm[order[i]], holm[order[i-1]])\n", + " out[\"p_holm\"] = np.clip(holm, 0, 1)\n", + " out[\"reject_0.05\"] = out[\"p_holm\"] < 0.05\n", + "\n", + "# Nicely sorted table\n", + "print(out.sort_values(\"p_holm\")[[\"stat\",\"mean_legendary\",\"mean_nonlegend\",\"diff(L-N)\",\"hedges_g\",\"p_raw\",\"p_holm\",\"reject_0.05\"]]\n", + " .to_string(index=False))\n", + "\n", + "# (Optional) Global multivariate test (MANOVA)\n", + "try:\n", + " from statsmodels.multivariate.manova import MANOVA\n", + " # make a temporary df with clean column names for formula\n", + " tmp = df[[flag_col]+stats_cols].dropna().copy()\n", + " tmp = tmp.rename(columns={flag_col:\"LegendaryFlag\",\n", + " \"Sp. Atk\":\"Sp_Atk\",\"Sp. Def\":\"Sp_Def\"})\n", + " formula = \"HP + Attack + Defense + Sp_Atk + Sp_Def + Speed ~ C(LegendaryFlag)\"\n", + " manova = MANOVA.from_formula(formula, data=tmp)\n", + " print(\"\\nMANOVA (Pillai’s trace):\")\n", + " print(manova.mv_test()) # look at Pillai/ Wilks p-values\n", + "except Exception as e:\n", + " print(\"\\nMANOVA skipped (statsmodels not available or column names differ).\")\n" ] }, { @@ -337,7 +499,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -453,7 +615,7 @@ "4 624.0 262.0 1.9250 65500.0 " ] }, - "execution_count": 5, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -483,10 +645,87 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Close: n=6829, mean=$246,952\n", + "Far : n=10171, mean=$180,678\n", + "Welch t = 37.992, df ≈ 14571.2, one-sided p = 1.503e-301, diff = $66,274\n", + "Hedges' g = 0.595\n", + "Mann–Whitney U one-sided p = 0\n" + ] + } + ], + "source": [ + "# 0) Load\n", + "df = pd.read_csv(\"https://raw.githubusercontent.com/data-bootcamp-v4/data/main/california_housing.csv\")\n", + "\n", + "# 1) Columns\n", + "lon_col = next(c for c in df.columns if \"long\" in c.lower()) # 'longitude'\n", + "lat_col = next(c for c in df.columns if \"lat\" in c.lower()) # 'latitude'\n", + "price_col = next(c for c in df.columns if \"median_house_value\" in c.lower())\n", + "\n", + "# 2) Distances (euclidean on lon/lat degrees, as hinted)\n", + "school = (-118.0, 34.0)\n", + "hospital = (-122.0, 37.0)\n", + "\n", + "def euclid_xy(x1, y1, x2, y2):\n", + " return np.sqrt((x1 - x2)**2 + (y1 - y2)**2)\n", + "\n", + "df[\"dist_school\"] = euclid_xy(df[lon_col], df[lat_col], school[0], school[1])\n", + "df[\"dist_hospital\"] = euclid_xy(df[lon_col], df[lat_col], hospital[0], hospital[1])\n", + "df[\"dist_min\"] = df[[\"dist_school\",\"dist_hospital\"]].min(axis=1)\n", + "\n", + "# 3) Close vs Far\n", + "threshold = 0.50 # per instructions\n", + "df[\"close\"] = df[\"dist_min\"] < threshold\n", + "\n", + "# 4) Prepare groups\n", + "close_vals = df.loc[df[\"close\"], price_col].dropna().astype(float)\n", + "far_vals = df.loc[~df[\"close\"], price_col].dropna().astype(float)\n", + "\n", + "print(f\"Close: n={len(close_vals)}, mean=${close_vals.mean():,.0f}\")\n", + "print(f\"Far : n={len(far_vals)}, mean=${far_vals.mean():,.0f}\")\n", + "\n", + "# 5) Hypothesis test (one-sided Welch t-test)\n", + "# H0: mu_close <= mu_far vs H1: mu_close > mu_far\n", + "try:\n", + " # SciPy >= 1.9 supports 'alternative'\n", + " res = st.ttest_ind(close_vals, far_vals, equal_var=False, alternative=\"greater\")\n", + " tstat, p_one = res.statistic, res.pvalue\n", + "except TypeError:\n", + " # manual one-sided from two-sided\n", + " res = st.ttest_ind(close_vals, far_vals, equal_var=False)\n", + " tstat = res.statistic\n", + " p_one = st.t.sf(tstat, df=min(len(close_vals)-1, len(far_vals)-1)) # conservative df\n", + "\n", + "# Welch SE & dof (for reporting)\n", + "s1, s2 = close_vals.var(ddof=1), far_vals.var(ddof=1)\n", + "n1, n2 = len(close_vals), len(far_vals)\n", + "se = np.sqrt(s1/n1 + s2/n2)\n", + "dof = (s1/n1 + s2/n2)**2 / ((s1**2)/((n1**2)*(n1-1)) + (s2**2)/((n2**2)*(n2-1)))\n", + "\n", + "diff = close_vals.mean() - far_vals.mean()\n", + "print(f\"Welch t = {tstat:.3f}, df ≈ {dof:.1f}, one-sided p = {p_one:.4g}, diff = ${diff:,.0f}\")\n", + "\n", + "# 6) Effect size (Hedges' g)\n", + "sp2 = ((n1-1)*s1 + (n2-1)*s2) / (n1+n2-2)\n", + "d = diff / np.sqrt(sp2)\n", + "J = 1 - 3/(4*(n1+n2)-9)\n", + "g = J*d\n", + "print(f\"Hedges' g = {g:.3f}\")\n", + "\n", + "# 7) (Optional) Robustness: one-sided Mann–Whitney U (close > far)\n", + "try:\n", + " u_stat, p_mwu = st.mannwhitneyu(close_vals, far_vals, alternative=\"greater\")\n", + " print(f\"Mann–Whitney U one-sided p = {p_mwu:.4g}\")\n", + "except TypeError:\n", + " pass\n" + ] }, { "cell_type": "code", @@ -498,7 +737,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "base", "language": "python", "name": "python3" }, @@ -512,7 +751,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.12.7" } }, "nbformat": 4, diff --git a/pokemon.csv b/pokemon.csv new file mode 100644 index 0000000..f349cbc --- /dev/null +++ b/pokemon.csv @@ -0,0 +1,801 @@ +Name,Type 1,Type 2,HP,Attack,Defense,Sp. Atk,Sp. Def,Speed,Generation,Legendary +Bulbasaur,Grass,Poison,45,49,49,65,65,45,1,False +Ivysaur,Grass,Poison,60,62,63,80,80,60,1,False +Venusaur,Grass,Poison,80,82,83,100,100,80,1,False +Mega Venusaur,Grass,Poison,80,100,123,122,120,80,1,False +Charmander,Fire,,39,52,43,60,50,65,1,False +Charmeleon,Fire,,58,64,58,80,65,80,1,False +Charizard,Fire,Flying,78,84,78,109,85,100,1,False +Mega Charizard X,Fire,Dragon,78,130,111,130,85,100,1,False +Mega Charizard Y,Fire,Flying,78,104,78,159,115,100,1,False +Squirtle,Water,,44,48,65,50,64,43,1,False +Wartortle,Water,,59,63,80,65,80,58,1,False +Blastoise,Water,,79,83,100,85,105,78,1,False +Mega Blastoise,Water,,79,103,120,135,115,78,1,False +Caterpie,Bug,,45,30,35,20,20,45,1,False +Metapod,Bug,,50,20,55,25,25,30,1,False +Butterfree,Bug,Flying,60,45,50,90,80,70,1,False +Weedle,Bug,Poison,40,35,30,20,20,50,1,False +Kakuna,Bug,Poison,45,25,50,25,25,35,1,False +Beedrill,Bug,Poison,65,90,40,45,80,75,1,False +Mega Beedrill,Bug,Poison,65,150,40,15,80,145,1,False +Pidgey,Normal,Flying,40,45,40,35,35,56,1,False +Pidgeotto,Normal,Flying,63,60,55,50,50,71,1,False +Pidgeot,Normal,Flying,83,80,75,70,70,101,1,False +Mega Pidgeot,Normal,Flying,83,80,80,135,80,121,1,False +Rattata,Normal,,30,56,35,25,35,72,1,False +Raticate,Normal,,55,81,60,50,70,97,1,False +Spearow,Normal,Flying,40,60,30,31,31,70,1,False +Fearow,Normal,Flying,65,90,65,61,61,100,1,False +Ekans,Poison,,35,60,44,40,54,55,1,False +Arbok,Poison,,60,85,69,65,79,80,1,False +Pikachu,Electric,,35,55,40,50,50,90,1,False +Raichu,Electric,,60,90,55,90,80,110,1,False +Sandshrew,Ground,,50,75,85,20,30,40,1,False +Sandslash,Ground,,75,100,110,45,55,65,1,False +Nidoran♀,Poison,,55,47,52,40,40,41,1,False +Nidorina,Poison,,70,62,67,55,55,56,1,False +Nidoqueen,Poison,Ground,90,92,87,75,85,76,1,False +Nidoran♂,Poison,,46,57,40,40,40,50,1,False +Nidorino,Poison,,61,72,57,55,55,65,1,False +Nidoking,Poison,Ground,81,102,77,85,75,85,1,False +Clefairy,Fairy,,70,45,48,60,65,35,1,False +Clefable,Fairy,,95,70,73,95,90,60,1,False +Vulpix,Fire,,38,41,40,50,65,65,1,False +Ninetales,Fire,,73,76,75,81,100,100,1,False +Jigglypuff,Normal,Fairy,115,45,20,45,25,20,1,False +Wigglytuff,Normal,Fairy,140,70,45,85,50,45,1,False +Zubat,Poison,Flying,40,45,35,30,40,55,1,False +Golbat,Poison,Flying,75,80,70,65,75,90,1,False +Oddish,Grass,Poison,45,50,55,75,65,30,1,False +Gloom,Grass,Poison,60,65,70,85,75,40,1,False +Vileplume,Grass,Poison,75,80,85,110,90,50,1,False +Paras,Bug,Grass,35,70,55,45,55,25,1,False +Parasect,Bug,Grass,60,95,80,60,80,30,1,False +Venonat,Bug,Poison,60,55,50,40,55,45,1,False +Venomoth,Bug,Poison,70,65,60,90,75,90,1,False +Diglett,Ground,,10,55,25,35,45,95,1,False +Dugtrio,Ground,,35,80,50,50,70,120,1,False +Meowth,Normal,,40,45,35,40,40,90,1,False +Persian,Normal,,65,70,60,65,65,115,1,False +Psyduck,Water,,50,52,48,65,50,55,1,False +Golduck,Water,,80,82,78,95,80,85,1,False +Mankey,Fighting,,40,80,35,35,45,70,1,False +,Fighting,,65,105,60,60,70,95,1,False +Growlithe,Fire,,55,70,45,70,50,60,1,False +Arcanine,Fire,,90,110,80,100,80,95,1,False +Poliwag,Water,,40,50,40,40,40,90,1,False +Poliwhirl,Water,,65,65,65,50,50,90,1,False +Poliwrath,Water,Fighting,90,95,95,70,90,70,1,False +Abra,Psychic,,25,20,15,105,55,90,1,False +Kadabra,Psychic,,40,35,30,120,70,105,1,False +Alakazam,Psychic,,55,50,45,135,95,120,1,False +Mega Alakazam,Psychic,,55,50,65,175,95,150,1,False +Machop,Fighting,,70,80,50,35,35,35,1,False +Machoke,Fighting,,80,100,70,50,60,45,1,False +Machamp,Fighting,,90,130,80,65,85,55,1,False +Bellsprout,Grass,Poison,50,75,35,70,30,40,1,False +Weepinbell,Grass,Poison,65,90,50,85,45,55,1,False +Victreebel,Grass,Poison,80,105,65,100,70,70,1,False +Tentacool,Water,Poison,40,40,35,50,100,70,1,False +Tentacruel,Water,Poison,80,70,65,80,120,100,1,False +Geodude,Rock,Ground,40,80,100,30,30,20,1,False +Graveler,Rock,Ground,55,95,115,45,45,35,1,False +Golem,Rock,Ground,80,120,130,55,65,45,1,False +Ponyta,Fire,,50,85,55,65,65,90,1,False +Rapidash,Fire,,65,100,70,80,80,105,1,False +Slowpoke,Water,Psychic,90,65,65,40,40,15,1,False +Slowbro,Water,Psychic,95,75,110,100,80,30,1,False +Mega Slowbro,Water,Psychic,95,75,180,130,80,30,1,False +Magnemite,Electric,Steel,25,35,70,95,55,45,1,False +Magneton,Electric,Steel,50,60,95,120,70,70,1,False +Farfetch'd,Normal,Flying,52,65,55,58,62,60,1,False +Doduo,Normal,Flying,35,85,45,35,35,75,1,False +Dodrio,Normal,Flying,60,110,70,60,60,100,1,False +Seel,Water,,65,45,55,45,70,45,1,False +Dewgong,Water,Ice,90,70,80,70,95,70,1,False +Grimer,Poison,,80,80,50,40,50,25,1,False +Muk,Poison,,105,105,75,65,100,50,1,False +Shellder,Water,,30,65,100,45,25,40,1,False +Cloyster,Water,Ice,50,95,180,85,45,70,1,False +Gastly,Ghost,Poison,30,35,30,100,35,80,1,False +Haunter,Ghost,Poison,45,50,45,115,55,95,1,False +Gengar,Ghost,Poison,60,65,60,130,75,110,1,False +Mega Gengar,Ghost,Poison,60,65,80,170,95,130,1,False +Onix,Rock,Ground,35,45,160,30,45,70,1,False +Drowzee,Psychic,,60,48,45,43,90,42,1,False +Hypno,Psychic,,85,73,70,73,115,67,1,False +Krabby,Water,,30,105,90,25,25,50,1,False +Kingler,Water,,55,130,115,50,50,75,1,False +Voltorb,Electric,,40,30,50,55,55,100,1,False +Electrode,Electric,,60,50,70,80,80,140,1,False +Exeggcute,Grass,Psychic,60,40,80,60,45,40,1,False +Exeggutor,Grass,Psychic,95,95,85,125,65,55,1,False +Cubone,Ground,,50,50,95,40,50,35,1,False +Marowak,Ground,,60,80,110,50,80,45,1,False +Hitmonlee,Fighting,,50,120,53,35,110,87,1,False +Hitmonchan,Fighting,,50,105,79,35,110,76,1,False +Lickitung,Normal,,90,55,75,60,75,30,1,False +Koffing,Poison,,40,65,95,60,45,35,1,False +Weezing,Poison,,65,90,120,85,70,60,1,False +Rhyhorn,Ground,Rock,80,85,95,30,30,25,1,False +Rhydon,Ground,Rock,105,130,120,45,45,40,1,False +Chansey,Normal,,250,5,5,35,105,50,1,False +Tangela,Grass,,65,55,115,100,40,60,1,False +Kangaskhan,Normal,,105,95,80,40,80,90,1,False +Mega Kangaskhan,Normal,,105,125,100,60,100,100,1,False +Horsea,Water,,30,40,70,70,25,60,1,False +Seadra,Water,,55,65,95,95,45,85,1,False +Goldeen,Water,,45,67,60,35,50,63,1,False +Seaking,Water,,80,92,65,65,80,68,1,False +Staryu,Water,,30,45,55,70,55,85,1,False +Starmie,Water,Psychic,60,75,85,100,85,115,1,False +Mr. Mime,Psychic,Fairy,40,45,65,100,120,90,1,False +Scyther,Bug,Flying,70,110,80,55,80,105,1,False +Jynx,Ice,Psychic,65,50,35,115,95,95,1,False +Electabuzz,Electric,,65,83,57,95,85,105,1,False +Magmar,Fire,,65,95,57,100,85,93,1,False +Pinsir,Bug,,65,125,100,55,70,85,1,False +Mega Pinsir,Bug,Flying,65,155,120,65,90,105,1,False +Tauros,Normal,,75,100,95,40,70,110,1,False +Magikarp,Water,,20,10,55,15,20,80,1,False +Gyarados,Water,Flying,95,125,79,60,100,81,1,False +Mega Gyarados,Water,Dark,95,155,109,70,130,81,1,False +Lapras,Water,Ice,130,85,80,85,95,60,1,False +Ditto,Normal,,48,48,48,48,48,48,1,False +Eevee,Normal,,55,55,50,45,65,55,1,False +Vaporeon,Water,,130,65,60,110,95,65,1,False +Jolteon,Electric,,65,65,60,110,95,130,1,False +Flareon,Fire,,65,130,60,95,110,65,1,False +Porygon,Normal,,65,60,70,85,75,40,1,False +Omanyte,Rock,Water,35,40,100,90,55,35,1,False +Omastar,Rock,Water,70,60,125,115,70,55,1,False +Kabuto,Rock,Water,30,80,90,55,45,55,1,False +Kabutops,Rock,Water,60,115,105,65,70,80,1,False +Aerodactyl,Rock,Flying,80,105,65,60,75,130,1,False +Mega Aerodactyl,Rock,Flying,80,135,85,70,95,150,1,False +Snorlax,Normal,,160,110,65,65,110,30,1,False +Articuno,Ice,Flying,90,85,100,95,125,85,1,True +Zapdos,Electric,Flying,90,90,85,125,90,100,1,True +Moltres,Fire,Flying,90,100,90,125,85,90,1,True +Dratini,Dragon,,41,64,45,50,50,50,1,False +Dragonair,Dragon,,61,84,65,70,70,70,1,False +Dragonite,Dragon,Flying,91,134,95,100,100,80,1,False +Mewtwo,Psychic,,106,110,90,154,90,130,1,True +Mega Mewtwo X,Psychic,Fighting,106,190,100,154,100,130,1,True +Mega Mewtwo Y,Psychic,,106,150,70,194,120,140,1,True +Mew,Psychic,,100,100,100,100,100,100,1,False +Chikorita,Grass,,45,49,65,49,65,45,2,False +Bayleef,Grass,,60,62,80,63,80,60,2,False +Meganium,Grass,,80,82,100,83,100,80,2,False +Cyndaquil,Fire,,39,52,43,60,50,65,2,False +Quilava,Fire,,58,64,58,80,65,80,2,False +Typhlosion,Fire,,78,84,78,109,85,100,2,False +Totodile,Water,,50,65,64,44,48,43,2,False +Croconaw,Water,,65,80,80,59,63,58,2,False +Feraligatr,Water,,85,105,100,79,83,78,2,False +Sentret,Normal,,35,46,34,35,45,20,2,False +Furret,Normal,,85,76,64,45,55,90,2,False +Hoothoot,Normal,Flying,60,30,30,36,56,50,2,False +Noctowl,Normal,Flying,100,50,50,76,96,70,2,False +Ledyba,Bug,Flying,40,20,30,40,80,55,2,False +Ledian,Bug,Flying,55,35,50,55,110,85,2,False +Spinarak,Bug,Poison,40,60,40,40,40,30,2,False +Ariados,Bug,Poison,70,90,70,60,60,40,2,False +Crobat,Poison,Flying,85,90,80,70,80,130,2,False +Chinchou,Water,Electric,75,38,38,56,56,67,2,False +Lanturn,Water,Electric,125,58,58,76,76,67,2,False +Pichu,Electric,,20,40,15,35,35,60,2,False +Cleffa,Fairy,,50,25,28,45,55,15,2,False +Igglybuff,Normal,Fairy,90,30,15,40,20,15,2,False +Togepi,Fairy,,35,20,65,40,65,20,2,False +Togetic,Fairy,Flying,55,40,85,80,105,40,2,False +Natu,Psychic,Flying,40,50,45,70,45,70,2,False +Xatu,Psychic,Flying,65,75,70,95,70,95,2,False +Mareep,Electric,,55,40,40,65,45,35,2,False +Flaaffy,Electric,,70,55,55,80,60,45,2,False +Ampharos,Electric,,90,75,85,115,90,55,2,False +Mega Ampharos,Electric,Dragon,90,95,105,165,110,45,2,False +Bellossom,Grass,,75,80,95,90,100,50,2,False +Marill,Water,Fairy,70,20,50,20,50,40,2,False +Azumarill,Water,Fairy,100,50,80,60,80,50,2,False +Sudowoodo,Rock,,70,100,115,30,65,30,2,False +Politoed,Water,,90,75,75,90,100,70,2,False +Hoppip,Grass,Flying,35,35,40,35,55,50,2,False +Skiploom,Grass,Flying,55,45,50,45,65,80,2,False +Jumpluff,Grass,Flying,75,55,70,55,95,110,2,False +Aipom,Normal,,55,70,55,40,55,85,2,False +Sunkern,Grass,,30,30,30,30,30,30,2,False +Sunflora,Grass,,75,75,55,105,85,30,2,False +Yanma,Bug,Flying,65,65,45,75,45,95,2,False +Wooper,Water,Ground,55,45,45,25,25,15,2,False +Quagsire,Water,Ground,95,85,85,65,65,35,2,False +Espeon,Psychic,,65,65,60,130,95,110,2,False +Umbreon,Dark,,95,65,110,60,130,65,2,False +Murkrow,Dark,Flying,60,85,42,85,42,91,2,False +Slowking,Water,Psychic,95,75,80,100,110,30,2,False +Misdreavus,Ghost,,60,60,60,85,85,85,2,False +Unown,Psychic,,48,72,48,72,48,48,2,False +Wobbuffet,Psychic,,190,33,58,33,58,33,2,False +Girafarig,Normal,Psychic,70,80,65,90,65,85,2,False +Pineco,Bug,,50,65,90,35,35,15,2,False +Forretress,Bug,Steel,75,90,140,60,60,40,2,False +Dunsparce,Normal,,100,70,70,65,65,45,2,False +Gligar,Ground,Flying,65,75,105,35,65,85,2,False +Steelix,Steel,Ground,75,85,200,55,65,30,2,False +Mega Steelix,Steel,Ground,75,125,230,55,95,30,2,False +Snubbull,Fairy,,60,80,50,40,40,30,2,False +Granbull,Fairy,,90,120,75,60,60,45,2,False +Qwilfish,Water,Poison,65,95,75,55,55,85,2,False +Scizor,Bug,Steel,70,130,100,55,80,65,2,False +Mega Scizor,Bug,Steel,70,150,140,65,100,75,2,False +Shuckle,Bug,Rock,20,10,230,10,230,5,2,False +Heracross,Bug,Fighting,80,125,75,40,95,85,2,False +Mega Heracross,Bug,Fighting,80,185,115,40,105,75,2,False +Sneasel,Dark,Ice,55,95,55,35,75,115,2,False +Teddiursa,Normal,,60,80,50,50,50,40,2,False +Ursaring,Normal,,90,130,75,75,75,55,2,False +Slugma,Fire,,40,40,40,70,40,20,2,False +Magcargo,Fire,Rock,50,50,120,80,80,30,2,False +Swinub,Ice,Ground,50,50,40,30,30,50,2,False +Piloswine,Ice,Ground,100,100,80,60,60,50,2,False +Corsola,Water,Rock,55,55,85,65,85,35,2,False +Remoraid,Water,,35,65,35,65,35,65,2,False +Octillery,Water,,75,105,75,105,75,45,2,False +Delibird,Ice,Flying,45,55,45,65,45,75,2,False +Mantine,Water,Flying,65,40,70,80,140,70,2,False +Skarmory,Steel,Flying,65,80,140,40,70,70,2,False +Houndour,Dark,Fire,45,60,30,80,50,65,2,False +Houndoom,Dark,Fire,75,90,50,110,80,95,2,False +Mega Houndoom,Dark,Fire,75,90,90,140,90,115,2,False +Kingdra,Water,Dragon,75,95,95,95,95,85,2,False +Phanpy,Ground,,90,60,60,40,40,40,2,False +Donphan,Ground,,90,120,120,60,60,50,2,False +Porygon2,Normal,,85,80,90,105,95,60,2,False +Stantler,Normal,,73,95,62,85,65,85,2,False +Smeargle,Normal,,55,20,35,20,45,75,2,False +Tyrogue,Fighting,,35,35,35,35,35,35,2,False +Hitmontop,Fighting,,50,95,95,35,110,70,2,False +Smoochum,Ice,Psychic,45,30,15,85,65,65,2,False +Elekid,Electric,,45,63,37,65,55,95,2,False +Magby,Fire,,45,75,37,70,55,83,2,False +Miltank,Normal,,95,80,105,40,70,100,2,False +Blissey,Normal,,255,10,10,75,135,55,2,False +Raikou,Electric,,90,85,75,115,100,115,2,True +Entei,Fire,,115,115,85,90,75,100,2,True +Suicune,Water,,100,75,115,90,115,85,2,True +Larvitar,Rock,Ground,50,64,50,45,50,41,2,False +Pupitar,Rock,Ground,70,84,70,65,70,51,2,False +Tyranitar,Rock,Dark,100,134,110,95,100,61,2,False +Mega Tyranitar,Rock,Dark,100,164,150,95,120,71,2,False +Lugia,Psychic,Flying,106,90,130,90,154,110,2,True +Ho-oh,Fire,Flying,106,130,90,110,154,90,2,True +Celebi,Psychic,Grass,100,100,100,100,100,100,2,False +Treecko,Grass,,40,45,35,65,55,70,3,False +Grovyle,Grass,,50,65,45,85,65,95,3,False +Sceptile,Grass,,70,85,65,105,85,120,3,False +Mega Sceptile,Grass,Dragon,70,110,75,145,85,145,3,False +Torchic,Fire,,45,60,40,70,50,45,3,False +Combusken,Fire,Fighting,60,85,60,85,60,55,3,False +Blaziken,Fire,Fighting,80,120,70,110,70,80,3,False +Mega Blaziken,Fire,Fighting,80,160,80,130,80,100,3,False +Mudkip,Water,,50,70,50,50,50,40,3,False +Marshtomp,Water,Ground,70,85,70,60,70,50,3,False +Swampert,Water,Ground,100,110,90,85,90,60,3,False +Mega Swampert,Water,Ground,100,150,110,95,110,70,3,False +Poochyena,Dark,,35,55,35,30,30,35,3,False +Mightyena,Dark,,70,90,70,60,60,70,3,False +Zigzagoon,Normal,,38,30,41,30,41,60,3,False +Linoone,Normal,,78,70,61,50,61,100,3,False +Wurmple,Bug,,45,45,35,20,30,20,3,False +Silcoon,Bug,,50,35,55,25,25,15,3,False +Beautifly,Bug,Flying,60,70,50,100,50,65,3,False +Cascoon,Bug,,50,35,55,25,25,15,3,False +Dustox,Bug,Poison,60,50,70,50,90,65,3,False +Lotad,Water,Grass,40,30,30,40,50,30,3,False +Lombre,Water,Grass,60,50,50,60,70,50,3,False +Ludicolo,Water,Grass,80,70,70,90,100,70,3,False +Seedot,Grass,,40,40,50,30,30,30,3,False +Nuzleaf,Grass,Dark,70,70,40,60,40,60,3,False +Shiftry,Grass,Dark,90,100,60,90,60,80,3,False +Taillow,Normal,Flying,40,55,30,30,30,85,3,False +Swellow,Normal,Flying,60,85,60,50,50,125,3,False +Wingull,Water,Flying,40,30,30,55,30,85,3,False +Pelipper,Water,Flying,60,50,100,85,70,65,3,False +Ralts,Psychic,Fairy,28,25,25,45,35,40,3,False +Kirlia,Psychic,Fairy,38,35,35,65,55,50,3,False +Gardevoir,Psychic,Fairy,68,65,65,125,115,80,3,False +Mega Gardevoir,Psychic,Fairy,68,85,65,165,135,100,3,False +Surskit,Bug,Water,40,30,32,50,52,65,3,False +Masquerain,Bug,Flying,70,60,62,80,82,60,3,False +Shroomish,Grass,,60,40,60,40,60,35,3,False +Breloom,Grass,Fighting,60,130,80,60,60,70,3,False +Slakoth,Normal,,60,60,60,35,35,30,3,False +Vigoroth,Normal,,80,80,80,55,55,90,3,False +Slaking,Normal,,150,160,100,95,65,100,3,False +Nincada,Bug,Ground,31,45,90,30,30,40,3,False +Ninjask,Bug,Flying,61,90,45,50,50,160,3,False +Shedinja,Bug,Ghost,1,90,45,30,30,40,3,False +Whismur,Normal,,64,51,23,51,23,28,3,False +Loudred,Normal,,84,71,43,71,43,48,3,False +Exploud,Normal,,104,91,63,91,73,68,3,False +Makuhita,Fighting,,72,60,30,20,30,25,3,False +Hariyama,Fighting,,144,120,60,40,60,50,3,False +Azurill,Normal,Fairy,50,20,40,20,40,20,3,False +Nosepass,Rock,,30,45,135,45,90,30,3,False +Skitty,Normal,,50,45,45,35,35,50,3,False +Delcatty,Normal,,70,65,65,55,55,70,3,False +Sableye,Dark,Ghost,50,75,75,65,65,50,3,False +Mega Sableye,Dark,Ghost,50,85,125,85,115,20,3,False +Mawile,Steel,Fairy,50,85,85,55,55,50,3,False +Mega Mawile,Steel,Fairy,50,105,125,55,95,50,3,False +Aron,Steel,Rock,50,70,100,40,40,30,3,False +Lairon,Steel,Rock,60,90,140,50,50,40,3,False +Aggron,Steel,Rock,70,110,180,60,60,50,3,False +Mega Aggron,Steel,,70,140,230,60,80,50,3,False +Meditite,Fighting,Psychic,30,40,55,40,55,60,3,False +Medicham,Fighting,Psychic,60,60,75,60,75,80,3,False +Mega Medicham,Fighting,Psychic,60,100,85,80,85,100,3,False +Electrike,Electric,,40,45,40,65,40,65,3,False +Manectric,Electric,,70,75,60,105,60,105,3,False +Mega Manectric,Electric,,70,75,80,135,80,135,3,False +Plusle,Electric,,60,50,40,85,75,95,3,False +Minun,Electric,,60,40,50,75,85,95,3,False +Volbeat,Bug,,65,73,55,47,75,85,3,False +Illumise,Bug,,65,47,55,73,75,85,3,False +Roselia,Grass,Poison,50,60,45,100,80,65,3,False +Gulpin,Poison,,70,43,53,43,53,40,3,False +Swalot,Poison,,100,73,83,73,83,55,3,False +Carvanha,Water,Dark,45,90,20,65,20,65,3,False +Sharpedo,Water,Dark,70,120,40,95,40,95,3,False +Mega Sharpedo,Water,Dark,70,140,70,110,65,105,3,False +Wailmer,Water,,130,70,35,70,35,60,3,False +Wailord,Water,,170,90,45,90,45,60,3,False +Numel,Fire,Ground,60,60,40,65,45,35,3,False +Camerupt,Fire,Ground,70,100,70,105,75,40,3,False +Mega Camerupt,Fire,Ground,70,120,100,145,105,20,3,False +Torkoal,Fire,,70,85,140,85,70,20,3,False +Spoink,Psychic,,60,25,35,70,80,60,3,False +Grumpig,Psychic,,80,45,65,90,110,80,3,False +Spinda,Normal,,60,60,60,60,60,60,3,False +Trapinch,Ground,,45,100,45,45,45,10,3,False +Vibrava,Ground,Dragon,50,70,50,50,50,70,3,False +Flygon,Ground,Dragon,80,100,80,80,80,100,3,False +Cacnea,Grass,,50,85,40,85,40,35,3,False +Cacturne,Grass,Dark,70,115,60,115,60,55,3,False +Swablu,Normal,Flying,45,40,60,40,75,50,3,False +Altaria,Dragon,Flying,75,70,90,70,105,80,3,False +Mega Altaria,Dragon,Fairy,75,110,110,110,105,80,3,False +Zangoose,Normal,,73,115,60,60,60,90,3,False +Seviper,Poison,,73,100,60,100,60,65,3,False +Lunatone,Rock,Psychic,70,55,65,95,85,70,3,False +Solrock,Rock,Psychic,70,95,85,55,65,70,3,False +Barboach,Water,Ground,50,48,43,46,41,60,3,False +Whiscash,Water,Ground,110,78,73,76,71,60,3,False +Corphish,Water,,43,80,65,50,35,35,3,False +Crawdaunt,Water,Dark,63,120,85,90,55,55,3,False +Baltoy,Ground,Psychic,40,40,55,40,70,55,3,False +Claydol,Ground,Psychic,60,70,105,70,120,75,3,False +Lileep,Rock,Grass,66,41,77,61,87,23,3,False +Cradily,Rock,Grass,86,81,97,81,107,43,3,False +Anorith,Rock,Bug,45,95,50,40,50,75,3,False +Armaldo,Rock,Bug,75,125,100,70,80,45,3,False +Feebas,Water,,20,15,20,10,55,80,3,False +Milotic,Water,,95,60,79,100,125,81,3,False +Castform,Normal,,70,70,70,70,70,70,3,False +Kecleon,Normal,,60,90,70,60,120,40,3,False +Shuppet,Ghost,,44,75,35,63,33,45,3,False +Banette,Ghost,,64,115,65,83,63,65,3,False +Mega Banette,Ghost,,64,165,75,93,83,75,3,False +Duskull,Ghost,,20,40,90,30,90,25,3,False +Dusclops,Ghost,,40,70,130,60,130,25,3,False +Tropius,Grass,Flying,99,68,83,72,87,51,3,False +Chimecho,Psychic,,65,50,70,95,80,65,3,False +Absol,Dark,,65,130,60,75,60,75,3,False +Mega Absol,Dark,,65,150,60,115,60,115,3,False +Wynaut,Psychic,,95,23,48,23,48,23,3,False +Snorunt,Ice,,50,50,50,50,50,50,3,False +Glalie,Ice,,80,80,80,80,80,80,3,False +Mega Glalie,Ice,,80,120,80,120,80,100,3,False +Spheal,Ice,Water,70,40,50,55,50,25,3,False +Sealeo,Ice,Water,90,60,70,75,70,45,3,False +Walrein,Ice,Water,110,80,90,95,90,65,3,False +Clamperl,Water,,35,64,85,74,55,32,3,False +Huntail,Water,,55,104,105,94,75,52,3,False +Gorebyss,Water,,55,84,105,114,75,52,3,False +Relicanth,Water,Rock,100,90,130,45,65,55,3,False +Luvdisc,Water,,43,30,55,40,65,97,3,False +Bagon,Dragon,,45,75,60,40,30,50,3,False +Shelgon,Dragon,,65,95,100,60,50,50,3,False +Salamence,Dragon,Flying,95,135,80,110,80,100,3,False +Mega Salamence,Dragon,Flying,95,145,130,120,90,120,3,False +Beldum,Steel,Psychic,40,55,80,35,60,30,3,False +Metang,Steel,Psychic,60,75,100,55,80,50,3,False +Metagross,Steel,Psychic,80,135,130,95,90,70,3,False +Mega Metagross,Steel,Psychic,80,145,150,105,110,110,3,False +Regirock,Rock,,80,100,200,50,100,50,3,True +Regice,Ice,,80,50,100,100,200,50,3,True +Registeel,Steel,,80,75,150,75,150,50,3,True +Latias,Dragon,Psychic,80,80,90,110,130,110,3,True +Mega Latias,Dragon,Psychic,80,100,120,140,150,110,3,True +Latios,Dragon,Psychic,80,90,80,130,110,110,3,True +Mega Latios,Dragon,Psychic,80,130,100,160,120,110,3,True +Kyogre,Water,,100,100,90,150,140,90,3,True +Primal Kyogre,Water,,100,150,90,180,160,90,3,True +Groudon,Ground,,100,150,140,100,90,90,3,True +Primal Groudon,Ground,Fire,100,180,160,150,90,90,3,True +Rayquaza,Dragon,Flying,105,150,90,150,90,95,3,True +Mega Rayquaza,Dragon,Flying,105,180,100,180,100,115,3,True +Jirachi,Steel,Psychic,100,100,100,100,100,100,3,True +Deoxys Normal Forme,Psychic,,50,150,50,150,50,150,3,True +DeoxysAttack Forme,Psychic,,50,180,20,180,20,150,3,True +Deoxys Defense Forme,Psychic,,50,70,160,70,160,90,3,True +Deoxys Speed Forme,Psychic,,50,95,90,95,90,180,3,True +Turtwig,Grass,,55,68,64,45,55,31,4,False +Grotle,Grass,,75,89,85,55,65,36,4,False +Torterra,Grass,Ground,95,109,105,75,85,56,4,False +Chimchar,Fire,,44,58,44,58,44,61,4,False +Monferno,Fire,Fighting,64,78,52,78,52,81,4,False +Infernape,Fire,Fighting,76,104,71,104,71,108,4,False +Piplup,Water,,53,51,53,61,56,40,4,False +Prinplup,Water,,64,66,68,81,76,50,4,False +Empoleon,Water,Steel,84,86,88,111,101,60,4,False +Starly,Normal,Flying,40,55,30,30,30,60,4,False +Staravia,Normal,Flying,55,75,50,40,40,80,4,False +Staraptor,Normal,Flying,85,120,70,50,60,100,4,False +Bidoof,Normal,,59,45,40,35,40,31,4,False +Bibarel,Normal,Water,79,85,60,55,60,71,4,False +Kricketot,Bug,,37,25,41,25,41,25,4,False +Kricketune,Bug,,77,85,51,55,51,65,4,False +Shinx,Electric,,45,65,34,40,34,45,4,False +Luxio,Electric,,60,85,49,60,49,60,4,False +Luxray,Electric,,80,120,79,95,79,70,4,False +Budew,Grass,Poison,40,30,35,50,70,55,4,False +Roserade,Grass,Poison,60,70,65,125,105,90,4,False +Cranidos,Rock,,67,125,40,30,30,58,4,False +Rampardos,Rock,,97,165,60,65,50,58,4,False +Shieldon,Rock,Steel,30,42,118,42,88,30,4,False +Bastiodon,Rock,Steel,60,52,168,47,138,30,4,False +Burmy,Bug,,40,29,45,29,45,36,4,False +Wormadam Plant Cloak,Bug,Grass,60,59,85,79,105,36,4,False +Wormadam Sandy Cloak,Bug,Ground,60,79,105,59,85,36,4,False +Wormadam Trash Cloak,Bug,Steel,60,69,95,69,95,36,4,False +Mothim,Bug,Flying,70,94,50,94,50,66,4,False +Combee,Bug,Flying,30,30,42,30,42,70,4,False +Vespiquen,Bug,Flying,70,80,102,80,102,40,4,False +Pachirisu,Electric,,60,45,70,45,90,95,4,False +Buizel,Water,,55,65,35,60,30,85,4,False +Floatzel,Water,,85,105,55,85,50,115,4,False +Cherubi,Grass,,45,35,45,62,53,35,4,False +Cherrim,Grass,,70,60,70,87,78,85,4,False +Shellos,Water,,76,48,48,57,62,34,4,False +Gastrodon,Water,Ground,111,83,68,92,82,39,4,False +Ambipom,Normal,,75,100,66,60,66,115,4,False +Drifloon,Ghost,Flying,90,50,34,60,44,70,4,False +Drifblim,Ghost,Flying,150,80,44,90,54,80,4,False +Buneary,Normal,,55,66,44,44,56,85,4,False +Lopunny,Normal,,65,76,84,54,96,105,4,False +Mega Lopunny,Normal,Fighting,65,136,94,54,96,135,4,False +Mismagius,Ghost,,60,60,60,105,105,105,4,False +Honchkrow,Dark,Flying,100,125,52,105,52,71,4,False +Glameow,Normal,,49,55,42,42,37,85,4,False +Purugly,Normal,,71,82,64,64,59,112,4,False +Chingling,Psychic,,45,30,50,65,50,45,4,False +Stunky,Poison,Dark,63,63,47,41,41,74,4,False +Skuntank,Poison,Dark,103,93,67,71,61,84,4,False +Bronzor,Steel,Psychic,57,24,86,24,86,23,4,False +Bronzong,Steel,Psychic,67,89,116,79,116,33,4,False +Bonsly,Rock,,50,80,95,10,45,10,4,False +Mime Jr.,Psychic,Fairy,20,25,45,70,90,60,4,False +Happiny,Normal,,100,5,5,15,65,30,4,False +Chatot,Normal,Flying,76,65,45,92,42,91,4,False +Spiritomb,Ghost,Dark,50,92,108,92,108,35,4,False +Gible,Dragon,Ground,58,70,45,40,45,42,4,False +Gabite,Dragon,Ground,68,90,65,50,55,82,4,False +Garchomp,Dragon,Ground,108,130,95,80,85,102,4,False +Mega Garchomp,Dragon,Ground,108,170,115,120,95,92,4,False +Munchlax,Normal,,135,85,40,40,85,5,4,False +Riolu,Fighting,,40,70,40,35,40,60,4,False +Lucario,Fighting,Steel,70,110,70,115,70,90,4,False +Mega Lucario,Fighting,Steel,70,145,88,140,70,112,4,False +Hippopotas,Ground,,68,72,78,38,42,32,4,False +Hippowdon,Ground,,108,112,118,68,72,47,4,False +Skorupi,Poison,Bug,40,50,90,30,55,65,4,False +Drapion,Poison,Dark,70,90,110,60,75,95,4,False +Croagunk,Poison,Fighting,48,61,40,61,40,50,4,False +Toxicroak,Poison,Fighting,83,106,65,86,65,85,4,False +Carnivine,Grass,,74,100,72,90,72,46,4,False +Finneon,Water,,49,49,56,49,61,66,4,False +Lumineon,Water,,69,69,76,69,86,91,4,False +Mantyke,Water,Flying,45,20,50,60,120,50,4,False +Snover,Grass,Ice,60,62,50,62,60,40,4,False +Abomasnow,Grass,Ice,90,92,75,92,85,60,4,False +Mega Abomasnow,Grass,Ice,90,132,105,132,105,30,4,False +Weavile,Dark,Ice,70,120,65,45,85,125,4,False +Magnezone,Electric,Steel,70,70,115,130,90,60,4,False +Lickilicky,Normal,,110,85,95,80,95,50,4,False +Rhyperior,Ground,Rock,115,140,130,55,55,40,4,False +Tangrowth,Grass,,100,100,125,110,50,50,4,False +Electivire,Electric,,75,123,67,95,85,95,4,False +Magmortar,Fire,,75,95,67,125,95,83,4,False +Togekiss,Fairy,Flying,85,50,95,120,115,80,4,False +Yanmega,Bug,Flying,86,76,86,116,56,95,4,False +Leafeon,Grass,,65,110,130,60,65,95,4,False +Glaceon,Ice,,65,60,110,130,95,65,4,False +Gliscor,Ground,Flying,75,95,125,45,75,95,4,False +Mamoswine,Ice,Ground,110,130,80,70,60,80,4,False +Porygon-Z,Normal,,85,80,70,135,75,90,4,False +Gallade,Psychic,Fighting,68,125,65,65,115,80,4,False +Mega Gallade,Psychic,Fighting,68,165,95,65,115,110,4,False +Probopass,Rock,Steel,60,55,145,75,150,40,4,False +Dusknoir,Ghost,,45,100,135,65,135,45,4,False +Froslass,Ice,Ghost,70,80,70,80,70,110,4,False +Rotom,Electric,Ghost,50,50,77,95,77,91,4,False +Heat Rotom,Electric,Fire,50,65,107,105,107,86,4,False +Wash Rotom,Electric,Water,50,65,107,105,107,86,4,False +Frost Rotom,Electric,Ice,50,65,107,105,107,86,4,False +Fan Rotom,Electric,Flying,50,65,107,105,107,86,4,False +Mow Rotom,Electric,Grass,50,65,107,105,107,86,4,False +Uxie,Psychic,,75,75,130,75,130,95,4,True +Mesprit,Psychic,,80,105,105,105,105,80,4,True +Azelf,Psychic,,75,125,70,125,70,115,4,True +Dialga,Steel,Dragon,100,120,120,150,100,90,4,True +Palkia,Water,Dragon,90,120,100,150,120,100,4,True +Heatran,Fire,Steel,91,90,106,130,106,77,4,True +Regigigas,Normal,,110,160,110,80,110,100,4,True +Giratina Altered Forme,Ghost,Dragon,150,100,120,100,120,90,4,True +Giratina Origin Forme,Ghost,Dragon,150,120,100,120,100,90,4,True +Cresselia,Psychic,,120,70,120,75,130,85,4,False +Phione,Water,,80,80,80,80,80,80,4,False +Manaphy,Water,,100,100,100,100,100,100,4,False +Darkrai,Dark,,70,90,90,135,90,125,4,True +Shaymin Land Forme,Grass,,100,100,100,100,100,100,4,True +Shaymin Sky Forme,Grass,Flying,100,103,75,120,75,127,4,True +Arceus,Normal,,120,120,120,120,120,120,4,True +Victini,Psychic,Fire,100,100,100,100,100,100,5,True +Snivy,Grass,,45,45,55,45,55,63,5,False +Servine,Grass,,60,60,75,60,75,83,5,False +Serperior,Grass,,75,75,95,75,95,113,5,False +Tepig,Fire,,65,63,45,45,45,45,5,False +Pignite,Fire,Fighting,90,93,55,70,55,55,5,False +Emboar,Fire,Fighting,110,123,65,100,65,65,5,False +Oshawott,Water,,55,55,45,63,45,45,5,False +Dewott,Water,,75,75,60,83,60,60,5,False +Samurott,Water,,95,100,85,108,70,70,5,False +Patrat,Normal,,45,55,39,35,39,42,5,False +Watchog,Normal,,60,85,69,60,69,77,5,False +Lillipup,Normal,,45,60,45,25,45,55,5,False +Herdier,Normal,,65,80,65,35,65,60,5,False +Stoutland,Normal,,85,110,90,45,90,80,5,False +Purrloin,Dark,,41,50,37,50,37,66,5,False +Liepard,Dark,,64,88,50,88,50,106,5,False +Pansage,Grass,,50,53,48,53,48,64,5,False +Simisage,Grass,,75,98,63,98,63,101,5,False +Pansear,Fire,,50,53,48,53,48,64,5,False +Simisear,Fire,,75,98,63,98,63,101,5,False +Panpour,Water,,50,53,48,53,48,64,5,False +Simipour,Water,,75,98,63,98,63,101,5,False +Munna,Psychic,,76,25,45,67,55,24,5,False +Musharna,Psychic,,116,55,85,107,95,29,5,False +Pidove,Normal,Flying,50,55,50,36,30,43,5,False +Tranquill,Normal,Flying,62,77,62,50,42,65,5,False +Unfezant,Normal,Flying,80,115,80,65,55,93,5,False +Blitzle,Electric,,45,60,32,50,32,76,5,False +Zebstrika,Electric,,75,100,63,80,63,116,5,False +Roggenrola,Rock,,55,75,85,25,25,15,5,False +Boldore,Rock,,70,105,105,50,40,20,5,False +Gigalith,Rock,,85,135,130,60,80,25,5,False +Woobat,Psychic,Flying,55,45,43,55,43,72,5,False +Swoobat,Psychic,Flying,67,57,55,77,55,114,5,False +Drilbur,Ground,,60,85,40,30,45,68,5,False +Excadrill,Ground,Steel,110,135,60,50,65,88,5,False +Audino,Normal,,103,60,86,60,86,50,5,False +Mega Audino,Normal,Fairy,103,60,126,80,126,50,5,False +Timburr,Fighting,,75,80,55,25,35,35,5,False +Gurdurr,Fighting,,85,105,85,40,50,40,5,False +Conkeldurr,Fighting,,105,140,95,55,65,45,5,False +Tympole,Water,,50,50,40,50,40,64,5,False +Palpitoad,Water,Ground,75,65,55,65,55,69,5,False +Seismitoad,Water,Ground,105,95,75,85,75,74,5,False +Throh,Fighting,,120,100,85,30,85,45,5,False +Sawk,Fighting,,75,125,75,30,75,85,5,False +Sewaddle,Bug,Grass,45,53,70,40,60,42,5,False +Swadloon,Bug,Grass,55,63,90,50,80,42,5,False +Leavanny,Bug,Grass,75,103,80,70,80,92,5,False +Venipede,Bug,Poison,30,45,59,30,39,57,5,False +Whirlipede,Bug,Poison,40,55,99,40,79,47,5,False +Scolipede,Bug,Poison,60,100,89,55,69,112,5,False +Cottonee,Grass,Fairy,40,27,60,37,50,66,5,False +Whimsicott,Grass,Fairy,60,67,85,77,75,116,5,False +Petilil,Grass,,45,35,50,70,50,30,5,False +Lilligant,Grass,,70,60,75,110,75,90,5,False +Basculin,Water,,70,92,65,80,55,98,5,False +Sandile,Ground,Dark,50,72,35,35,35,65,5,False +Krokorok,Ground,Dark,60,82,45,45,45,74,5,False +Krookodile,Ground,Dark,95,117,80,65,70,92,5,False +Darumaka,Fire,,70,90,45,15,45,50,5,False +Darmanitan Standard Mode,Fire,,105,140,55,30,55,95,5,False +Darmanitan Zen Mode,Fire,Psychic,105,30,105,140,105,55,5,False +Maractus,Grass,,75,86,67,106,67,60,5,False +Dwebble,Bug,Rock,50,65,85,35,35,55,5,False +Crustle,Bug,Rock,70,95,125,65,75,45,5,False +Scraggy,Dark,Fighting,50,75,70,35,70,48,5,False +Scrafty,Dark,Fighting,65,90,115,45,115,58,5,False +Sigilyph,Psychic,Flying,72,58,80,103,80,97,5,False +Yamask,Ghost,,38,30,85,55,65,30,5,False +Cofagrigus,Ghost,,58,50,145,95,105,30,5,False +Tirtouga,Water,Rock,54,78,103,53,45,22,5,False +Carracosta,Water,Rock,74,108,133,83,65,32,5,False +Archen,Rock,Flying,55,112,45,74,45,70,5,False +Archeops,Rock,Flying,75,140,65,112,65,110,5,False +Trubbish,Poison,,50,50,62,40,62,65,5,False +Garbodor,Poison,,80,95,82,60,82,75,5,False +Zorua,Dark,,40,65,40,80,40,65,5,False +Zoroark,Dark,,60,105,60,120,60,105,5,False +Minccino,Normal,,55,50,40,40,40,75,5,False +Cinccino,Normal,,75,95,60,65,60,115,5,False +Gothita,Psychic,,45,30,50,55,65,45,5,False +Gothorita,Psychic,,60,45,70,75,85,55,5,False +Gothitelle,Psychic,,70,55,95,95,110,65,5,False +Solosis,Psychic,,45,30,40,105,50,20,5,False +Duosion,Psychic,,65,40,50,125,60,30,5,False +Reuniclus,Psychic,,110,65,75,125,85,30,5,False +Ducklett,Water,Flying,62,44,50,44,50,55,5,False +Swanna,Water,Flying,75,87,63,87,63,98,5,False +Vanillite,Ice,,36,50,50,65,60,44,5,False +Vanillish,Ice,,51,65,65,80,75,59,5,False +Vanilluxe,Ice,,71,95,85,110,95,79,5,False +Deerling,Normal,Grass,60,60,50,40,50,75,5,False +Sawsbuck,Normal,Grass,80,100,70,60,70,95,5,False +Emolga,Electric,Flying,55,75,60,75,60,103,5,False +Karrablast,Bug,,50,75,45,40,45,60,5,False +Escavalier,Bug,Steel,70,135,105,60,105,20,5,False +Foongus,Grass,Poison,69,55,45,55,55,15,5,False +Amoonguss,Grass,Poison,114,85,70,85,80,30,5,False +Frillish,Water,Ghost,55,40,50,65,85,40,5,False +Jellicent,Water,Ghost,100,60,70,85,105,60,5,False +Alomomola,Water,,165,75,80,40,45,65,5,False +Joltik,Bug,Electric,50,47,50,57,50,65,5,False +Galvantula,Bug,Electric,70,77,60,97,60,108,5,False +Ferroseed,Grass,Steel,44,50,91,24,86,10,5,False +Ferrothorn,Grass,Steel,74,94,131,54,116,20,5,False +Klink,Steel,,40,55,70,45,60,30,5,False +Klang,Steel,,60,80,95,70,85,50,5,False +Klinklang,Steel,,60,100,115,70,85,90,5,False +Tynamo,Electric,,35,55,40,45,40,60,5,False +Eelektrik,Electric,,65,85,70,75,70,40,5,False +Eelektross,Electric,,85,115,80,105,80,50,5,False +Elgyem,Psychic,,55,55,55,85,55,30,5,False +Beheeyem,Psychic,,75,75,75,125,95,40,5,False +Litwick,Ghost,Fire,50,30,55,65,55,20,5,False +Lampent,Ghost,Fire,60,40,60,95,60,55,5,False +Chandelure,Ghost,Fire,60,55,90,145,90,80,5,False +Axew,Dragon,,46,87,60,30,40,57,5,False +Fraxure,Dragon,,66,117,70,40,50,67,5,False +Haxorus,Dragon,,76,147,90,60,70,97,5,False +Cubchoo,Ice,,55,70,40,60,40,40,5,False +Beartic,Ice,,95,110,80,70,80,50,5,False +Cryogonal,Ice,,70,50,30,95,135,105,5,False +Shelmet,Bug,,50,40,85,40,65,25,5,False +Accelgor,Bug,,80,70,40,100,60,145,5,False +Stunfisk,Ground,Electric,109,66,84,81,99,32,5,False +Mienfoo,Fighting,,45,85,50,55,50,65,5,False +Mienshao,Fighting,,65,125,60,95,60,105,5,False +Druddigon,Dragon,,77,120,90,60,90,48,5,False +Golett,Ground,Ghost,59,74,50,35,50,35,5,False +Golurk,Ground,Ghost,89,124,80,55,80,55,5,False +Pawniard,Dark,Steel,45,85,70,40,40,60,5,False +Bisharp,Dark,Steel,65,125,100,60,70,70,5,False +Bouffalant,Normal,,95,110,95,40,95,55,5,False +Rufflet,Normal,Flying,70,83,50,37,50,60,5,False +Braviary,Normal,Flying,100,123,75,57,75,80,5,False +Vullaby,Dark,Flying,70,55,75,45,65,60,5,False +Mandibuzz,Dark,Flying,110,65,105,55,95,80,5,False +Heatmor,Fire,,85,97,66,105,66,65,5,False +Durant,Bug,Steel,58,109,112,48,48,109,5,False +Deino,Dark,Dragon,52,65,50,45,50,38,5,False +Zweilous,Dark,Dragon,72,85,70,65,70,58,5,False +Hydreigon,Dark,Dragon,92,105,90,125,90,98,5,False +Larvesta,Bug,Fire,55,85,55,50,55,60,5,False +Volcarona,Bug,Fire,85,60,65,135,105,100,5,False +Cobalion,Steel,Fighting,91,90,129,90,72,108,5,True +Terrakion,Rock,Fighting,91,129,90,72,90,108,5,True +Virizion,Grass,Fighting,91,90,72,90,129,108,5,True +Tornadus Incarnate Forme,Flying,,79,115,70,125,80,111,5,True +Tornadus Therian Forme,Flying,,79,100,80,110,90,121,5,True +Thundurus Incarnate Forme,Electric,Flying,79,115,70,125,80,111,5,True +Thundurus Therian Forme,Electric,Flying,79,105,70,145,80,101,5,True +Reshiram,Dragon,Fire,100,120,100,150,120,90,5,True +Zekrom,Dragon,Electric,100,150,120,120,100,90,5,True +Landorus Incarnate Forme,Ground,Flying,89,125,90,115,80,101,5,True +Landorus Therian Forme,Ground,Flying,89,145,90,105,80,91,5,True +Kyurem,Dragon,Ice,125,130,90,130,90,95,5,True +Kyurem Black Kyurem,Dragon,Ice,125,170,100,120,90,95,5,True +Kyurem White Kyurem,Dragon,Ice,125,120,90,170,100,95,5,True +Keldeo Ordinary Forme,Water,Fighting,91,72,90,129,90,108,5,False +Keldeo Resolute Forme,Water,Fighting,91,72,90,129,90,108,5,False +Meloetta Aria Forme,Normal,Psychic,100,77,77,128,128,90,5,False +Meloetta Pirouette Forme,Normal,Fighting,100,128,90,77,77,128,5,False +Genesect,Bug,Steel,71,120,95,120,95,99,5,False +Chespin,Grass,,56,61,65,48,45,38,6,False +Quilladin,Grass,,61,78,95,56,58,57,6,False +Chesnaught,Grass,Fighting,88,107,122,74,75,64,6,False +Fennekin,Fire,,40,45,40,62,60,60,6,False +Braixen,Fire,,59,59,58,90,70,73,6,False +Delphox,Fire,Psychic,75,69,72,114,100,104,6,False +Froakie,Water,,41,56,40,62,44,71,6,False +Frogadier,Water,,54,63,52,83,56,97,6,False +Greninja,Water,Dark,72,95,67,103,71,122,6,False +Bunnelby,Normal,,38,36,38,32,36,57,6,False +Diggersby,Normal,Ground,85,56,77,50,77,78,6,False +Fletchling,Normal,Flying,45,50,43,40,38,62,6,False +Fletchinder,Fire,Flying,62,73,55,56,52,84,6,False +Talonflame,Fire,Flying,78,81,71,74,69,126,6,False +Scatterbug,Bug,,38,35,40,27,25,35,6,False +Spewpa,Bug,,45,22,60,27,30,29,6,False +Vivillon,Bug,Flying,80,52,50,90,50,89,6,False +Litleo,Fire,Normal,62,50,58,73,54,72,6,False +Pyroar,Fire,Normal,86,68,72,109,66,106,6,False +Flabébé,Fairy,,44,38,39,61,79,42,6,False +Floette,Fairy,,54,45,47,75,98,52,6,False +Florges,Fairy,,78,65,68,112,154,75,6,False +Skiddo,Grass,,66,65,48,62,57,52,6,False +Gogoat,Grass,,123,100,62,97,81,68,6,False +Pancham,Fighting,,67,82,62,46,48,43,6,False +Pangoro,Fighting,Dark,95,124,78,69,71,58,6,False +Furfrou,Normal,,75,80,60,65,90,102,6,False +Espurr,Psychic,,62,48,54,63,60,68,6,False +Meowstic Male,Psychic,,74,48,76,83,81,104,6,False +Meowstic Female,Psychic,,74,48,76,83,81,104,6,False +Honedge,Steel,Ghost,45,80,100,35,37,28,6,False +Doublade,Steel,Ghost,59,110,150,45,49,35,6,False +Aegislash Blade Forme,Steel,Ghost,60,150,50,150,50,60,6,False +Aegislash Shield Forme,Steel,Ghost,60,50,150,50,150,60,6,False +Spritzee,Fairy,,78,52,60,63,65,23,6,False +Aromatisse,Fairy,,101,72,72,99,89,29,6,False +Swirlix,Fairy,,62,48,66,59,57,49,6,False +Slurpuff,Fairy,,82,80,86,85,75,72,6,False +Inkay,Dark,Psychic,53,54,53,37,46,45,6,False +Malamar,Dark,Psychic,86,92,88,68,75,73,6,False +Binacle,Rock,Water,42,52,67,39,56,50,6,False +Barbaracle,Rock,Water,72,105,115,54,86,68,6,False +Skrelp,Poison,Water,50,60,60,60,60,30,6,False +Dragalge,Poison,Dragon,65,75,90,97,123,44,6,False +Clauncher,Water,,50,53,62,58,63,44,6,False +Clawitzer,Water,,71,73,88,120,89,59,6,False +Helioptile,Electric,Normal,44,38,33,61,43,70,6,False +Heliolisk,Electric,Normal,62,55,52,109,94,109,6,False +Tyrunt,Rock,Dragon,58,89,77,45,45,48,6,False +Tyrantrum,Rock,Dragon,82,121,119,69,59,71,6,False +Amaura,Rock,Ice,77,59,50,67,63,46,6,False +Aurorus,Rock,Ice,123,77,72,99,92,58,6,False +Sylveon,Fairy,,95,65,65,110,130,60,6,False +Hawlucha,Fighting,Flying,78,92,75,74,63,118,6,False +Dedenne,Electric,Fairy,67,58,57,81,67,101,6,False +Carbink,Rock,Fairy,50,50,150,50,150,50,6,False +Goomy,Dragon,,45,50,35,55,75,40,6,False +Sliggoo,Dragon,,68,75,53,83,113,60,6,False +Goodra,Dragon,,90,100,70,110,150,80,6,False +Klefki,Steel,Fairy,57,80,91,80,87,75,6,False +Phantump,Ghost,Grass,43,70,48,50,60,38,6,False +Trevenant,Ghost,Grass,85,110,76,65,82,56,6,False +Pumpkaboo Average Size,Ghost,Grass,49,66,70,44,55,51,6,False +Pumpkaboo Small Size,Ghost,Grass,44,66,70,44,55,56,6,False +Pumpkaboo Large Size,Ghost,Grass,54,66,70,44,55,46,6,False +Pumpkaboo Super Size,Ghost,Grass,59,66,70,44,55,41,6,False +Gourgeist Average Size,Ghost,Grass,65,90,122,58,75,84,6,False +Gourgeist Small Size,Ghost,Grass,55,85,122,58,75,99,6,False +Gourgeist Large Size,Ghost,Grass,75,95,122,58,75,69,6,False +Gourgeist Super Size,Ghost,Grass,85,100,122,58,75,54,6,False +Bergmite,Ice,,55,69,85,32,35,28,6,False +Avalugg,Ice,,95,117,184,44,46,28,6,False +Noibat,Flying,Dragon,40,30,35,45,40,55,6,False +Noivern,Flying,Dragon,85,70,80,97,80,123,6,False +Xerneas,Fairy,,126,131,95,131,98,99,6,True +Yveltal,Dark,Flying,126,131,95,131,98,99,6,True +Zygarde Half Forme,Dragon,Ground,108,100,121,81,95,95,6,True +Diancie,Rock,Fairy,50,100,150,100,150,50,6,True +Mega Diancie,Rock,Fairy,50,160,110,160,110,110,6,True +Hoopa Confined,Psychic,Ghost,80,110,60,150,130,70,6,True +Hoopa Unbound,Psychic,Dark,80,160,60,170,130,80,6,True +Volcanion,Fire,Water,80,110,120,130,90,70,6,True