generated from mwc/lab_pokemon
Initial commit
This commit is contained in:
commit
c4593e7ebb
|
@ -0,0 +1,16 @@
|
|||
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# Write your entire commit message above this line.
|
||||
#
|
||||
# The first line should be a quick description of what you changed.
|
||||
# Then leave a blank line.
|
||||
# Then, taking as many lines as you want, answer the questions below
|
||||
# (you only need to answer these once).
|
||||
#
|
||||
# In the Unit 2 project, you will define some research questions and
|
||||
# select your own data set. What are some possible questions you
|
||||
# would be interested in exploring? Can you think of any data sets that
|
||||
# might be interesting to explore? These could be public data sets,
|
||||
# or they could be private data sets related to your work or your own
|
||||
# life (you don't need to share your data set in the unit project).
|
|
@ -0,0 +1,2 @@
|
|||
poetry.lock
|
||||
.ipynb_checkpoints/*
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,183 @@
|
|||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "58f71d07-849f-4cc0-9168-7303e795e244",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# BRFSS 2020\n",
|
||||
"\n",
|
||||
"This lab uses a simplified subset of the BRFSS 2020 dataset, `brfss_2020.csv`. \n",
|
||||
"This notebook explains the variables included as well as the process used to produce this file. \n",
|
||||
"Read more about BRFSS at https://www.cdc.gov/brfss/annual_data/annual_2020.html\n",
|
||||
"\n",
|
||||
"**Note:** The simplified data set should not be used for serious statistical arguments. In the interest of making the data easier to understand, we only work with a skewed subset of the data. Specifically, this data set only includes people who answered all of the questions. \n",
|
||||
"\n",
|
||||
"## Codebook\n",
|
||||
"\n",
|
||||
"The following variables are included in the simplified dataset. When we talk about \"people\" in this lab, we're referring to the people who responded to the survey, not the whole US population. If you want more details on how questions were asked or how peoples' responses were recorded, please consult the [official codebook](https://www.cdc.gov/brfss/annual_data/2020/pdf/codebook20_llcp-v2-508.pdf). \n",
|
||||
"\n",
|
||||
"### age\n",
|
||||
"\n",
|
||||
"Ages are grouped into age bands of 18-24, 25-34, 35-44, 45-54, 55-64, and 65+. \n",
|
||||
"\n",
|
||||
"| number | age range | \n",
|
||||
"| ------ | --------- |\n",
|
||||
"| 18 | 18-24 |\n",
|
||||
"| 25 | 25-34 |\n",
|
||||
"| 35 | 35-44 |\n",
|
||||
"| 45 | 45-54 |\n",
|
||||
"| 55 | 55-64 |\n",
|
||||
"| 65 | 65+ |\n",
|
||||
"\n",
|
||||
"### sex\n",
|
||||
"\n",
|
||||
"Sex only had options for `male` and `female`. In some cases, peoples' current sex is not the same as the sex they were assigned at birth. \n",
|
||||
"\n",
|
||||
"### income\n",
|
||||
"\n",
|
||||
"Income is grouped in the following bands. \n",
|
||||
"\n",
|
||||
"| number | annual income, in $1000 | \n",
|
||||
"| ------ | ------------------------- |\n",
|
||||
"| 1 | Less than 10 |\n",
|
||||
"| 2 | 10-15 |\n",
|
||||
"| 3 | 15-20 |\n",
|
||||
"| 4 | 20-25 |\n",
|
||||
"| 5 | 25-35 |\n",
|
||||
"| 6 | 35-50 |\n",
|
||||
"| 7 | 50-75 |\n",
|
||||
"| 8 | More than 75 |\n",
|
||||
"\n",
|
||||
"### education\n",
|
||||
"\n",
|
||||
"Education indicates the highest level of education completed, with codes as follows. \n",
|
||||
"\n",
|
||||
"| number | education level | \n",
|
||||
"| ------ | --------------------------------- |\n",
|
||||
"| 1 | Did not graduate from high school |\n",
|
||||
"| 2 | Graduated from high school |\n",
|
||||
"| 3 | Attended some college |\n",
|
||||
"| 4 | Graduated from college |\n",
|
||||
"\n",
|
||||
"### sexual orientation\n",
|
||||
"\n",
|
||||
"Sexual orientation is reported as `heterosexual`, `homosexual`, `bisexual`, and `other`, with `other` including people who said something else, said they didn't understand the question, or chose not to answer.\n",
|
||||
"\n",
|
||||
"### height\n",
|
||||
"\n",
|
||||
"Height is reported in meters.\n",
|
||||
"\n",
|
||||
"### weight\n",
|
||||
"\n",
|
||||
"Weight is reported in kilograms.\n",
|
||||
"\n",
|
||||
"### health\n",
|
||||
"\n",
|
||||
"Health is peoples' estimate of their general health. \n",
|
||||
"\n",
|
||||
"| number | health status | \n",
|
||||
"| ------ | ------------- |\n",
|
||||
"| 1 | Poor |\n",
|
||||
"| 2 | Fair |\n",
|
||||
"| 3 | Good |\n",
|
||||
"| 4 | Very good |\n",
|
||||
"| 5 | Excellent |\n",
|
||||
"\n",
|
||||
"### no_doctor\n",
|
||||
"\n",
|
||||
"No doctor is a boolean variable indicating whether there was a time in the last year when the person needed to see a doctor, but could not afford to do so.\n",
|
||||
"\n",
|
||||
"### exercise\n",
|
||||
"\n",
|
||||
"Exercise indicates whether a person has done any physical activity or exercise in the last 30 days, outside of work. \n",
|
||||
"\n",
|
||||
"### sleep\n",
|
||||
"\n",
|
||||
"Sleep reports the average hours of sleep a person gets per night.\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "f7a7e909-8b44-43cd-af2a-87266c836668",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"---\n",
|
||||
"\n",
|
||||
"## Preparing the simplified dataset\n",
|
||||
"\n",
|
||||
"The following code converts the full BRFSS 2020 dataset into the simplified version."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"id": "e7b198b3-5781-4815-b862-101501a25782",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# First, download and unzip https://www.cdc.gov/brfss/annual_data/2020/files/LLCP2020XPT.zip\n",
|
||||
"# You should now have a file called LLCP2020.XPT\n",
|
||||
"\n",
|
||||
"import pandas as pd\n",
|
||||
"\n",
|
||||
"def prepare_simplified_dataset():\n",
|
||||
" df = pd.read_sas(\"LLCP2020.XPT\")\n",
|
||||
" df = df[odf.DISPCODE == 1100]\n",
|
||||
" df[\"sex\"] = df[\"SEXVAR\"].map({1: \"male\", 2: \"female\"})\n",
|
||||
" df = df[df.GENHLTH <= 5]\n",
|
||||
" df[\"health\"] = df.GENHLTH.map({1:5, 2:4, 3:3, 4:2, 5:1})\n",
|
||||
" df = df[df.MEDCOST <= 2]\n",
|
||||
" df[\"no_doctor\"] = df.MEDCOST.map({1: True, 2: False})\n",
|
||||
" df = df[df.EXERANY2 <= 2]\n",
|
||||
" df[\"exercise\"] = df.EXERANY2.map({1: True, 2: False})\n",
|
||||
" df = df[df.SLEPTIM1 < 25]\n",
|
||||
" df[\"sleep\"] = df.SLEPTIM1.astype(int)\n",
|
||||
" df = df[df.INCOME2 < 9]\n",
|
||||
" df[\"income\"] = df.INCOME2.astype(int)\n",
|
||||
" df = df[~df.WTKG3.isna()]\n",
|
||||
" df[\"weight\"] = df.WTKG3 / 100\n",
|
||||
" df = df[~df.HTM4.isna()]\n",
|
||||
" df[\"height\"] = df.HTM4 / 100\n",
|
||||
" df = df[(df.SOFEMALE.isin([1, 2, 3, 4, 7, 9])) | (df.SOMALE.isin([1, 2, 3, 4, 7, 9]))]\n",
|
||||
" df[\"sexual_orientation\"] = df.SOFEMALE\n",
|
||||
" df[\"sexual_orientation\"].fillna(df.SOMALE, inplace=True)\n",
|
||||
" df[\"sexual_orientation\"] = df[\"sexual_orientation\"].map({1: \"homosexual\", 2: \"heterosexual\", 3: \"bisexual\", 4: \"other\", 7: \"other\", 9: \"other\"})\n",
|
||||
" df = df[df._EDUCAG.isin([1, 2, 3, 4])]\n",
|
||||
" df[\"education\"] = df._EDUCAG.map({1: \"none_completed\", 2: \"high_school\", 3: \"some_college\", 4: \"college\"})\n",
|
||||
" df[\"age\"] = df._AGE_G.map({1: 18, 2: 25, 3: 35, 4: 45, 5: 55, 6: 65})\n",
|
||||
" df = df[[\"age\", \"sex\", \"income\", \"education\", \"sexual_orientation\", \"height\", \"weight\", \"health\", \"no_doctor\", \"exercise\", \"sleep\"]]\n",
|
||||
" df.to_csv(\"brfss_2020.csv\", index=False)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "e51cb566-e5d6-49ea-9789-26c5b57fef61",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.9.10"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
|
@ -0,0 +1,905 @@
|
|||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "90041b00-672b-4bd4-a8e8-0cab3f0548af",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Lab 04: Data Science Tools\n",
|
||||
"\n",
|
||||
"## 0. Jupyter Notebooks\n",
|
||||
"\n",
|
||||
"Welcome to your first Jupyter notebook! Notebooks are made up of cells. Some cells contain text (like this one) and others contain Python code. \n",
|
||||
"\n",
|
||||
"Each cell can be in two different modes: editing or running. To edit a cell, double-click on it. When you're done editing, press **shift+Enter** to run it. You can use [Markdown](https://www.markdownguide.org/cheat-sheet/) to add basic formatting to the text. Before you go on, try editing the text in this cell."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "5923b0d7-c0e0-48fa-b765-4aa6002c2d4f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Other cells are code cells, containing Python code. (This is a comment, of course!)\n",
|
||||
"# Try running this cell (again, shift+Enter). You'll see the result of the final statement \n",
|
||||
"# printed below the cell. \n",
|
||||
"# Then try changing the Python code and re-run it.\n",
|
||||
"\n",
|
||||
"1+1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "257ef44f-8f53-4136-9d0d-23a811ec53e9",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 0.1 Cells share state\n",
|
||||
"\n",
|
||||
"Even though code cells run one at a time, anything that happens in a cell (like declaring a variable or running a function) affects the whole notebook. Try running these two cells a few times, in different orders. What happens when you run *Cell B* over and over?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "0e2a2927-f6d1-4b13-97ae-ff97416723e9",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Cell A\n",
|
||||
"x = 10\n",
|
||||
"x"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "69dd7908-b213-4d0f-8016-e46a4a491961",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Cell B\n",
|
||||
"x = x * 2\n",
|
||||
"x"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "adc581ac-db13-40a8-bcfc-bf5d6e5472c5",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 0.2 Saving your work\n",
|
||||
"\n",
|
||||
"When you finish working on a notebook, save your work using the icon in the menu bar above. Your notebook is stored in the file `lab_04.ipynb` in the lab directory. You can commit your changes to `ipynb` files just like any other file. Once you finish with Jupyter, you can stop the server by pressing **Control + C** in the Terminal. \n",
|
||||
"\n",
|
||||
"*If you're doing this lab on a cloud-based platform like Binder, then you can't save your work. So don't close the tab!*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "c9c4aec2-949d-4a2e-b736-f5182b1f9ff7",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"---\n",
|
||||
"\n",
|
||||
"## 1. Pandas\n",
|
||||
"\n",
|
||||
"Pandas is probably the most important Python library for data science. Pandas provides an object called a **DataFrame**, which is basically a table with rows and columns. Most of the time, you will load data into Pandas using a `.csv` file. CSV files can be exported from Excel or Google Sheets, and are a common format for public data sets. \n",
|
||||
"\n",
|
||||
"In this lab, we'll be working with two data sets: The first contains Pokémon characteristics and the second comes from a wide-scale survey conducted by the US Centers for Disease Control ([details](https://www.cdc.gov/brfss/annual_data/annual_2020.html)). We will demonstrate techniques with Pokémon; your job is to replicate these tasks with the CDC dataset. \n",
|
||||
"\n",
|
||||
"**Note:** Pandas has *extensive* capabilities, and there's no way we could possibly present them all here. If you have a clearly-formed idea of what you want to do with tabular data, there's a way to do it. This lab introduces *some* of what Pandas can do, but expect to spend time reading the documentation and Stack Overflow when you start working on new tasks. \n",
|
||||
"\n",
|
||||
"### 1.0 Getting started\n",
|
||||
"\n",
|
||||
"First, we'll import pandas (using the conventional variable name `pd`) and load the two datasets. *Run these cells and every code cell you encounter in this notebook.*"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "ba09a0f8-27d9-456f-aeff-3980e3362d5b",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import pandas as pd"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "a29d508a-2d9a-4d62-9ff6-7a0ecfd5eba4",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"pokemon = pd.read_csv(\"pokemon.csv\")\n",
|
||||
"people = pd.read_csv(\"brfss_2020.csv\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "d4e0b811-b8bf-4e9a-a934-3aad8f0520bb",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 1.1 A first look\n",
|
||||
"\n",
|
||||
"#### Demo\n",
|
||||
"\n",
|
||||
"Let's start by learning the *shape* of the data. How many columns are there? How many rows? What kinds of data are included?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "579d8dda-ca39-48b1-8819-b17651029729",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"pokemon"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "ee8b0718-56f9-4fc8-bd35-fa0ccb445179",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"OK, 800 Pokémon, with 12 columns for each. And you can see all the columns. Not all the data is shown in this preview, of course. If there were more columns than could be displayed, you could see them all by typing `pokemon.columns`. \n",
|
||||
"\n",
|
||||
"#### Your turn\n",
|
||||
"\n",
|
||||
"Now do the same for your data set, `people`."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "c9e5e4ec-b197-450c-ae2d-318006fa0a2f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Your code here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "7fab76ef-d453-4568-a916-4d4c29535a42",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 1.2 Descriptive Statistics\n",
|
||||
"\n",
|
||||
"#### Demo\n",
|
||||
"\n",
|
||||
"Let's get a sense of the data contained in some of the columns. For categorical data like `generation`, it makes sense to look at value counts--showing us how many of each category there are. You can use the optional keyword `normalize=True` to see percentage of total instead of frequencies. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "9afca362-9edc-423c-981b-dc42107d5de0",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"pokemon.generation.value_counts()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a9b98eee-bdc2-4c63-bab2-ee82e2466d0f",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"For numeric data, we could start by looking at the mean value. We can select multiple columns and get all the column means at once."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "5fe580d0-5939-4152-9f8c-4c32d35a4479",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"pokemon[[\"hp\", \"attack\", \"defense\", \"speed\"]].mean()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "0d8e6e78-fcfc-4c38-a418-545fe4216a44",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"We can also compute the mean of boolean data. In this case, True will map to 1 and False will map to 0. So the mean value equals the percentage of data which is True. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "dc69ef53-70cd-4ae0-80e7-c9c8e28de76f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"pokemon.legendary.mean()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "69333e87-8df2-4b46-9005-2b8c9df3a7b4",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Just over 8% of Pokemon are legendary."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "f563d97d-d9d3-4f2d-a46a-5d5dfc6382de",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### Your turn\n",
|
||||
"\n",
|
||||
"**1.2.0.** In this survey, people are grouped into age bands of 18-24, 25-34, 35-44, 45-54, 55-64, and 65+, with the lower bound reported. What percentage of people are in each age band? (When we talk about \"people\" in this lab, we're referring to the people who responded to the survey, not the whole US population.)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "8fbcc766-8399-4f93-a6c8-e0607250a72a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Your code here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "38006e7b-4771-4c29-86a8-19d04a50fc25",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**1.2.1.** What are the mean height and weight of people in this survey?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "b7f910c8-3d40-49ae-b270-678734c04100",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Your code here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "f74634bb-8664-46e4-b371-6f45cbb7c8ef",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**1.2.2.** The `exercise` column indicates whether a person has done any physical activity or exercise in the last 30 days, outside of work. What percentage of people have done exercise?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "f3891188-a85f-4089-8388-d4d81c7438ad",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Your code here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "f6082e65-321c-4ee0-9457-74f9bb1b0363",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 1.3 Filtering\n",
|
||||
"\n",
|
||||
"Sometimes we're just interested in a selection of the data set. The way to do this is to create a boolean series, and then use this to select which rows you want to include. Vocabulary note: A dataframe is two-dimensional, with rows and columns. A series (a single row or a single column) is one-dimensional. \n",
|
||||
"\n",
|
||||
"#### Demo\n",
|
||||
"`pokemon.legendary` is already boolean, so we can use this to select just the legendary pokémon. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "12c0c6c9-c07b-4183-82f6-5e346c74aac9",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"legendary = pokemon[pokemon.legendary]\n",
|
||||
"legendary"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "b4ad804a-f5f0-441f-bb83-51f360c1c154",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Let's get all the ice pokémon. We can create a boolean series from another series..."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "5d089acf-7b76-4f91-8803-42a4a9a11e3e",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"pokemon.type == \"Ice\""
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a5ea9e89-f466-48de-9133-346c99f4a6c1",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"And then use this series to select just the ice pokémon. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "510fa0fc-2b38-4725-9bbf-ec57d62792be",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"ice = pokemon[pokemon.type == \"Ice\"]\n",
|
||||
"ice"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "0af5f534-0bec-4577-beee-29b350102265",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Let's get the high-speed ice pokémon. You can join conditions together using the `&` (and) and `|` (or) operators. `~` means \"not\", so `pokemon[~(pokemon.type == \"Ice\")]` would select all the non-ice pokémon. Due to order of operations, each condition needs to be wrapped in parentheses."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "05d4c5c2-c6b4-4795-9799-c884b15445a1",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"high_speed_ice = pokemon[(pokemon.type == \"Ice\") & (pokemon.speed >= 80)]\n",
|
||||
"high_speed_ice"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "c84dc7ce-24f2-4ac7-92d7-99ed331488e0",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"You could get the pokémon who are fire or ice by selecting `pokemon[(pokemon.type == \"Fire\") | (pokemon.type == \"Ice\")]`."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "1f0e9625-b194-450d-b003-b88798cc2f45",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### Your turn\n",
|
||||
"\n",
|
||||
"**1.3.0.** `no_doctor` indicates whether there was a time in the last year when the person needed to see a doctor, but could not afford to do so. Create a dataframe containing only these people. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "198cb0c6-3f43-43c2-9eee-3939c12ea537",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# YOUR CODE HERE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "9d213707-a15b-4751-8df9-48aa568af209",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**1.3.1.** `health` asks people for their general health, with the meanings of numbers shown below. Create a dataframe which contains people whose general health is good or better. \n",
|
||||
"\n",
|
||||
"| number | health status | \n",
|
||||
"| ------ | ----------- |\n",
|
||||
"| 1 | Poor |\n",
|
||||
"| 2 | Fair |\n",
|
||||
"| 3 | Good |\n",
|
||||
"| 4 | Very good |\n",
|
||||
"| 5 | Excellent |"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "8a8c1ad6-4c1e-4996-ab5e-5212dadb1851",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# YOUR CODE HERE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "7add542b-bfd2-481a-b5b4-4e1ca744078a",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**1.3.2.**. `education` indicates the highest level of education completed, with codes as follows. Create a dataframe which only contains female college graduates who needed a doctor but couldn't afford one. (The survey asked people for their current sex, and only had options for male and female.)\n",
|
||||
"\n",
|
||||
"| number | education level | \n",
|
||||
"| ------ | ----------- |\n",
|
||||
"| 1 | Did not graduate from high school |\n",
|
||||
"| 2 | Graduated from high school |\n",
|
||||
"| 3 | Attended some college |\n",
|
||||
"| 4 | Graduated from college |"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "315682ae-7d54-4d78-9a63-d23c83ba1576",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# YOUR CODE HERE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "646d1148-7d94-4521-a04a-fbf17ade1235",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 1.4. Grouping\n",
|
||||
"\n",
|
||||
"Now things get crazy. You can group a dataframe using one or more columns, and then compare their statistics. \n",
|
||||
"\n",
|
||||
"#### Demo\n",
|
||||
"\n",
|
||||
"Do different types of pokémon move at different speeds? We'll use `sort_values` to put these in order from slow to fast."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "069ea0ab-eff6-4985-9f46-db956fe1df91",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"pokemon.groupby(\"type\").speed.mean().sort_values()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "bdc801b7-d3ae-45bb-80f4-ebeb474e20a1",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Do types differ in other stats? Let's sort by hit points. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "5c420c0e-b5d2-49ae-ab98-3305ee076169",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"ptypes = pokemon.groupby(\"type\")\n",
|
||||
"ptypes[[\"hp\", \"attack\", \"defense\"]].mean().sort_values(\"hp\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "cc9a3d19-0ecd-487b-b34f-b748c44fc9c9",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Which type/subtype combinations are most likely to have legendary pokémon?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "444a580d-e70c-48a1-bf87-77f98b8c9f85",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"legendary_percentages = pokemon.groupby([\"type\", \"subtype\"]).legendary.mean().sort_values() \n",
|
||||
"legendary_percentages[legendary_percentages > 0.5]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "de23775b-8670-4371-913d-d8fa1d1f3a76",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### Your turn\n",
|
||||
"\n",
|
||||
"**1.4.0.** `income` records peoples' annual income, in the following bands. `sleep` records the average hours of sleep someone gets per night. Is there a difference in the average hours of sleep by income level?\n",
|
||||
"\n",
|
||||
"| number | annual income, in $1000 | \n",
|
||||
"| ------ | ----------- |\n",
|
||||
"| 1 | Less than 10 |\n",
|
||||
"| 2 | 10-15 |\n",
|
||||
"| 3 | 15-20 |\n",
|
||||
"| 4 | 20-25 |\n",
|
||||
"| 5 | 25-35 |\n",
|
||||
"| 6 | 35-50 |\n",
|
||||
"| 7 | 50-75 |\n",
|
||||
"| 8 | More than 75 |"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "75c1ac4f-3914-4c0a-a156-2e084002df66",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# YOUR CODE HERE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "f6413f2b-26a0-4b70-976f-90e45558c4bb",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**1.4.0.** Is there a difference in peoples' income or general health, by sex and education level? "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "d46df8a1-bbc2-45a4-9be1-cee1858cbf21",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# YOUR CODE HERE"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "931d602b-ddf4-4c8b-80e0-f886267cce76",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### 1.5. Plotting \n",
|
||||
"\n",
|
||||
"Pandas has excellent built-in plotting capabilities, but \n",
|
||||
"we are going to use the [seaborn](https://seaborn.pydata.org/) library because it's a bit \n",
|
||||
"more intuitive and produces more beautiful plots. `set_theme`, called here without any arguments, assigns the default color palette. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "b1e06e4f-6b9e-42af-a27c-dbb525a259ce",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import seaborn as sns\n",
|
||||
"sns.set_theme()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a15ad672-13e8-4bdd-bc31-a489a1730daf",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### Demo\n",
|
||||
"\n",
|
||||
"**When you want to visualize the distribution of a series**, a [histogram](https://seaborn.pydata.org/generated/seaborn.histplot.html) puts data into bins and plots the number of data points in each bin.\n",
|
||||
"\n",
|
||||
"Let's see the distribution of pokémon attack values. Note how assigning `x=\"attack\"` spreads attack values over the x-axis, while `y=\"attack\"` spreads attack values over the y-axis. The number of bins is selected automatically, but you can specify this with the optional `bins` argument. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "5ce066fe-f81d-4b78-a394-c5c2f4dc9f46",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"sns.histplot(data=pokemon, x=\"attack\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "bceb253b-ef4f-4aa2-aef4-cab2b3ca6d59",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"sns.histplot(data=pokemon, y=\"attack\", bins=5)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "2aac9186-86c0-41db-a1c4-8719bb78b46b",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**When you want to compare the distribution of a numeric variable across categories**, a [barplot](https://seaborn.pydata.org/generated/seaborn.barplot.html) is a good choice. Choose one numeric column and one categorical column. \n",
|
||||
"\n",
|
||||
"Let's see pokémon hit points by legendary/non-legendary. `ci=\"sd\"` shows the standard deviation for each category. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "92be1ad0-12bb-49f0-a3f6-85fcfd98e943",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"sns.barplot(data=pokemon, x=\"legendary\", y=\"hp\", ci=\"sd\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "4f75e1fa-a5d7-4d2c-a458-8190a7cd700e",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Here, we use a barplot to show average hit points by type. `ci=None` removes the standard deviation bars, because they clutter up the plot with too much detail. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "17f1c289-5990-4420-bfcb-e50eee0b8af6",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"sns.barplot(data=pokemon, x=\"hp\", y=\"type\", ci=None, palette=\"muted\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "213d6139-203f-4d81-a4b1-6f98cb184662",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**When you want to show how many observations are the intersection of multiple categories,** a [countplot](https://seaborn.pydata.org/generated/seaborn.countplot.html) is a good choice. \n",
|
||||
"\n",
|
||||
"To demonstrate this, let's convert the numeric variable `speed` into a categorical variable, `speed_category`, using the built-in function [cut](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.cut.html). "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "3c8e9f47-9aea-4bf0-a628-7aa1a66a8eee",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"bins = [0, 50, 100, 200]\n",
|
||||
"labels = [\"slow\", \"medium\", \"fast\"]\n",
|
||||
"pokemon[\"speed_category\"] = pd.cut(pokemon.speed, bins=bins, labels=labels)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "22f78bec-3d18-4133-ba9f-6595d7181ded",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"sns.countplot(data=pokemon, x=\"speed_category\", hue=\"legendary\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "fd508c13-9900-4be1-958f-4f9e9e9b633a",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**When you want to show the relationship between two numeric variables**, a [scatterplot](https://seaborn.pydata.org/generated/seaborn.scatterplot.html) is a good choice. \n",
|
||||
"\n",
|
||||
"Here, we plot pokémon hit points against their speed. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "444d9832-bd57-4238-9ea4-5ee898847170",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"sns.scatterplot(data=pokemon, x=\"hp\", y=\"speed\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "03e81709-393d-4c41-bce5-2dffc9cf5553",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"You can distinguish between categories within a scatter plot by assigning a categorical variable to `hue`. We set the marker size with `s` and their opacity with `alpha`. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "86f9747b-00a3-407f-9b73-0bce40bac50d",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"sns.scatterplot(data=pokemon, x=\"hp\", y=\"speed\", hue=\"legendary\", alpha=0.5, s=60)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "f3741251-2a2b-437e-b68f-084fb4399e9f",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Finally, if you want scatter plots across multiple categories, a [relplot](https://seaborn.pydata.org/generated/seaborn.relplot.html) lets you distribute categories across rows and colums in a grid. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "7385237c-6a5c-4041-af46-559d6d84d1fa",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"favorite_types = pokemon[pokemon.type.isin([\"Fire\", \"Water\", \"Grass\"])]\n",
|
||||
"sns.relplot(data=favorite_types, x=\"hp\", y=\"speed\", hue=\"legendary\", col=\"type\", s=100)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "c6a20904-416d-44be-a4f3-2107200fb3c2",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### Your turn\n",
|
||||
"\n",
|
||||
"**1.5.0.** Plot a histogram of peoples' heights."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "3b268a30-42ff-4ab8-b2cd-c58a76121f9c",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Your code here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "9b0c9120-fff4-42b2-8ab6-3aa2eba47806",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**1.5.1.** Plot a bar chart showing peoples' average hours of sleep by age. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "ee30c851-14b1-4901-9182-4304d54d53a6",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Your code here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "15d94323-2d65-4100-9916-101516f6ccf1",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**1.5.2.** Plot a bar chart showing peoples' likelihood of getting exercise by income. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "13eeecd8-2518-4ed9-aac5-727a96b5bf80",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Your code here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "b2705fef-470d-494c-86c1-8b3bd34b3660",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**1.5.3.** Plot a bar chart showing average reported health by age. For each age, show average health for those who get exercise and those who don't."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "4ee2eb69-2f9a-42e7-b5d3-9499631bfd06",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Your code here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "84b1e240-4f75-4c86-8c1f-1026aa223717",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**1.5.4.** Create a plot showing the number of people at each income level, for each education level. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "d7e02da8-beab-40e7-95d0-74a5c2bc838e",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Your code here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "ac717580-4157-402c-9262-b2b50dfe606f",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"**1.5.5.** Plot side-by-side scatter plots showing the relationship between height and weight for males and females. (There are so many overlapping dots that the plot will be more informative if you lower the opacity of each dot. Try using `alpha=0.1` and `edgecolor=None`.)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "b00dd7d6-226b-469c-86d8-b71b328aa576",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Your code here"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "e9ff7225-5d08-428b-90e8-ee60f4a4049a",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## 2. Crafting a data argument\n",
|
||||
"\n",
|
||||
"Everything up to here are just tools, worthless without a clear research question and a convincing argument. Choose a research question that interests you which might be answerable using the `people` dataset. Then do your best to find the answer in the space below. This answer should include data analysis (code cells) as well as written argument (text cells) explaining what the data means and why you believe it answers your question. \n",
|
||||
"\n",
|
||||
"Examples of research questions might include:\n",
|
||||
"\n",
|
||||
"- Do older people tend to have higher incomes?\n",
|
||||
"- Do people who sleep at least 6 hours a night tend to report better health? \n",
|
||||
"- Is it more common for males to be bisexual than females?\n",
|
||||
"\n",
|
||||
"**A note of caution:** this lab has given you tools for exploring associations--patterns that tend to co-occur. These tools *do not* equip you to argue that one variable causes another to change. For example: Plot 1.5.4 showed that people who are taller also tend to be heaver, with a lot of individual variation. But are people heavier *because* they are taller? Are they taller because they are heavier? Or maybe neither variable causes the other--perhaps they're both caused by something else. If you want to be able to answer questions like these, take a course on statistics."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "6f934273-b829-4bc2-a7f4-a27a3fc44a99",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# Your code here. Feel free to add new text cells and code cells as necessary."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "8b4b852b-402c-45d4-b3bb-840e47b249ed",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.11.3"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
|
@ -0,0 +1,801 @@
|
|||
name,type,subtype,total,hp,attack,defense,special_attack,special_defense,speed,generation,legendary
|
||||
Bulbasaur,Grass,Poison,318,45,49,49,65,65,45,1,False
|
||||
Ivysaur,Grass,Poison,405,60,62,63,80,80,60,1,False
|
||||
Venusaur,Grass,Poison,525,80,82,83,100,100,80,1,False
|
||||
VenusaurMega Venusaur,Grass,Poison,625,80,100,123,122,120,80,1,False
|
||||
Charmander,Fire,,309,39,52,43,60,50,65,1,False
|
||||
Charmeleon,Fire,,405,58,64,58,80,65,80,1,False
|
||||
Charizard,Fire,Flying,534,78,84,78,109,85,100,1,False
|
||||
CharizardMega Charizard X,Fire,Dragon,634,78,130,111,130,85,100,1,False
|
||||
CharizardMega Charizard Y,Fire,Flying,634,78,104,78,159,115,100,1,False
|
||||
Squirtle,Water,,314,44,48,65,50,64,43,1,False
|
||||
Wartortle,Water,,405,59,63,80,65,80,58,1,False
|
||||
Blastoise,Water,,530,79,83,100,85,105,78,1,False
|
||||
BlastoiseMega Blastoise,Water,,630,79,103,120,135,115,78,1,False
|
||||
Caterpie,Bug,,195,45,30,35,20,20,45,1,False
|
||||
Metapod,Bug,,205,50,20,55,25,25,30,1,False
|
||||
Butterfree,Bug,Flying,395,60,45,50,90,80,70,1,False
|
||||
Weedle,Bug,Poison,195,40,35,30,20,20,50,1,False
|
||||
Kakuna,Bug,Poison,205,45,25,50,25,25,35,1,False
|
||||
Beedrill,Bug,Poison,395,65,90,40,45,80,75,1,False
|
||||
BeedrillMega Beedrill,Bug,Poison,495,65,150,40,15,80,145,1,False
|
||||
Pidgey,Normal,Flying,251,40,45,40,35,35,56,1,False
|
||||
Pidgeotto,Normal,Flying,349,63,60,55,50,50,71,1,False
|
||||
Pidgeot,Normal,Flying,479,83,80,75,70,70,101,1,False
|
||||
PidgeotMega Pidgeot,Normal,Flying,579,83,80,80,135,80,121,1,False
|
||||
Rattata,Normal,,253,30,56,35,25,35,72,1,False
|
||||
Raticate,Normal,,413,55,81,60,50,70,97,1,False
|
||||
Spearow,Normal,Flying,262,40,60,30,31,31,70,1,False
|
||||
Fearow,Normal,Flying,442,65,90,65,61,61,100,1,False
|
||||
Ekans,Poison,,288,35,60,44,40,54,55,1,False
|
||||
Arbok,Poison,,438,60,85,69,65,79,80,1,False
|
||||
Pikachu,Electric,,320,35,55,40,50,50,90,1,False
|
||||
Raichu,Electric,,485,60,90,55,90,80,110,1,False
|
||||
Sandshrew,Ground,,300,50,75,85,20,30,40,1,False
|
||||
Sandslash,Ground,,450,75,100,110,45,55,65,1,False
|
||||
Nidoran♀,Poison,,275,55,47,52,40,40,41,1,False
|
||||
Nidorina,Poison,,365,70,62,67,55,55,56,1,False
|
||||
Nidoqueen,Poison,Ground,505,90,92,87,75,85,76,1,False
|
||||
Nidoran♂,Poison,,273,46,57,40,40,40,50,1,False
|
||||
Nidorino,Poison,,365,61,72,57,55,55,65,1,False
|
||||
Nidoking,Poison,Ground,505,81,102,77,85,75,85,1,False
|
||||
Clefairy,Fairy,,323,70,45,48,60,65,35,1,False
|
||||
Clefable,Fairy,,483,95,70,73,95,90,60,1,False
|
||||
Vulpix,Fire,,299,38,41,40,50,65,65,1,False
|
||||
Ninetales,Fire,,505,73,76,75,81,100,100,1,False
|
||||
Jigglypuff,Normal,Fairy,270,115,45,20,45,25,20,1,False
|
||||
Wigglytuff,Normal,Fairy,435,140,70,45,85,50,45,1,False
|
||||
Zubat,Poison,Flying,245,40,45,35,30,40,55,1,False
|
||||
Golbat,Poison,Flying,455,75,80,70,65,75,90,1,False
|
||||
Oddish,Grass,Poison,320,45,50,55,75,65,30,1,False
|
||||
Gloom,Grass,Poison,395,60,65,70,85,75,40,1,False
|
||||
Vileplume,Grass,Poison,490,75,80,85,110,90,50,1,False
|
||||
Paras,Bug,Grass,285,35,70,55,45,55,25,1,False
|
||||
Parasect,Bug,Grass,405,60,95,80,60,80,30,1,False
|
||||
Venonat,Bug,Poison,305,60,55,50,40,55,45,1,False
|
||||
Venomoth,Bug,Poison,450,70,65,60,90,75,90,1,False
|
||||
Diglett,Ground,,265,10,55,25,35,45,95,1,False
|
||||
Dugtrio,Ground,,405,35,80,50,50,70,120,1,False
|
||||
Meowth,Normal,,290,40,45,35,40,40,90,1,False
|
||||
Persian,Normal,,440,65,70,60,65,65,115,1,False
|
||||
Psyduck,Water,,320,50,52,48,65,50,55,1,False
|
||||
Golduck,Water,,500,80,82,78,95,80,85,1,False
|
||||
Mankey,Fighting,,305,40,80,35,35,45,70,1,False
|
||||
Primeape,Fighting,,455,65,105,60,60,70,95,1,False
|
||||
Growlithe,Fire,,350,55,70,45,70,50,60,1,False
|
||||
Arcanine,Fire,,555,90,110,80,100,80,95,1,False
|
||||
Poliwag,Water,,300,40,50,40,40,40,90,1,False
|
||||
Poliwhirl,Water,,385,65,65,65,50,50,90,1,False
|
||||
Poliwrath,Water,Fighting,510,90,95,95,70,90,70,1,False
|
||||
Abra,Psychic,,310,25,20,15,105,55,90,1,False
|
||||
Kadabra,Psychic,,400,40,35,30,120,70,105,1,False
|
||||
Alakazam,Psychic,,500,55,50,45,135,95,120,1,False
|
||||
AlakazamMega Alakazam,Psychic,,590,55,50,65,175,95,150,1,False
|
||||
Machop,Fighting,,305,70,80,50,35,35,35,1,False
|
||||
Machoke,Fighting,,405,80,100,70,50,60,45,1,False
|
||||
Machamp,Fighting,,505,90,130,80,65,85,55,1,False
|
||||
Bellsprout,Grass,Poison,300,50,75,35,70,30,40,1,False
|
||||
Weepinbell,Grass,Poison,390,65,90,50,85,45,55,1,False
|
||||
Victreebel,Grass,Poison,490,80,105,65,100,70,70,1,False
|
||||
Tentacool,Water,Poison,335,40,40,35,50,100,70,1,False
|
||||
Tentacruel,Water,Poison,515,80,70,65,80,120,100,1,False
|
||||
Geodude,Rock,Ground,300,40,80,100,30,30,20,1,False
|
||||
Graveler,Rock,Ground,390,55,95,115,45,45,35,1,False
|
||||
Golem,Rock,Ground,495,80,120,130,55,65,45,1,False
|
||||
Ponyta,Fire,,410,50,85,55,65,65,90,1,False
|
||||
Rapidash,Fire,,500,65,100,70,80,80,105,1,False
|
||||
Slowpoke,Water,Psychic,315,90,65,65,40,40,15,1,False
|
||||
Slowbro,Water,Psychic,490,95,75,110,100,80,30,1,False
|
||||
SlowbroMega Slowbro,Water,Psychic,590,95,75,180,130,80,30,1,False
|
||||
Magnemite,Electric,Steel,325,25,35,70,95,55,45,1,False
|
||||
Magneton,Electric,Steel,465,50,60,95,120,70,70,1,False
|
||||
Farfetch'd,Normal,Flying,352,52,65,55,58,62,60,1,False
|
||||
Doduo,Normal,Flying,310,35,85,45,35,35,75,1,False
|
||||
Dodrio,Normal,Flying,460,60,110,70,60,60,100,1,False
|
||||
Seel,Water,,325,65,45,55,45,70,45,1,False
|
||||
Dewgong,Water,Ice,475,90,70,80,70,95,70,1,False
|
||||
Grimer,Poison,,325,80,80,50,40,50,25,1,False
|
||||
Muk,Poison,,500,105,105,75,65,100,50,1,False
|
||||
Shellder,Water,,305,30,65,100,45,25,40,1,False
|
||||
Cloyster,Water,Ice,525,50,95,180,85,45,70,1,False
|
||||
Gastly,Ghost,Poison,310,30,35,30,100,35,80,1,False
|
||||
Haunter,Ghost,Poison,405,45,50,45,115,55,95,1,False
|
||||
Gengar,Ghost,Poison,500,60,65,60,130,75,110,1,False
|
||||
GengarMega Gengar,Ghost,Poison,600,60,65,80,170,95,130,1,False
|
||||
Onix,Rock,Ground,385,35,45,160,30,45,70,1,False
|
||||
Drowzee,Psychic,,328,60,48,45,43,90,42,1,False
|
||||
Hypno,Psychic,,483,85,73,70,73,115,67,1,False
|
||||
Krabby,Water,,325,30,105,90,25,25,50,1,False
|
||||
Kingler,Water,,475,55,130,115,50,50,75,1,False
|
||||
Voltorb,Electric,,330,40,30,50,55,55,100,1,False
|
||||
Electrode,Electric,,480,60,50,70,80,80,140,1,False
|
||||
Exeggcute,Grass,Psychic,325,60,40,80,60,45,40,1,False
|
||||
Exeggutor,Grass,Psychic,520,95,95,85,125,65,55,1,False
|
||||
Cubone,Ground,,320,50,50,95,40,50,35,1,False
|
||||
Marowak,Ground,,425,60,80,110,50,80,45,1,False
|
||||
Hitmonlee,Fighting,,455,50,120,53,35,110,87,1,False
|
||||
Hitmonchan,Fighting,,455,50,105,79,35,110,76,1,False
|
||||
Lickitung,Normal,,385,90,55,75,60,75,30,1,False
|
||||
Koffing,Poison,,340,40,65,95,60,45,35,1,False
|
||||
Weezing,Poison,,490,65,90,120,85,70,60,1,False
|
||||
Rhyhorn,Ground,Rock,345,80,85,95,30,30,25,1,False
|
||||
Rhydon,Ground,Rock,485,105,130,120,45,45,40,1,False
|
||||
Chansey,Normal,,450,250,5,5,35,105,50,1,False
|
||||
Tangela,Grass,,435,65,55,115,100,40,60,1,False
|
||||
Kangaskhan,Normal,,490,105,95,80,40,80,90,1,False
|
||||
KangaskhanMega Kangaskhan,Normal,,590,105,125,100,60,100,100,1,False
|
||||
Horsea,Water,,295,30,40,70,70,25,60,1,False
|
||||
Seadra,Water,,440,55,65,95,95,45,85,1,False
|
||||
Goldeen,Water,,320,45,67,60,35,50,63,1,False
|
||||
Seaking,Water,,450,80,92,65,65,80,68,1,False
|
||||
Staryu,Water,,340,30,45,55,70,55,85,1,False
|
||||
Starmie,Water,Psychic,520,60,75,85,100,85,115,1,False
|
||||
Mr. Mime,Psychic,Fairy,460,40,45,65,100,120,90,1,False
|
||||
Scyther,Bug,Flying,500,70,110,80,55,80,105,1,False
|
||||
Jynx,Ice,Psychic,455,65,50,35,115,95,95,1,False
|
||||
Electabuzz,Electric,,490,65,83,57,95,85,105,1,False
|
||||
Magmar,Fire,,495,65,95,57,100,85,93,1,False
|
||||
Pinsir,Bug,,500,65,125,100,55,70,85,1,False
|
||||
PinsirMega Pinsir,Bug,Flying,600,65,155,120,65,90,105,1,False
|
||||
Tauros,Normal,,490,75,100,95,40,70,110,1,False
|
||||
Magikarp,Water,,200,20,10,55,15,20,80,1,False
|
||||
Gyarados,Water,Flying,540,95,125,79,60,100,81,1,False
|
||||
GyaradosMega Gyarados,Water,Dark,640,95,155,109,70,130,81,1,False
|
||||
Lapras,Water,Ice,535,130,85,80,85,95,60,1,False
|
||||
Ditto,Normal,,288,48,48,48,48,48,48,1,False
|
||||
Eevee,Normal,,325,55,55,50,45,65,55,1,False
|
||||
Vaporeon,Water,,525,130,65,60,110,95,65,1,False
|
||||
Jolteon,Electric,,525,65,65,60,110,95,130,1,False
|
||||
Flareon,Fire,,525,65,130,60,95,110,65,1,False
|
||||
Porygon,Normal,,395,65,60,70,85,75,40,1,False
|
||||
Omanyte,Rock,Water,355,35,40,100,90,55,35,1,False
|
||||
Omastar,Rock,Water,495,70,60,125,115,70,55,1,False
|
||||
Kabuto,Rock,Water,355,30,80,90,55,45,55,1,False
|
||||
Kabutops,Rock,Water,495,60,115,105,65,70,80,1,False
|
||||
Aerodactyl,Rock,Flying,515,80,105,65,60,75,130,1,False
|
||||
AerodactylMega Aerodactyl,Rock,Flying,615,80,135,85,70,95,150,1,False
|
||||
Snorlax,Normal,,540,160,110,65,65,110,30,1,False
|
||||
Articuno,Ice,Flying,580,90,85,100,95,125,85,1,True
|
||||
Zapdos,Electric,Flying,580,90,90,85,125,90,100,1,True
|
||||
Moltres,Fire,Flying,580,90,100,90,125,85,90,1,True
|
||||
Dratini,Dragon,,300,41,64,45,50,50,50,1,False
|
||||
Dragonair,Dragon,,420,61,84,65,70,70,70,1,False
|
||||
Dragonite,Dragon,Flying,600,91,134,95,100,100,80,1,False
|
||||
Mewtwo,Psychic,,680,106,110,90,154,90,130,1,True
|
||||
MewtwoMega Mewtwo X,Psychic,Fighting,780,106,190,100,154,100,130,1,True
|
||||
MewtwoMega Mewtwo Y,Psychic,,780,106,150,70,194,120,140,1,True
|
||||
Mew,Psychic,,600,100,100,100,100,100,100,1,False
|
||||
Chikorita,Grass,,318,45,49,65,49,65,45,2,False
|
||||
Bayleef,Grass,,405,60,62,80,63,80,60,2,False
|
||||
Meganium,Grass,,525,80,82,100,83,100,80,2,False
|
||||
Cyndaquil,Fire,,309,39,52,43,60,50,65,2,False
|
||||
Quilava,Fire,,405,58,64,58,80,65,80,2,False
|
||||
Typhlosion,Fire,,534,78,84,78,109,85,100,2,False
|
||||
Totodile,Water,,314,50,65,64,44,48,43,2,False
|
||||
Croconaw,Water,,405,65,80,80,59,63,58,2,False
|
||||
Feraligatr,Water,,530,85,105,100,79,83,78,2,False
|
||||
Sentret,Normal,,215,35,46,34,35,45,20,2,False
|
||||
Furret,Normal,,415,85,76,64,45,55,90,2,False
|
||||
Hoothoot,Normal,Flying,262,60,30,30,36,56,50,2,False
|
||||
Noctowl,Normal,Flying,442,100,50,50,76,96,70,2,False
|
||||
Ledyba,Bug,Flying,265,40,20,30,40,80,55,2,False
|
||||
Ledian,Bug,Flying,390,55,35,50,55,110,85,2,False
|
||||
Spinarak,Bug,Poison,250,40,60,40,40,40,30,2,False
|
||||
Ariados,Bug,Poison,390,70,90,70,60,60,40,2,False
|
||||
Crobat,Poison,Flying,535,85,90,80,70,80,130,2,False
|
||||
Chinchou,Water,Electric,330,75,38,38,56,56,67,2,False
|
||||
Lanturn,Water,Electric,460,125,58,58,76,76,67,2,False
|
||||
Pichu,Electric,,205,20,40,15,35,35,60,2,False
|
||||
Cleffa,Fairy,,218,50,25,28,45,55,15,2,False
|
||||
Igglybuff,Normal,Fairy,210,90,30,15,40,20,15,2,False
|
||||
Togepi,Fairy,,245,35,20,65,40,65,20,2,False
|
||||
Togetic,Fairy,Flying,405,55,40,85,80,105,40,2,False
|
||||
Natu,Psychic,Flying,320,40,50,45,70,45,70,2,False
|
||||
Xatu,Psychic,Flying,470,65,75,70,95,70,95,2,False
|
||||
Mareep,Electric,,280,55,40,40,65,45,35,2,False
|
||||
Flaaffy,Electric,,365,70,55,55,80,60,45,2,False
|
||||
Ampharos,Electric,,510,90,75,85,115,90,55,2,False
|
||||
AmpharosMega Ampharos,Electric,Dragon,610,90,95,105,165,110,45,2,False
|
||||
Bellossom,Grass,,490,75,80,95,90,100,50,2,False
|
||||
Marill,Water,Fairy,250,70,20,50,20,50,40,2,False
|
||||
Azumarill,Water,Fairy,420,100,50,80,60,80,50,2,False
|
||||
Sudowoodo,Rock,,410,70,100,115,30,65,30,2,False
|
||||
Politoed,Water,,500,90,75,75,90,100,70,2,False
|
||||
Hoppip,Grass,Flying,250,35,35,40,35,55,50,2,False
|
||||
Skiploom,Grass,Flying,340,55,45,50,45,65,80,2,False
|
||||
Jumpluff,Grass,Flying,460,75,55,70,55,95,110,2,False
|
||||
Aipom,Normal,,360,55,70,55,40,55,85,2,False
|
||||
Sunkern,Grass,,180,30,30,30,30,30,30,2,False
|
||||
Sunflora,Grass,,425,75,75,55,105,85,30,2,False
|
||||
Yanma,Bug,Flying,390,65,65,45,75,45,95,2,False
|
||||
Wooper,Water,Ground,210,55,45,45,25,25,15,2,False
|
||||
Quagsire,Water,Ground,430,95,85,85,65,65,35,2,False
|
||||
Espeon,Psychic,,525,65,65,60,130,95,110,2,False
|
||||
Umbreon,Dark,,525,95,65,110,60,130,65,2,False
|
||||
Murkrow,Dark,Flying,405,60,85,42,85,42,91,2,False
|
||||
Slowking,Water,Psychic,490,95,75,80,100,110,30,2,False
|
||||
Misdreavus,Ghost,,435,60,60,60,85,85,85,2,False
|
||||
Unown,Psychic,,336,48,72,48,72,48,48,2,False
|
||||
Wobbuffet,Psychic,,405,190,33,58,33,58,33,2,False
|
||||
Girafarig,Normal,Psychic,455,70,80,65,90,65,85,2,False
|
||||
Pineco,Bug,,290,50,65,90,35,35,15,2,False
|
||||
Forretress,Bug,Steel,465,75,90,140,60,60,40,2,False
|
||||
Dunsparce,Normal,,415,100,70,70,65,65,45,2,False
|
||||
Gligar,Ground,Flying,430,65,75,105,35,65,85,2,False
|
||||
Steelix,Steel,Ground,510,75,85,200,55,65,30,2,False
|
||||
SteelixMega Steelix,Steel,Ground,610,75,125,230,55,95,30,2,False
|
||||
Snubbull,Fairy,,300,60,80,50,40,40,30,2,False
|
||||
Granbull,Fairy,,450,90,120,75,60,60,45,2,False
|
||||
Qwilfish,Water,Poison,430,65,95,75,55,55,85,2,False
|
||||
Scizor,Bug,Steel,500,70,130,100,55,80,65,2,False
|
||||
ScizorMega Scizor,Bug,Steel,600,70,150,140,65,100,75,2,False
|
||||
Shuckle,Bug,Rock,505,20,10,230,10,230,5,2,False
|
||||
Heracross,Bug,Fighting,500,80,125,75,40,95,85,2,False
|
||||
HeracrossMega Heracross,Bug,Fighting,600,80,185,115,40,105,75,2,False
|
||||
Sneasel,Dark,Ice,430,55,95,55,35,75,115,2,False
|
||||
Teddiursa,Normal,,330,60,80,50,50,50,40,2,False
|
||||
Ursaring,Normal,,500,90,130,75,75,75,55,2,False
|
||||
Slugma,Fire,,250,40,40,40,70,40,20,2,False
|
||||
Magcargo,Fire,Rock,410,50,50,120,80,80,30,2,False
|
||||
Swinub,Ice,Ground,250,50,50,40,30,30,50,2,False
|
||||
Piloswine,Ice,Ground,450,100,100,80,60,60,50,2,False
|
||||
Corsola,Water,Rock,380,55,55,85,65,85,35,2,False
|
||||
Remoraid,Water,,300,35,65,35,65,35,65,2,False
|
||||
Octillery,Water,,480,75,105,75,105,75,45,2,False
|
||||
Delibird,Ice,Flying,330,45,55,45,65,45,75,2,False
|
||||
Mantine,Water,Flying,465,65,40,70,80,140,70,2,False
|
||||
Skarmory,Steel,Flying,465,65,80,140,40,70,70,2,False
|
||||
Houndour,Dark,Fire,330,45,60,30,80,50,65,2,False
|
||||
Houndoom,Dark,Fire,500,75,90,50,110,80,95,2,False
|
||||
HoundoomMega Houndoom,Dark,Fire,600,75,90,90,140,90,115,2,False
|
||||
Kingdra,Water,Dragon,540,75,95,95,95,95,85,2,False
|
||||
Phanpy,Ground,,330,90,60,60,40,40,40,2,False
|
||||
Donphan,Ground,,500,90,120,120,60,60,50,2,False
|
||||
Porygon2,Normal,,515,85,80,90,105,95,60,2,False
|
||||
Stantler,Normal,,465,73,95,62,85,65,85,2,False
|
||||
Smeargle,Normal,,250,55,20,35,20,45,75,2,False
|
||||
Tyrogue,Fighting,,210,35,35,35,35,35,35,2,False
|
||||
Hitmontop,Fighting,,455,50,95,95,35,110,70,2,False
|
||||
Smoochum,Ice,Psychic,305,45,30,15,85,65,65,2,False
|
||||
Elekid,Electric,,360,45,63,37,65,55,95,2,False
|
||||
Magby,Fire,,365,45,75,37,70,55,83,2,False
|
||||
Miltank,Normal,,490,95,80,105,40,70,100,2,False
|
||||
Blissey,Normal,,540,255,10,10,75,135,55,2,False
|
||||
Raikou,Electric,,580,90,85,75,115,100,115,2,True
|
||||
Entei,Fire,,580,115,115,85,90,75,100,2,True
|
||||
Suicune,Water,,580,100,75,115,90,115,85,2,True
|
||||
Larvitar,Rock,Ground,300,50,64,50,45,50,41,2,False
|
||||
Pupitar,Rock,Ground,410,70,84,70,65,70,51,2,False
|
||||
Tyranitar,Rock,Dark,600,100,134,110,95,100,61,2,False
|
||||
TyranitarMega Tyranitar,Rock,Dark,700,100,164,150,95,120,71,2,False
|
||||
Lugia,Psychic,Flying,680,106,90,130,90,154,110,2,True
|
||||
Ho-oh,Fire,Flying,680,106,130,90,110,154,90,2,True
|
||||
Celebi,Psychic,Grass,600,100,100,100,100,100,100,2,False
|
||||
Treecko,Grass,,310,40,45,35,65,55,70,3,False
|
||||
Grovyle,Grass,,405,50,65,45,85,65,95,3,False
|
||||
Sceptile,Grass,,530,70,85,65,105,85,120,3,False
|
||||
SceptileMega Sceptile,Grass,Dragon,630,70,110,75,145,85,145,3,False
|
||||
Torchic,Fire,,310,45,60,40,70,50,45,3,False
|
||||
Combusken,Fire,Fighting,405,60,85,60,85,60,55,3,False
|
||||
Blaziken,Fire,Fighting,530,80,120,70,110,70,80,3,False
|
||||
BlazikenMega Blaziken,Fire,Fighting,630,80,160,80,130,80,100,3,False
|
||||
Mudkip,Water,,310,50,70,50,50,50,40,3,False
|
||||
Marshtomp,Water,Ground,405,70,85,70,60,70,50,3,False
|
||||
Swampert,Water,Ground,535,100,110,90,85,90,60,3,False
|
||||
SwampertMega Swampert,Water,Ground,635,100,150,110,95,110,70,3,False
|
||||
Poochyena,Dark,,220,35,55,35,30,30,35,3,False
|
||||
Mightyena,Dark,,420,70,90,70,60,60,70,3,False
|
||||
Zigzagoon,Normal,,240,38,30,41,30,41,60,3,False
|
||||
Linoone,Normal,,420,78,70,61,50,61,100,3,False
|
||||
Wurmple,Bug,,195,45,45,35,20,30,20,3,False
|
||||
Silcoon,Bug,,205,50,35,55,25,25,15,3,False
|
||||
Beautifly,Bug,Flying,395,60,70,50,100,50,65,3,False
|
||||
Cascoon,Bug,,205,50,35,55,25,25,15,3,False
|
||||
Dustox,Bug,Poison,385,60,50,70,50,90,65,3,False
|
||||
Lotad,Water,Grass,220,40,30,30,40,50,30,3,False
|
||||
Lombre,Water,Grass,340,60,50,50,60,70,50,3,False
|
||||
Ludicolo,Water,Grass,480,80,70,70,90,100,70,3,False
|
||||
Seedot,Grass,,220,40,40,50,30,30,30,3,False
|
||||
Nuzleaf,Grass,Dark,340,70,70,40,60,40,60,3,False
|
||||
Shiftry,Grass,Dark,480,90,100,60,90,60,80,3,False
|
||||
Taillow,Normal,Flying,270,40,55,30,30,30,85,3,False
|
||||
Swellow,Normal,Flying,430,60,85,60,50,50,125,3,False
|
||||
Wingull,Water,Flying,270,40,30,30,55,30,85,3,False
|
||||
Pelipper,Water,Flying,430,60,50,100,85,70,65,3,False
|
||||
Ralts,Psychic,Fairy,198,28,25,25,45,35,40,3,False
|
||||
Kirlia,Psychic,Fairy,278,38,35,35,65,55,50,3,False
|
||||
Gardevoir,Psychic,Fairy,518,68,65,65,125,115,80,3,False
|
||||
GardevoirMega Gardevoir,Psychic,Fairy,618,68,85,65,165,135,100,3,False
|
||||
Surskit,Bug,Water,269,40,30,32,50,52,65,3,False
|
||||
Masquerain,Bug,Flying,414,70,60,62,80,82,60,3,False
|
||||
Shroomish,Grass,,295,60,40,60,40,60,35,3,False
|
||||
Breloom,Grass,Fighting,460,60,130,80,60,60,70,3,False
|
||||
Slakoth,Normal,,280,60,60,60,35,35,30,3,False
|
||||
Vigoroth,Normal,,440,80,80,80,55,55,90,3,False
|
||||
Slaking,Normal,,670,150,160,100,95,65,100,3,False
|
||||
Nincada,Bug,Ground,266,31,45,90,30,30,40,3,False
|
||||
Ninjask,Bug,Flying,456,61,90,45,50,50,160,3,False
|
||||
Shedinja,Bug,Ghost,236,1,90,45,30,30,40,3,False
|
||||
Whismur,Normal,,240,64,51,23,51,23,28,3,False
|
||||
Loudred,Normal,,360,84,71,43,71,43,48,3,False
|
||||
Exploud,Normal,,490,104,91,63,91,73,68,3,False
|
||||
Makuhita,Fighting,,237,72,60,30,20,30,25,3,False
|
||||
Hariyama,Fighting,,474,144,120,60,40,60,50,3,False
|
||||
Azurill,Normal,Fairy,190,50,20,40,20,40,20,3,False
|
||||
Nosepass,Rock,,375,30,45,135,45,90,30,3,False
|
||||
Skitty,Normal,,260,50,45,45,35,35,50,3,False
|
||||
Delcatty,Normal,,380,70,65,65,55,55,70,3,False
|
||||
Sableye,Dark,Ghost,380,50,75,75,65,65,50,3,False
|
||||
SableyeMega Sableye,Dark,Ghost,480,50,85,125,85,115,20,3,False
|
||||
Mawile,Steel,Fairy,380,50,85,85,55,55,50,3,False
|
||||
MawileMega Mawile,Steel,Fairy,480,50,105,125,55,95,50,3,False
|
||||
Aron,Steel,Rock,330,50,70,100,40,40,30,3,False
|
||||
Lairon,Steel,Rock,430,60,90,140,50,50,40,3,False
|
||||
Aggron,Steel,Rock,530,70,110,180,60,60,50,3,False
|
||||
AggronMega Aggron,Steel,,630,70,140,230,60,80,50,3,False
|
||||
Meditite,Fighting,Psychic,280,30,40,55,40,55,60,3,False
|
||||
Medicham,Fighting,Psychic,410,60,60,75,60,75,80,3,False
|
||||
MedichamMega Medicham,Fighting,Psychic,510,60,100,85,80,85,100,3,False
|
||||
Electrike,Electric,,295,40,45,40,65,40,65,3,False
|
||||
Manectric,Electric,,475,70,75,60,105,60,105,3,False
|
||||
ManectricMega Manectric,Electric,,575,70,75,80,135,80,135,3,False
|
||||
Plusle,Electric,,405,60,50,40,85,75,95,3,False
|
||||
Minun,Electric,,405,60,40,50,75,85,95,3,False
|
||||
Volbeat,Bug,,400,65,73,55,47,75,85,3,False
|
||||
Illumise,Bug,,400,65,47,55,73,75,85,3,False
|
||||
Roselia,Grass,Poison,400,50,60,45,100,80,65,3,False
|
||||
Gulpin,Poison,,302,70,43,53,43,53,40,3,False
|
||||
Swalot,Poison,,467,100,73,83,73,83,55,3,False
|
||||
Carvanha,Water,Dark,305,45,90,20,65,20,65,3,False
|
||||
Sharpedo,Water,Dark,460,70,120,40,95,40,95,3,False
|
||||
SharpedoMega Sharpedo,Water,Dark,560,70,140,70,110,65,105,3,False
|
||||
Wailmer,Water,,400,130,70,35,70,35,60,3,False
|
||||
Wailord,Water,,500,170,90,45,90,45,60,3,False
|
||||
Numel,Fire,Ground,305,60,60,40,65,45,35,3,False
|
||||
Camerupt,Fire,Ground,460,70,100,70,105,75,40,3,False
|
||||
CameruptMega Camerupt,Fire,Ground,560,70,120,100,145,105,20,3,False
|
||||
Torkoal,Fire,,470,70,85,140,85,70,20,3,False
|
||||
Spoink,Psychic,,330,60,25,35,70,80,60,3,False
|
||||
Grumpig,Psychic,,470,80,45,65,90,110,80,3,False
|
||||
Spinda,Normal,,360,60,60,60,60,60,60,3,False
|
||||
Trapinch,Ground,,290,45,100,45,45,45,10,3,False
|
||||
Vibrava,Ground,Dragon,340,50,70,50,50,50,70,3,False
|
||||
Flygon,Ground,Dragon,520,80,100,80,80,80,100,3,False
|
||||
Cacnea,Grass,,335,50,85,40,85,40,35,3,False
|
||||
Cacturne,Grass,Dark,475,70,115,60,115,60,55,3,False
|
||||
Swablu,Normal,Flying,310,45,40,60,40,75,50,3,False
|
||||
Altaria,Dragon,Flying,490,75,70,90,70,105,80,3,False
|
||||
AltariaMega Altaria,Dragon,Fairy,590,75,110,110,110,105,80,3,False
|
||||
Zangoose,Normal,,458,73,115,60,60,60,90,3,False
|
||||
Seviper,Poison,,458,73,100,60,100,60,65,3,False
|
||||
Lunatone,Rock,Psychic,440,70,55,65,95,85,70,3,False
|
||||
Solrock,Rock,Psychic,440,70,95,85,55,65,70,3,False
|
||||
Barboach,Water,Ground,288,50,48,43,46,41,60,3,False
|
||||
Whiscash,Water,Ground,468,110,78,73,76,71,60,3,False
|
||||
Corphish,Water,,308,43,80,65,50,35,35,3,False
|
||||
Crawdaunt,Water,Dark,468,63,120,85,90,55,55,3,False
|
||||
Baltoy,Ground,Psychic,300,40,40,55,40,70,55,3,False
|
||||
Claydol,Ground,Psychic,500,60,70,105,70,120,75,3,False
|
||||
Lileep,Rock,Grass,355,66,41,77,61,87,23,3,False
|
||||
Cradily,Rock,Grass,495,86,81,97,81,107,43,3,False
|
||||
Anorith,Rock,Bug,355,45,95,50,40,50,75,3,False
|
||||
Armaldo,Rock,Bug,495,75,125,100,70,80,45,3,False
|
||||
Feebas,Water,,200,20,15,20,10,55,80,3,False
|
||||
Milotic,Water,,540,95,60,79,100,125,81,3,False
|
||||
Castform,Normal,,420,70,70,70,70,70,70,3,False
|
||||
Kecleon,Normal,,440,60,90,70,60,120,40,3,False
|
||||
Shuppet,Ghost,,295,44,75,35,63,33,45,3,False
|
||||
Banette,Ghost,,455,64,115,65,83,63,65,3,False
|
||||
BanetteMega Banette,Ghost,,555,64,165,75,93,83,75,3,False
|
||||
Duskull,Ghost,,295,20,40,90,30,90,25,3,False
|
||||
Dusclops,Ghost,,455,40,70,130,60,130,25,3,False
|
||||
Tropius,Grass,Flying,460,99,68,83,72,87,51,3,False
|
||||
Chimecho,Psychic,,425,65,50,70,95,80,65,3,False
|
||||
Absol,Dark,,465,65,130,60,75,60,75,3,False
|
||||
AbsolMega Absol,Dark,,565,65,150,60,115,60,115,3,False
|
||||
Wynaut,Psychic,,260,95,23,48,23,48,23,3,False
|
||||
Snorunt,Ice,,300,50,50,50,50,50,50,3,False
|
||||
Glalie,Ice,,480,80,80,80,80,80,80,3,False
|
||||
GlalieMega Glalie,Ice,,580,80,120,80,120,80,100,3,False
|
||||
Spheal,Ice,Water,290,70,40,50,55,50,25,3,False
|
||||
Sealeo,Ice,Water,410,90,60,70,75,70,45,3,False
|
||||
Walrein,Ice,Water,530,110,80,90,95,90,65,3,False
|
||||
Clamperl,Water,,345,35,64,85,74,55,32,3,False
|
||||
Huntail,Water,,485,55,104,105,94,75,52,3,False
|
||||
Gorebyss,Water,,485,55,84,105,114,75,52,3,False
|
||||
Relicanth,Water,Rock,485,100,90,130,45,65,55,3,False
|
||||
Luvdisc,Water,,330,43,30,55,40,65,97,3,False
|
||||
Bagon,Dragon,,300,45,75,60,40,30,50,3,False
|
||||
Shelgon,Dragon,,420,65,95,100,60,50,50,3,False
|
||||
Salamence,Dragon,Flying,600,95,135,80,110,80,100,3,False
|
||||
SalamenceMega Salamence,Dragon,Flying,700,95,145,130,120,90,120,3,False
|
||||
Beldum,Steel,Psychic,300,40,55,80,35,60,30,3,False
|
||||
Metang,Steel,Psychic,420,60,75,100,55,80,50,3,False
|
||||
Metagross,Steel,Psychic,600,80,135,130,95,90,70,3,False
|
||||
MetagrossMega Metagross,Steel,Psychic,700,80,145,150,105,110,110,3,False
|
||||
Regirock,Rock,,580,80,100,200,50,100,50,3,True
|
||||
Regice,Ice,,580,80,50,100,100,200,50,3,True
|
||||
Registeel,Steel,,580,80,75,150,75,150,50,3,True
|
||||
Latias,Dragon,Psychic,600,80,80,90,110,130,110,3,True
|
||||
LatiasMega Latias,Dragon,Psychic,700,80,100,120,140,150,110,3,True
|
||||
Latios,Dragon,Psychic,600,80,90,80,130,110,110,3,True
|
||||
LatiosMega Latios,Dragon,Psychic,700,80,130,100,160,120,110,3,True
|
||||
Kyogre,Water,,670,100,100,90,150,140,90,3,True
|
||||
KyogrePrimal Kyogre,Water,,770,100,150,90,180,160,90,3,True
|
||||
Groudon,Ground,,670,100,150,140,100,90,90,3,True
|
||||
GroudonPrimal Groudon,Ground,Fire,770,100,180,160,150,90,90,3,True
|
||||
Rayquaza,Dragon,Flying,680,105,150,90,150,90,95,3,True
|
||||
RayquazaMega Rayquaza,Dragon,Flying,780,105,180,100,180,100,115,3,True
|
||||
Jirachi,Steel,Psychic,600,100,100,100,100,100,100,3,True
|
||||
DeoxysNormal Forme,Psychic,,600,50,150,50,150,50,150,3,True
|
||||
DeoxysAttack Forme,Psychic,,600,50,180,20,180,20,150,3,True
|
||||
DeoxysDefense Forme,Psychic,,600,50,70,160,70,160,90,3,True
|
||||
DeoxysSpeed Forme,Psychic,,600,50,95,90,95,90,180,3,True
|
||||
Turtwig,Grass,,318,55,68,64,45,55,31,4,False
|
||||
Grotle,Grass,,405,75,89,85,55,65,36,4,False
|
||||
Torterra,Grass,Ground,525,95,109,105,75,85,56,4,False
|
||||
Chimchar,Fire,,309,44,58,44,58,44,61,4,False
|
||||
Monferno,Fire,Fighting,405,64,78,52,78,52,81,4,False
|
||||
Infernape,Fire,Fighting,534,76,104,71,104,71,108,4,False
|
||||
Piplup,Water,,314,53,51,53,61,56,40,4,False
|
||||
Prinplup,Water,,405,64,66,68,81,76,50,4,False
|
||||
Empoleon,Water,Steel,530,84,86,88,111,101,60,4,False
|
||||
Starly,Normal,Flying,245,40,55,30,30,30,60,4,False
|
||||
Staravia,Normal,Flying,340,55,75,50,40,40,80,4,False
|
||||
Staraptor,Normal,Flying,485,85,120,70,50,60,100,4,False
|
||||
Bidoof,Normal,,250,59,45,40,35,40,31,4,False
|
||||
Bibarel,Normal,Water,410,79,85,60,55,60,71,4,False
|
||||
Kricketot,Bug,,194,37,25,41,25,41,25,4,False
|
||||
Kricketune,Bug,,384,77,85,51,55,51,65,4,False
|
||||
Shinx,Electric,,263,45,65,34,40,34,45,4,False
|
||||
Luxio,Electric,,363,60,85,49,60,49,60,4,False
|
||||
Luxray,Electric,,523,80,120,79,95,79,70,4,False
|
||||
Budew,Grass,Poison,280,40,30,35,50,70,55,4,False
|
||||
Roserade,Grass,Poison,515,60,70,65,125,105,90,4,False
|
||||
Cranidos,Rock,,350,67,125,40,30,30,58,4,False
|
||||
Rampardos,Rock,,495,97,165,60,65,50,58,4,False
|
||||
Shieldon,Rock,Steel,350,30,42,118,42,88,30,4,False
|
||||
Bastiodon,Rock,Steel,495,60,52,168,47,138,30,4,False
|
||||
Burmy,Bug,,224,40,29,45,29,45,36,4,False
|
||||
WormadamPlant Cloak,Bug,Grass,424,60,59,85,79,105,36,4,False
|
||||
WormadamSandy Cloak,Bug,Ground,424,60,79,105,59,85,36,4,False
|
||||
WormadamTrash Cloak,Bug,Steel,424,60,69,95,69,95,36,4,False
|
||||
Mothim,Bug,Flying,424,70,94,50,94,50,66,4,False
|
||||
Combee,Bug,Flying,244,30,30,42,30,42,70,4,False
|
||||
Vespiquen,Bug,Flying,474,70,80,102,80,102,40,4,False
|
||||
Pachirisu,Electric,,405,60,45,70,45,90,95,4,False
|
||||
Buizel,Water,,330,55,65,35,60,30,85,4,False
|
||||
Floatzel,Water,,495,85,105,55,85,50,115,4,False
|
||||
Cherubi,Grass,,275,45,35,45,62,53,35,4,False
|
||||
Cherrim,Grass,,450,70,60,70,87,78,85,4,False
|
||||
Shellos,Water,,325,76,48,48,57,62,34,4,False
|
||||
Gastrodon,Water,Ground,475,111,83,68,92,82,39,4,False
|
||||
Ambipom,Normal,,482,75,100,66,60,66,115,4,False
|
||||
Drifloon,Ghost,Flying,348,90,50,34,60,44,70,4,False
|
||||
Drifblim,Ghost,Flying,498,150,80,44,90,54,80,4,False
|
||||
Buneary,Normal,,350,55,66,44,44,56,85,4,False
|
||||
Lopunny,Normal,,480,65,76,84,54,96,105,4,False
|
||||
LopunnyMega Lopunny,Normal,Fighting,580,65,136,94,54,96,135,4,False
|
||||
Mismagius,Ghost,,495,60,60,60,105,105,105,4,False
|
||||
Honchkrow,Dark,Flying,505,100,125,52,105,52,71,4,False
|
||||
Glameow,Normal,,310,49,55,42,42,37,85,4,False
|
||||
Purugly,Normal,,452,71,82,64,64,59,112,4,False
|
||||
Chingling,Psychic,,285,45,30,50,65,50,45,4,False
|
||||
Stunky,Poison,Dark,329,63,63,47,41,41,74,4,False
|
||||
Skuntank,Poison,Dark,479,103,93,67,71,61,84,4,False
|
||||
Bronzor,Steel,Psychic,300,57,24,86,24,86,23,4,False
|
||||
Bronzong,Steel,Psychic,500,67,89,116,79,116,33,4,False
|
||||
Bonsly,Rock,,290,50,80,95,10,45,10,4,False
|
||||
Mime Jr.,Psychic,Fairy,310,20,25,45,70,90,60,4,False
|
||||
Happiny,Normal,,220,100,5,5,15,65,30,4,False
|
||||
Chatot,Normal,Flying,411,76,65,45,92,42,91,4,False
|
||||
Spiritomb,Ghost,Dark,485,50,92,108,92,108,35,4,False
|
||||
Gible,Dragon,Ground,300,58,70,45,40,45,42,4,False
|
||||
Gabite,Dragon,Ground,410,68,90,65,50,55,82,4,False
|
||||
Garchomp,Dragon,Ground,600,108,130,95,80,85,102,4,False
|
||||
GarchompMega Garchomp,Dragon,Ground,700,108,170,115,120,95,92,4,False
|
||||
Munchlax,Normal,,390,135,85,40,40,85,5,4,False
|
||||
Riolu,Fighting,,285,40,70,40,35,40,60,4,False
|
||||
Lucario,Fighting,Steel,525,70,110,70,115,70,90,4,False
|
||||
LucarioMega Lucario,Fighting,Steel,625,70,145,88,140,70,112,4,False
|
||||
Hippopotas,Ground,,330,68,72,78,38,42,32,4,False
|
||||
Hippowdon,Ground,,525,108,112,118,68,72,47,4,False
|
||||
Skorupi,Poison,Bug,330,40,50,90,30,55,65,4,False
|
||||
Drapion,Poison,Dark,500,70,90,110,60,75,95,4,False
|
||||
Croagunk,Poison,Fighting,300,48,61,40,61,40,50,4,False
|
||||
Toxicroak,Poison,Fighting,490,83,106,65,86,65,85,4,False
|
||||
Carnivine,Grass,,454,74,100,72,90,72,46,4,False
|
||||
Finneon,Water,,330,49,49,56,49,61,66,4,False
|
||||
Lumineon,Water,,460,69,69,76,69,86,91,4,False
|
||||
Mantyke,Water,Flying,345,45,20,50,60,120,50,4,False
|
||||
Snover,Grass,Ice,334,60,62,50,62,60,40,4,False
|
||||
Abomasnow,Grass,Ice,494,90,92,75,92,85,60,4,False
|
||||
AbomasnowMega Abomasnow,Grass,Ice,594,90,132,105,132,105,30,4,False
|
||||
Weavile,Dark,Ice,510,70,120,65,45,85,125,4,False
|
||||
Magnezone,Electric,Steel,535,70,70,115,130,90,60,4,False
|
||||
Lickilicky,Normal,,515,110,85,95,80,95,50,4,False
|
||||
Rhyperior,Ground,Rock,535,115,140,130,55,55,40,4,False
|
||||
Tangrowth,Grass,,535,100,100,125,110,50,50,4,False
|
||||
Electivire,Electric,,540,75,123,67,95,85,95,4,False
|
||||
Magmortar,Fire,,540,75,95,67,125,95,83,4,False
|
||||
Togekiss,Fairy,Flying,545,85,50,95,120,115,80,4,False
|
||||
Yanmega,Bug,Flying,515,86,76,86,116,56,95,4,False
|
||||
Leafeon,Grass,,525,65,110,130,60,65,95,4,False
|
||||
Glaceon,Ice,,525,65,60,110,130,95,65,4,False
|
||||
Gliscor,Ground,Flying,510,75,95,125,45,75,95,4,False
|
||||
Mamoswine,Ice,Ground,530,110,130,80,70,60,80,4,False
|
||||
Porygon-Z,Normal,,535,85,80,70,135,75,90,4,False
|
||||
Gallade,Psychic,Fighting,518,68,125,65,65,115,80,4,False
|
||||
GalladeMega Gallade,Psychic,Fighting,618,68,165,95,65,115,110,4,False
|
||||
Probopass,Rock,Steel,525,60,55,145,75,150,40,4,False
|
||||
Dusknoir,Ghost,,525,45,100,135,65,135,45,4,False
|
||||
Froslass,Ice,Ghost,480,70,80,70,80,70,110,4,False
|
||||
Rotom,Electric,Ghost,440,50,50,77,95,77,91,4,False
|
||||
RotomHeat Rotom,Electric,Fire,520,50,65,107,105,107,86,4,False
|
||||
RotomWash Rotom,Electric,Water,520,50,65,107,105,107,86,4,False
|
||||
RotomFrost Rotom,Electric,Ice,520,50,65,107,105,107,86,4,False
|
||||
RotomFan Rotom,Electric,Flying,520,50,65,107,105,107,86,4,False
|
||||
RotomMow Rotom,Electric,Grass,520,50,65,107,105,107,86,4,False
|
||||
Uxie,Psychic,,580,75,75,130,75,130,95,4,True
|
||||
Mesprit,Psychic,,580,80,105,105,105,105,80,4,True
|
||||
Azelf,Psychic,,580,75,125,70,125,70,115,4,True
|
||||
Dialga,Steel,Dragon,680,100,120,120,150,100,90,4,True
|
||||
Palkia,Water,Dragon,680,90,120,100,150,120,100,4,True
|
||||
Heatran,Fire,Steel,600,91,90,106,130,106,77,4,True
|
||||
Regigigas,Normal,,670,110,160,110,80,110,100,4,True
|
||||
GiratinaAltered Forme,Ghost,Dragon,680,150,100,120,100,120,90,4,True
|
||||
GiratinaOrigin Forme,Ghost,Dragon,680,150,120,100,120,100,90,4,True
|
||||
Cresselia,Psychic,,600,120,70,120,75,130,85,4,False
|
||||
Phione,Water,,480,80,80,80,80,80,80,4,False
|
||||
Manaphy,Water,,600,100,100,100,100,100,100,4,False
|
||||
Darkrai,Dark,,600,70,90,90,135,90,125,4,True
|
||||
ShayminLand Forme,Grass,,600,100,100,100,100,100,100,4,True
|
||||
ShayminSky Forme,Grass,Flying,600,100,103,75,120,75,127,4,True
|
||||
Arceus,Normal,,720,120,120,120,120,120,120,4,True
|
||||
Victini,Psychic,Fire,600,100,100,100,100,100,100,5,True
|
||||
Snivy,Grass,,308,45,45,55,45,55,63,5,False
|
||||
Servine,Grass,,413,60,60,75,60,75,83,5,False
|
||||
Serperior,Grass,,528,75,75,95,75,95,113,5,False
|
||||
Tepig,Fire,,308,65,63,45,45,45,45,5,False
|
||||
Pignite,Fire,Fighting,418,90,93,55,70,55,55,5,False
|
||||
Emboar,Fire,Fighting,528,110,123,65,100,65,65,5,False
|
||||
Oshawott,Water,,308,55,55,45,63,45,45,5,False
|
||||
Dewott,Water,,413,75,75,60,83,60,60,5,False
|
||||
Samurott,Water,,528,95,100,85,108,70,70,5,False
|
||||
Patrat,Normal,,255,45,55,39,35,39,42,5,False
|
||||
Watchog,Normal,,420,60,85,69,60,69,77,5,False
|
||||
Lillipup,Normal,,275,45,60,45,25,45,55,5,False
|
||||
Herdier,Normal,,370,65,80,65,35,65,60,5,False
|
||||
Stoutland,Normal,,500,85,110,90,45,90,80,5,False
|
||||
Purrloin,Dark,,281,41,50,37,50,37,66,5,False
|
||||
Liepard,Dark,,446,64,88,50,88,50,106,5,False
|
||||
Pansage,Grass,,316,50,53,48,53,48,64,5,False
|
||||
Simisage,Grass,,498,75,98,63,98,63,101,5,False
|
||||
Pansear,Fire,,316,50,53,48,53,48,64,5,False
|
||||
Simisear,Fire,,498,75,98,63,98,63,101,5,False
|
||||
Panpour,Water,,316,50,53,48,53,48,64,5,False
|
||||
Simipour,Water,,498,75,98,63,98,63,101,5,False
|
||||
Munna,Psychic,,292,76,25,45,67,55,24,5,False
|
||||
Musharna,Psychic,,487,116,55,85,107,95,29,5,False
|
||||
Pidove,Normal,Flying,264,50,55,50,36,30,43,5,False
|
||||
Tranquill,Normal,Flying,358,62,77,62,50,42,65,5,False
|
||||
Unfezant,Normal,Flying,488,80,115,80,65,55,93,5,False
|
||||
Blitzle,Electric,,295,45,60,32,50,32,76,5,False
|
||||
Zebstrika,Electric,,497,75,100,63,80,63,116,5,False
|
||||
Roggenrola,Rock,,280,55,75,85,25,25,15,5,False
|
||||
Boldore,Rock,,390,70,105,105,50,40,20,5,False
|
||||
Gigalith,Rock,,515,85,135,130,60,80,25,5,False
|
||||
Woobat,Psychic,Flying,313,55,45,43,55,43,72,5,False
|
||||
Swoobat,Psychic,Flying,425,67,57,55,77,55,114,5,False
|
||||
Drilbur,Ground,,328,60,85,40,30,45,68,5,False
|
||||
Excadrill,Ground,Steel,508,110,135,60,50,65,88,5,False
|
||||
Audino,Normal,,445,103,60,86,60,86,50,5,False
|
||||
AudinoMega Audino,Normal,Fairy,545,103,60,126,80,126,50,5,False
|
||||
Timburr,Fighting,,305,75,80,55,25,35,35,5,False
|
||||
Gurdurr,Fighting,,405,85,105,85,40,50,40,5,False
|
||||
Conkeldurr,Fighting,,505,105,140,95,55,65,45,5,False
|
||||
Tympole,Water,,294,50,50,40,50,40,64,5,False
|
||||
Palpitoad,Water,Ground,384,75,65,55,65,55,69,5,False
|
||||
Seismitoad,Water,Ground,509,105,95,75,85,75,74,5,False
|
||||
Throh,Fighting,,465,120,100,85,30,85,45,5,False
|
||||
Sawk,Fighting,,465,75,125,75,30,75,85,5,False
|
||||
Sewaddle,Bug,Grass,310,45,53,70,40,60,42,5,False
|
||||
Swadloon,Bug,Grass,380,55,63,90,50,80,42,5,False
|
||||
Leavanny,Bug,Grass,500,75,103,80,70,80,92,5,False
|
||||
Venipede,Bug,Poison,260,30,45,59,30,39,57,5,False
|
||||
Whirlipede,Bug,Poison,360,40,55,99,40,79,47,5,False
|
||||
Scolipede,Bug,Poison,485,60,100,89,55,69,112,5,False
|
||||
Cottonee,Grass,Fairy,280,40,27,60,37,50,66,5,False
|
||||
Whimsicott,Grass,Fairy,480,60,67,85,77,75,116,5,False
|
||||
Petilil,Grass,,280,45,35,50,70,50,30,5,False
|
||||
Lilligant,Grass,,480,70,60,75,110,75,90,5,False
|
||||
Basculin,Water,,460,70,92,65,80,55,98,5,False
|
||||
Sandile,Ground,Dark,292,50,72,35,35,35,65,5,False
|
||||
Krokorok,Ground,Dark,351,60,82,45,45,45,74,5,False
|
||||
Krookodile,Ground,Dark,519,95,117,80,65,70,92,5,False
|
||||
Darumaka,Fire,,315,70,90,45,15,45,50,5,False
|
||||
DarmanitanStandard Mode,Fire,,480,105,140,55,30,55,95,5,False
|
||||
DarmanitanZen Mode,Fire,Psychic,540,105,30,105,140,105,55,5,False
|
||||
Maractus,Grass,,461,75,86,67,106,67,60,5,False
|
||||
Dwebble,Bug,Rock,325,50,65,85,35,35,55,5,False
|
||||
Crustle,Bug,Rock,475,70,95,125,65,75,45,5,False
|
||||
Scraggy,Dark,Fighting,348,50,75,70,35,70,48,5,False
|
||||
Scrafty,Dark,Fighting,488,65,90,115,45,115,58,5,False
|
||||
Sigilyph,Psychic,Flying,490,72,58,80,103,80,97,5,False
|
||||
Yamask,Ghost,,303,38,30,85,55,65,30,5,False
|
||||
Cofagrigus,Ghost,,483,58,50,145,95,105,30,5,False
|
||||
Tirtouga,Water,Rock,355,54,78,103,53,45,22,5,False
|
||||
Carracosta,Water,Rock,495,74,108,133,83,65,32,5,False
|
||||
Archen,Rock,Flying,401,55,112,45,74,45,70,5,False
|
||||
Archeops,Rock,Flying,567,75,140,65,112,65,110,5,False
|
||||
Trubbish,Poison,,329,50,50,62,40,62,65,5,False
|
||||
Garbodor,Poison,,474,80,95,82,60,82,75,5,False
|
||||
Zorua,Dark,,330,40,65,40,80,40,65,5,False
|
||||
Zoroark,Dark,,510,60,105,60,120,60,105,5,False
|
||||
Minccino,Normal,,300,55,50,40,40,40,75,5,False
|
||||
Cinccino,Normal,,470,75,95,60,65,60,115,5,False
|
||||
Gothita,Psychic,,290,45,30,50,55,65,45,5,False
|
||||
Gothorita,Psychic,,390,60,45,70,75,85,55,5,False
|
||||
Gothitelle,Psychic,,490,70,55,95,95,110,65,5,False
|
||||
Solosis,Psychic,,290,45,30,40,105,50,20,5,False
|
||||
Duosion,Psychic,,370,65,40,50,125,60,30,5,False
|
||||
Reuniclus,Psychic,,490,110,65,75,125,85,30,5,False
|
||||
Ducklett,Water,Flying,305,62,44,50,44,50,55,5,False
|
||||
Swanna,Water,Flying,473,75,87,63,87,63,98,5,False
|
||||
Vanillite,Ice,,305,36,50,50,65,60,44,5,False
|
||||
Vanillish,Ice,,395,51,65,65,80,75,59,5,False
|
||||
Vanilluxe,Ice,,535,71,95,85,110,95,79,5,False
|
||||
Deerling,Normal,Grass,335,60,60,50,40,50,75,5,False
|
||||
Sawsbuck,Normal,Grass,475,80,100,70,60,70,95,5,False
|
||||
Emolga,Electric,Flying,428,55,75,60,75,60,103,5,False
|
||||
Karrablast,Bug,,315,50,75,45,40,45,60,5,False
|
||||
Escavalier,Bug,Steel,495,70,135,105,60,105,20,5,False
|
||||
Foongus,Grass,Poison,294,69,55,45,55,55,15,5,False
|
||||
Amoonguss,Grass,Poison,464,114,85,70,85,80,30,5,False
|
||||
Frillish,Water,Ghost,335,55,40,50,65,85,40,5,False
|
||||
Jellicent,Water,Ghost,480,100,60,70,85,105,60,5,False
|
||||
Alomomola,Water,,470,165,75,80,40,45,65,5,False
|
||||
Joltik,Bug,Electric,319,50,47,50,57,50,65,5,False
|
||||
Galvantula,Bug,Electric,472,70,77,60,97,60,108,5,False
|
||||
Ferroseed,Grass,Steel,305,44,50,91,24,86,10,5,False
|
||||
Ferrothorn,Grass,Steel,489,74,94,131,54,116,20,5,False
|
||||
Klink,Steel,,300,40,55,70,45,60,30,5,False
|
||||
Klang,Steel,,440,60,80,95,70,85,50,5,False
|
||||
Klinklang,Steel,,520,60,100,115,70,85,90,5,False
|
||||
Tynamo,Electric,,275,35,55,40,45,40,60,5,False
|
||||
Eelektrik,Electric,,405,65,85,70,75,70,40,5,False
|
||||
Eelektross,Electric,,515,85,115,80,105,80,50,5,False
|
||||
Elgyem,Psychic,,335,55,55,55,85,55,30,5,False
|
||||
Beheeyem,Psychic,,485,75,75,75,125,95,40,5,False
|
||||
Litwick,Ghost,Fire,275,50,30,55,65,55,20,5,False
|
||||
Lampent,Ghost,Fire,370,60,40,60,95,60,55,5,False
|
||||
Chandelure,Ghost,Fire,520,60,55,90,145,90,80,5,False
|
||||
Axew,Dragon,,320,46,87,60,30,40,57,5,False
|
||||
Fraxure,Dragon,,410,66,117,70,40,50,67,5,False
|
||||
Haxorus,Dragon,,540,76,147,90,60,70,97,5,False
|
||||
Cubchoo,Ice,,305,55,70,40,60,40,40,5,False
|
||||
Beartic,Ice,,485,95,110,80,70,80,50,5,False
|
||||
Cryogonal,Ice,,485,70,50,30,95,135,105,5,False
|
||||
Shelmet,Bug,,305,50,40,85,40,65,25,5,False
|
||||
Accelgor,Bug,,495,80,70,40,100,60,145,5,False
|
||||
Stunfisk,Ground,Electric,471,109,66,84,81,99,32,5,False
|
||||
Mienfoo,Fighting,,350,45,85,50,55,50,65,5,False
|
||||
Mienshao,Fighting,,510,65,125,60,95,60,105,5,False
|
||||
Druddigon,Dragon,,485,77,120,90,60,90,48,5,False
|
||||
Golett,Ground,Ghost,303,59,74,50,35,50,35,5,False
|
||||
Golurk,Ground,Ghost,483,89,124,80,55,80,55,5,False
|
||||
Pawniard,Dark,Steel,340,45,85,70,40,40,60,5,False
|
||||
Bisharp,Dark,Steel,490,65,125,100,60,70,70,5,False
|
||||
Bouffalant,Normal,,490,95,110,95,40,95,55,5,False
|
||||
Rufflet,Normal,Flying,350,70,83,50,37,50,60,5,False
|
||||
Braviary,Normal,Flying,510,100,123,75,57,75,80,5,False
|
||||
Vullaby,Dark,Flying,370,70,55,75,45,65,60,5,False
|
||||
Mandibuzz,Dark,Flying,510,110,65,105,55,95,80,5,False
|
||||
Heatmor,Fire,,484,85,97,66,105,66,65,5,False
|
||||
Durant,Bug,Steel,484,58,109,112,48,48,109,5,False
|
||||
Deino,Dark,Dragon,300,52,65,50,45,50,38,5,False
|
||||
Zweilous,Dark,Dragon,420,72,85,70,65,70,58,5,False
|
||||
Hydreigon,Dark,Dragon,600,92,105,90,125,90,98,5,False
|
||||
Larvesta,Bug,Fire,360,55,85,55,50,55,60,5,False
|
||||
Volcarona,Bug,Fire,550,85,60,65,135,105,100,5,False
|
||||
Cobalion,Steel,Fighting,580,91,90,129,90,72,108,5,True
|
||||
Terrakion,Rock,Fighting,580,91,129,90,72,90,108,5,True
|
||||
Virizion,Grass,Fighting,580,91,90,72,90,129,108,5,True
|
||||
TornadusIncarnate Forme,Flying,,580,79,115,70,125,80,111,5,True
|
||||
TornadusTherian Forme,Flying,,580,79,100,80,110,90,121,5,True
|
||||
ThundurusIncarnate Forme,Electric,Flying,580,79,115,70,125,80,111,5,True
|
||||
ThundurusTherian Forme,Electric,Flying,580,79,105,70,145,80,101,5,True
|
||||
Reshiram,Dragon,Fire,680,100,120,100,150,120,90,5,True
|
||||
Zekrom,Dragon,Electric,680,100,150,120,120,100,90,5,True
|
||||
LandorusIncarnate Forme,Ground,Flying,600,89,125,90,115,80,101,5,True
|
||||
LandorusTherian Forme,Ground,Flying,600,89,145,90,105,80,91,5,True
|
||||
Kyurem,Dragon,Ice,660,125,130,90,130,90,95,5,True
|
||||
KyuremBlack Kyurem,Dragon,Ice,700,125,170,100,120,90,95,5,True
|
||||
KyuremWhite Kyurem,Dragon,Ice,700,125,120,90,170,100,95,5,True
|
||||
KeldeoOrdinary Forme,Water,Fighting,580,91,72,90,129,90,108,5,False
|
||||
KeldeoResolute Forme,Water,Fighting,580,91,72,90,129,90,108,5,False
|
||||
MeloettaAria Forme,Normal,Psychic,600,100,77,77,128,128,90,5,False
|
||||
MeloettaPirouette Forme,Normal,Fighting,600,100,128,90,77,77,128,5,False
|
||||
Genesect,Bug,Steel,600,71,120,95,120,95,99,5,False
|
||||
Chespin,Grass,,313,56,61,65,48,45,38,6,False
|
||||
Quilladin,Grass,,405,61,78,95,56,58,57,6,False
|
||||
Chesnaught,Grass,Fighting,530,88,107,122,74,75,64,6,False
|
||||
Fennekin,Fire,,307,40,45,40,62,60,60,6,False
|
||||
Braixen,Fire,,409,59,59,58,90,70,73,6,False
|
||||
Delphox,Fire,Psychic,534,75,69,72,114,100,104,6,False
|
||||
Froakie,Water,,314,41,56,40,62,44,71,6,False
|
||||
Frogadier,Water,,405,54,63,52,83,56,97,6,False
|
||||
Greninja,Water,Dark,530,72,95,67,103,71,122,6,False
|
||||
Bunnelby,Normal,,237,38,36,38,32,36,57,6,False
|
||||
Diggersby,Normal,Ground,423,85,56,77,50,77,78,6,False
|
||||
Fletchling,Normal,Flying,278,45,50,43,40,38,62,6,False
|
||||
Fletchinder,Fire,Flying,382,62,73,55,56,52,84,6,False
|
||||
Talonflame,Fire,Flying,499,78,81,71,74,69,126,6,False
|
||||
Scatterbug,Bug,,200,38,35,40,27,25,35,6,False
|
||||
Spewpa,Bug,,213,45,22,60,27,30,29,6,False
|
||||
Vivillon,Bug,Flying,411,80,52,50,90,50,89,6,False
|
||||
Litleo,Fire,Normal,369,62,50,58,73,54,72,6,False
|
||||
Pyroar,Fire,Normal,507,86,68,72,109,66,106,6,False
|
||||
Flabébé,Fairy,,303,44,38,39,61,79,42,6,False
|
||||
Floette,Fairy,,371,54,45,47,75,98,52,6,False
|
||||
Florges,Fairy,,552,78,65,68,112,154,75,6,False
|
||||
Skiddo,Grass,,350,66,65,48,62,57,52,6,False
|
||||
Gogoat,Grass,,531,123,100,62,97,81,68,6,False
|
||||
Pancham,Fighting,,348,67,82,62,46,48,43,6,False
|
||||
Pangoro,Fighting,Dark,495,95,124,78,69,71,58,6,False
|
||||
Furfrou,Normal,,472,75,80,60,65,90,102,6,False
|
||||
Espurr,Psychic,,355,62,48,54,63,60,68,6,False
|
||||
MeowsticMale,Psychic,,466,74,48,76,83,81,104,6,False
|
||||
MeowsticFemale,Psychic,,466,74,48,76,83,81,104,6,False
|
||||
Honedge,Steel,Ghost,325,45,80,100,35,37,28,6,False
|
||||
Doublade,Steel,Ghost,448,59,110,150,45,49,35,6,False
|
||||
AegislashBlade Forme,Steel,Ghost,520,60,150,50,150,50,60,6,False
|
||||
AegislashShield Forme,Steel,Ghost,520,60,50,150,50,150,60,6,False
|
||||
Spritzee,Fairy,,341,78,52,60,63,65,23,6,False
|
||||
Aromatisse,Fairy,,462,101,72,72,99,89,29,6,False
|
||||
Swirlix,Fairy,,341,62,48,66,59,57,49,6,False
|
||||
Slurpuff,Fairy,,480,82,80,86,85,75,72,6,False
|
||||
Inkay,Dark,Psychic,288,53,54,53,37,46,45,6,False
|
||||
Malamar,Dark,Psychic,482,86,92,88,68,75,73,6,False
|
||||
Binacle,Rock,Water,306,42,52,67,39,56,50,6,False
|
||||
Barbaracle,Rock,Water,500,72,105,115,54,86,68,6,False
|
||||
Skrelp,Poison,Water,320,50,60,60,60,60,30,6,False
|
||||
Dragalge,Poison,Dragon,494,65,75,90,97,123,44,6,False
|
||||
Clauncher,Water,,330,50,53,62,58,63,44,6,False
|
||||
Clawitzer,Water,,500,71,73,88,120,89,59,6,False
|
||||
Helioptile,Electric,Normal,289,44,38,33,61,43,70,6,False
|
||||
Heliolisk,Electric,Normal,481,62,55,52,109,94,109,6,False
|
||||
Tyrunt,Rock,Dragon,362,58,89,77,45,45,48,6,False
|
||||
Tyrantrum,Rock,Dragon,521,82,121,119,69,59,71,6,False
|
||||
Amaura,Rock,Ice,362,77,59,50,67,63,46,6,False
|
||||
Aurorus,Rock,Ice,521,123,77,72,99,92,58,6,False
|
||||
Sylveon,Fairy,,525,95,65,65,110,130,60,6,False
|
||||
Hawlucha,Fighting,Flying,500,78,92,75,74,63,118,6,False
|
||||
Dedenne,Electric,Fairy,431,67,58,57,81,67,101,6,False
|
||||
Carbink,Rock,Fairy,500,50,50,150,50,150,50,6,False
|
||||
Goomy,Dragon,,300,45,50,35,55,75,40,6,False
|
||||
Sliggoo,Dragon,,452,68,75,53,83,113,60,6,False
|
||||
Goodra,Dragon,,600,90,100,70,110,150,80,6,False
|
||||
Klefki,Steel,Fairy,470,57,80,91,80,87,75,6,False
|
||||
Phantump,Ghost,Grass,309,43,70,48,50,60,38,6,False
|
||||
Trevenant,Ghost,Grass,474,85,110,76,65,82,56,6,False
|
||||
PumpkabooAverage Size,Ghost,Grass,335,49,66,70,44,55,51,6,False
|
||||
PumpkabooSmall Size,Ghost,Grass,335,44,66,70,44,55,56,6,False
|
||||
PumpkabooLarge Size,Ghost,Grass,335,54,66,70,44,55,46,6,False
|
||||
PumpkabooSuper Size,Ghost,Grass,335,59,66,70,44,55,41,6,False
|
||||
GourgeistAverage Size,Ghost,Grass,494,65,90,122,58,75,84,6,False
|
||||
GourgeistSmall Size,Ghost,Grass,494,55,85,122,58,75,99,6,False
|
||||
GourgeistLarge Size,Ghost,Grass,494,75,95,122,58,75,69,6,False
|
||||
GourgeistSuper Size,Ghost,Grass,494,85,100,122,58,75,54,6,False
|
||||
Bergmite,Ice,,304,55,69,85,32,35,28,6,False
|
||||
Avalugg,Ice,,514,95,117,184,44,46,28,6,False
|
||||
Noibat,Flying,Dragon,245,40,30,35,45,40,55,6,False
|
||||
Noivern,Flying,Dragon,535,85,70,80,97,80,123,6,False
|
||||
Xerneas,Fairy,,680,126,131,95,131,98,99,6,True
|
||||
Yveltal,Dark,Flying,680,126,131,95,131,98,99,6,True
|
||||
Zygarde50% Forme,Dragon,Ground,600,108,100,121,81,95,95,6,True
|
||||
Diancie,Rock,Fairy,600,50,100,150,100,150,50,6,True
|
||||
DiancieMega Diancie,Rock,Fairy,700,50,160,110,160,110,110,6,True
|
||||
HoopaHoopa Confined,Psychic,Ghost,600,80,110,60,150,130,70,6,True
|
||||
HoopaHoopa Unbound,Psychic,Dark,680,80,160,60,170,130,80,6,True
|
||||
Volcanion,Fire,Water,600,80,110,120,130,90,70,6,True
|
|
|
@ -0,0 +1,20 @@
|
|||
[tool.poetry]
|
||||
name = "lab_pokemon"
|
||||
version = "0.1.0"
|
||||
description = ""
|
||||
authors = ["Chris <chris@chrisproctor.net>"]
|
||||
license = "MIT"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.11"
|
||||
jupyterlab = "^3.3.3"
|
||||
pandas = "^1.4.2"
|
||||
matplotlib = "^3.5.1"
|
||||
seaborn = "^0.11.2"
|
||||
requests = "^2.27.1"
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core>=1.0.0"]
|
||||
build-backend = "poetry.core.masonry.api"
|
Loading…
Reference in New Issue