├── CODEOWNERS ├── README.md ├── .github └── workflows │ └── manual.yml └── Matplotlib ├── Histogram_Practice.ipynb ├── Violin_and_Box_Plot_Practice.ipynb ├── Categorical_Plot_Practice.ipynb ├── Scales_and_Transformations_Practice.ipynb ├── Scatterplot_Practice.ipynb ├── solutions_univ.py ├── Bar_Chart_Practice.ipynb ├── solutions_biv.py ├── Additional_Plot_Practice.ipynb └── data └── pokemon.csv /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @udacity/active-public-content 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Data Visualization 2 | 3 | This repository contains code and associated files for the AI Programming with Python Nanodegree program. This repository consists of a number of tutorial notebooks for various coding exercises and programming labs that will be used to supplement the lessons of the course. 4 | 5 | ## Table Of Contents 6 | 7 | * Matplotlib folder: Notebooks containing practice exercises for the Matplotlib lesson(s) 8 | 9 | ## Dependencies 10 | 11 | Each directory has a `requirements.txt` describing the minimal dependencies required to run the notebooks in that directory. 12 | 13 | ### pip 14 | 15 | To install these dependencies with pip, you can issue `pip3 install -r requirements.txt`. 16 | -------------------------------------------------------------------------------- /.github/workflows/manual.yml: -------------------------------------------------------------------------------- 1 | # Workflow to ensure whenever a Github PR is submitted, 2 | # a JIRA ticket gets created automatically. 3 | name: Manual Workflow 4 | 5 | # Controls when the action will run. 6 | on: 7 | # Triggers the workflow on pull request events but only for the master branch 8 | pull_request_target: 9 | types: [opened, reopened] 10 | 11 | # Allows you to run this workflow manually from the Actions tab 12 | workflow_dispatch: 13 | 14 | jobs: 15 | test-transition-issue: 16 | name: Convert Github Issue to Jira Issue 17 | runs-on: ubuntu-latest 18 | steps: 19 | - name: Checkout 20 | uses: actions/checkout@master 21 | 22 | - name: Login 23 | uses: atlassian/gajira-login@master 24 | env: 25 | JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }} 26 | JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }} 27 | JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} 28 | 29 | - name: Create NEW JIRA ticket 30 | id: create 31 | uses: atlassian/gajira-create@master 32 | with: 33 | project: CONUPDATE 34 | issuetype: Task 35 | summary: | 36 | Github PR [Assign the ND component] | Repo: ${{ github.repository }} | PR# ${{github.event.number}} 37 | description: | 38 | Repo link: https://github.com/${{ github.repository }} 39 | PR no. ${{ github.event.pull_request.number }} 40 | PR title: ${{ github.event.pull_request.title }} 41 | PR description: ${{ github.event.pull_request.description }} 42 | In addition, please resolve other issues, if any. 43 | fields: '{"components": [{"name":"nd013 - Self Driving Car Engineer ND"}], "customfield_16449":"https://classroom.udacity.com/", "customfield_16450":"Resolve the PR", "labels": ["github"], "priority":{"id": "4"}}' 44 | 45 | - name: Log created issue 46 | run: echo "Issue ${{ steps.create.outputs.issue }} was created" 47 | -------------------------------------------------------------------------------- /Matplotlib/Histogram_Practice.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": null, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "# prerequisite package imports\n", 10 | "import numpy as np\n", 11 | "import pandas as pd\n", 12 | "import matplotlib.pyplot as plt\n", 13 | "import seaborn as sb\n", 14 | "\n", 15 | "%matplotlib inline\n", 16 | "\n", 17 | "from solutions_univ import histogram_solution_1" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "We'll continue working with the Pokémon dataset in this workspace." 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": null, 30 | "metadata": {}, 31 | "outputs": [], 32 | "source": [ 33 | "pokemon = pd.read_csv('./data/pokemon.csv')\n", 34 | "pokemon.head()" 35 | ] 36 | }, 37 | { 38 | "cell_type": "markdown", 39 | "metadata": {}, 40 | "source": [ 41 | "**Task**: Pokémon have a number of different statistics that describe their combat capabilities. Here, create a _histogram_ that depicts the distribution of 'special-defense' values taken. **Hint**: Try playing around with different bin width sizes to see what best depicts the data." 42 | ] 43 | }, 44 | { 45 | "cell_type": "code", 46 | "execution_count": null, 47 | "metadata": {}, 48 | "outputs": [], 49 | "source": [ 50 | "# YOUR CODE HERE" 51 | ] 52 | }, 53 | { 54 | "cell_type": "code", 55 | "execution_count": null, 56 | "metadata": {}, 57 | "outputs": [], 58 | "source": [ 59 | "# run this cell to check your work against ours\n", 60 | "histogram_solution_1()" 61 | ] 62 | } 63 | ], 64 | "metadata": { 65 | "kernelspec": { 66 | "display_name": "Python 3", 67 | "language": "python", 68 | "name": "python3" 69 | }, 70 | "language_info": { 71 | "codemirror_mode": { 72 | "name": "ipython", 73 | "version": 3 74 | }, 75 | "file_extension": ".py", 76 | "mimetype": "text/x-python", 77 | "name": "python", 78 | "nbconvert_exporter": "python", 79 | "pygments_lexer": "ipython3", 80 | "version": "3.6.3" 81 | } 82 | }, 83 | "nbformat": 4, 84 | "nbformat_minor": 2 85 | } 86 | -------------------------------------------------------------------------------- /Matplotlib/Violin_and_Box_Plot_Practice.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": null, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "# prerequisite package imports\n", 10 | "import numpy as np\n", 11 | "import pandas as pd\n", 12 | "import matplotlib.pyplot as plt\n", 13 | "import seaborn as sb\n", 14 | "\n", 15 | "%matplotlib inline\n", 16 | "\n", 17 | "from solutions_biv import violinbox_solution_1" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "We'll continue to make use of the fuel economy dataset in this workspace." 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": null, 30 | "metadata": {}, 31 | "outputs": [], 32 | "source": [ 33 | "fuel_econ = pd.read_csv('./data/fuel_econ.csv')\n", 34 | "fuel_econ.head()" 35 | ] 36 | }, 37 | { 38 | "cell_type": "markdown", 39 | "metadata": {}, 40 | "source": [ 41 | "**Task**: What is the relationship between the size of a car and the size of its engine? The cars in this dataset are categorized into one of five different vehicle classes based on size. Starting from the smallest, they are: {Minicompact Cars, Subcompact Cars, Compact Cars, Midsize Cars, and Large Cars}. The vehicle classes can be found in the 'VClass' variable, while the engine sizes are in the 'displ' column (in liters). **Hint**: Make sure that the order of vehicle classes makes sense in your plot!" 42 | ] 43 | }, 44 | { 45 | "cell_type": "code", 46 | "execution_count": null, 47 | "metadata": {}, 48 | "outputs": [], 49 | "source": [ 50 | "# YOUR CODE HERE" 51 | ] 52 | }, 53 | { 54 | "cell_type": "code", 55 | "execution_count": null, 56 | "metadata": {}, 57 | "outputs": [], 58 | "source": [ 59 | "# run this cell to check your work against ours\n", 60 | "violinbox_solution_1()" 61 | ] 62 | } 63 | ], 64 | "metadata": { 65 | "kernelspec": { 66 | "display_name": "Python 3", 67 | "language": "python", 68 | "name": "python3" 69 | }, 70 | "language_info": { 71 | "codemirror_mode": { 72 | "name": "ipython", 73 | "version": 3 74 | }, 75 | "file_extension": ".py", 76 | "mimetype": "text/x-python", 77 | "name": "python", 78 | "nbconvert_exporter": "python", 79 | "pygments_lexer": "ipython3", 80 | "version": "3.6.3" 81 | } 82 | }, 83 | "nbformat": 4, 84 | "nbformat_minor": 2 85 | } 86 | -------------------------------------------------------------------------------- /Matplotlib/Categorical_Plot_Practice.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": null, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "# prerequisite package imports\n", 10 | "import numpy as np\n", 11 | "import pandas as pd\n", 12 | "import matplotlib.pyplot as plt\n", 13 | "import seaborn as sb\n", 14 | "\n", 15 | "%matplotlib inline\n", 16 | "\n", 17 | "from solutions_biv import categorical_solution_1" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "We'll continue to make use of the fuel economy dataset in this workspace." 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": null, 30 | "metadata": {}, 31 | "outputs": [], 32 | "source": [ 33 | "fuel_econ = pd.read_csv('./data/fuel_econ.csv')\n", 34 | "fuel_econ.head()" 35 | ] 36 | }, 37 | { 38 | "cell_type": "markdown", 39 | "metadata": {}, 40 | "source": [ 41 | "**Task**: Use a plot to explore whether or not there differences in recommended fuel type depending on the vehicle class. Only investigate the difference between the two main fuel types found in the 'fuelType' variable: Regular Gasoline and Premium Gasoline. (The other fuel types represented in the dataset are of much lower frequency compared to the main two, that they'll be more distracting than informative.) **Note**: The dataset as provided does not retain any of the sorting of the 'VClass' variable, so you will also need to copy over any code you used previously to sort the category levels." 42 | ] 43 | }, 44 | { 45 | "cell_type": "code", 46 | "execution_count": null, 47 | "metadata": {}, 48 | "outputs": [], 49 | "source": [ 50 | "# YOUR CODE HERE" 51 | ] 52 | }, 53 | { 54 | "cell_type": "code", 55 | "execution_count": null, 56 | "metadata": {}, 57 | "outputs": [], 58 | "source": [ 59 | "# run this cell to check your work against ours\n", 60 | "categorical_solution_1()" 61 | ] 62 | } 63 | ], 64 | "metadata": { 65 | "kernelspec": { 66 | "display_name": "Python 3", 67 | "language": "python", 68 | "name": "python3" 69 | }, 70 | "language_info": { 71 | "codemirror_mode": { 72 | "name": "ipython", 73 | "version": 3 74 | }, 75 | "file_extension": ".py", 76 | "mimetype": "text/x-python", 77 | "name": "python", 78 | "nbconvert_exporter": "python", 79 | "pygments_lexer": "ipython3", 80 | "version": "3.6.3" 81 | } 82 | }, 83 | "nbformat": 4, 84 | "nbformat_minor": 2 85 | } 86 | -------------------------------------------------------------------------------- /Matplotlib/Scales_and_Transformations_Practice.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": null, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "# prerequisite package imports\n", 10 | "import numpy as np\n", 11 | "import pandas as pd\n", 12 | "import matplotlib.pyplot as plt\n", 13 | "import seaborn as sb\n", 14 | "\n", 15 | "%matplotlib inline\n", 16 | "\n", 17 | "from solutions_univ import scales_solution_1, scales_solution_2" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "Once again, we make use of the Pokémon data for this exercise." 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": null, 30 | "metadata": {}, 31 | "outputs": [], 32 | "source": [ 33 | "pokemon = pd.read_csv('./data/pokemon.csv')\n", 34 | "pokemon.head()" 35 | ] 36 | }, 37 | { 38 | "cell_type": "markdown", 39 | "metadata": {}, 40 | "source": [ 41 | "**Task 1**: There are also variables in the dataset that don't have anything to do with the game mechanics, and are just there for flavor. Try plotting the distribution of Pokémon heights (given in meters). For this exercise, experiment with different axis limits as well as bin widths to see what gives the clearest view of the data." 42 | ] 43 | }, 44 | { 45 | "cell_type": "code", 46 | "execution_count": null, 47 | "metadata": {}, 48 | "outputs": [], 49 | "source": [ 50 | "# YOUR CODE HERE" 51 | ] 52 | }, 53 | { 54 | "cell_type": "code", 55 | "execution_count": null, 56 | "metadata": {}, 57 | "outputs": [], 58 | "source": [ 59 | "# run this cell to check your work against ours\n", 60 | "scales_solution_1()" 61 | ] 62 | }, 63 | { 64 | "cell_type": "markdown", 65 | "metadata": {}, 66 | "source": [ 67 | "**Task 2**: In this task, you should plot the distribution of Pokémon weights (given in kilograms). Due to the very large range of values taken, you will probably want to perform an _axis transformation_ as part of your visualization workflow." 68 | ] 69 | }, 70 | { 71 | "cell_type": "code", 72 | "execution_count": null, 73 | "metadata": {}, 74 | "outputs": [], 75 | "source": [ 76 | "# YOUR CODE HERE" 77 | ] 78 | }, 79 | { 80 | "cell_type": "code", 81 | "execution_count": null, 82 | "metadata": {}, 83 | "outputs": [], 84 | "source": [ 85 | "# run this cell to check your work against ours\n", 86 | "scales_solution_2()" 87 | ] 88 | } 89 | ], 90 | "metadata": { 91 | "kernelspec": { 92 | "display_name": "Python 3", 93 | "language": "python", 94 | "name": "python3" 95 | }, 96 | "language_info": { 97 | "codemirror_mode": { 98 | "name": "ipython", 99 | "version": 3 100 | }, 101 | "file_extension": ".py", 102 | "mimetype": "text/x-python", 103 | "name": "python", 104 | "nbconvert_exporter": "python", 105 | "pygments_lexer": "ipython3", 106 | "version": "3.6.3" 107 | } 108 | }, 109 | "nbformat": 4, 110 | "nbformat_minor": 2 111 | } 112 | -------------------------------------------------------------------------------- /Matplotlib/Scatterplot_Practice.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": null, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "# prerequisite package imports\n", 10 | "import numpy as np\n", 11 | "import pandas as pd\n", 12 | "import matplotlib.pyplot as plt\n", 13 | "import seaborn as sb\n", 14 | "\n", 15 | "%matplotlib inline\n", 16 | "\n", 17 | "from solutions_biv import scatterplot_solution_1, scatterplot_solution_2" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "In this workspace, you'll make use of this data set describing various car attributes, such as fuel efficiency. The cars in this dataset represent about 3900 sedans tested by the EPA from 2013 to 2018. This dataset is a trimmed-down version of the data found [here](https://catalog.data.gov/dataset/fuel-economy-data)." 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": null, 30 | "metadata": {}, 31 | "outputs": [], 32 | "source": [ 33 | "fuel_econ = pd.read_csv('./data/fuel_econ.csv')\n", 34 | "fuel_econ.head()" 35 | ] 36 | }, 37 | { 38 | "cell_type": "markdown", 39 | "metadata": {}, 40 | "source": [ 41 | "**Task 1**: Let's look at the relationship between fuel mileage ratings for city vs. highway driving, as stored in the 'city' and 'highway' variables (in miles per gallon, or mpg). Use a _scatter plot_ to depict the data. What is the general relationship between these variables? Are there any points that appear unusual against these trends?" 42 | ] 43 | }, 44 | { 45 | "cell_type": "code", 46 | "execution_count": null, 47 | "metadata": {}, 48 | "outputs": [], 49 | "source": [ 50 | "# YOUR CODE HERE" 51 | ] 52 | }, 53 | { 54 | "cell_type": "code", 55 | "execution_count": null, 56 | "metadata": {}, 57 | "outputs": [], 58 | "source": [ 59 | "# run this cell to check your work against ours\n", 60 | "scatterplot_solution_1()" 61 | ] 62 | }, 63 | { 64 | "cell_type": "markdown", 65 | "metadata": {}, 66 | "source": [ 67 | "**Task 2**: Let's look at the relationship between two other numeric variables. How does the engine size relate to a car's CO2 footprint? The 'displ' variable has the former (in liters), while the 'co2' variable has the latter (in grams per mile). Use a heat map to depict the data. How strong is this trend?" 68 | ] 69 | }, 70 | { 71 | "cell_type": "code", 72 | "execution_count": null, 73 | "metadata": {}, 74 | "outputs": [], 75 | "source": [ 76 | "# YOUR CODE HERE" 77 | ] 78 | }, 79 | { 80 | "cell_type": "code", 81 | "execution_count": null, 82 | "metadata": {}, 83 | "outputs": [], 84 | "source": [ 85 | "# run this cell to check your work against ours\n", 86 | "scatterplot_solution_2()" 87 | ] 88 | } 89 | ], 90 | "metadata": { 91 | "kernelspec": { 92 | "display_name": "Python 3", 93 | "language": "python", 94 | "name": "python3" 95 | }, 96 | "language_info": { 97 | "codemirror_mode": { 98 | "name": "ipython", 99 | "version": 3 100 | }, 101 | "file_extension": ".py", 102 | "mimetype": "text/x-python", 103 | "name": "python", 104 | "nbconvert_exporter": "python", 105 | "pygments_lexer": "ipython3", 106 | "version": "3.6.3" 107 | } 108 | }, 109 | "nbformat": 4, 110 | "nbformat_minor": 2 111 | } 112 | -------------------------------------------------------------------------------- /Matplotlib/solutions_univ.py: -------------------------------------------------------------------------------- 1 | """ 2 | Script with solutions for all workspace assignments in the Univariate 3 | Exploration of Data lesson. 4 | """ 5 | 6 | import numpy as np 7 | import pandas as pd 8 | import matplotlib.pyplot as plt 9 | import seaborn as sb 10 | 11 | 12 | def bar_chart_solution_1(): 13 | """ 14 | Solution for Question 1 in bar chart practice: create a bar chart of 15 | Pokemon species introduced by generation. 16 | """ 17 | sol_string = ["I used seaborn's countplot function to generate this chart.", 18 | "I also added an additional argument so that each bar has the same color."] 19 | print((" ").join(sol_string)) 20 | 21 | # data setup 22 | pokemon = pd.read_csv('./data/pokemon.csv') 23 | 24 | base_color = sb.color_palette()[0] 25 | sb.countplot(data = pokemon, x = 'generation_id', color = base_color) 26 | 27 | 28 | def bar_chart_solution_2(): 29 | """ 30 | Solution for Question 2 in bar chart practice: create a sorted bar chart of 31 | relative type frequencies. 32 | """ 33 | sol_string = ["I created a horizontal bar chart since there are a lot of", 34 | "Pokemon types. The unique() method was used to get the", 35 | "number of different Pokemon species. I also added an xlabel", 36 | "call to make sure it was clear the bar length represents", 37 | "a relative frequency."] 38 | print((" ").join(sol_string)) 39 | 40 | # data setup 41 | pokemon = pd.read_csv('./data/pokemon.csv') 42 | pkmn_types = pokemon.melt(id_vars = ['id','species'], 43 | value_vars = ['type_1', 'type_2'], 44 | var_name = 'type_level', value_name = 'type').dropna() 45 | 46 | # get order of bars by frequency 47 | type_counts = pkmn_types['type'].value_counts() 48 | type_order = type_counts.index 49 | 50 | # compute largest proportion 51 | n_pokemon = pkmn_types['species'].unique().shape[0] 52 | max_type_count = type_counts[0] 53 | max_prop = max_type_count / n_pokemon 54 | 55 | # establish tick locations and create plot 56 | base_color = sb.color_palette()[0] 57 | tick_props = np.arange(0, max_prop, 0.02) 58 | tick_names = ['{:0.2f}'.format(v) for v in tick_props] 59 | 60 | base_color = sb.color_palette()[0] 61 | sb.countplot(data = pkmn_types, y = 'type', color = base_color, order = type_order) 62 | plt.xticks(tick_props * n_pokemon, tick_names) 63 | plt.xlabel('proportion') 64 | 65 | 66 | def histogram_solution_1(): 67 | """ 68 | Solution for Question 1 in histogram practice: create a histogram of 69 | Pokemon special defense values. 70 | """ 71 | sol_string = ["I've used matplotlib's hist function to plot the data.", 72 | "I have also used numpy's arange function to set the bin edges.", 73 | "A bin size of 5 hits the main cut points, revealing a smooth,", 74 | "but skewed curves. Are there similar characteristics among", 75 | "Pokemon with the highest special defenses?"] 76 | print((" ").join(sol_string)) 77 | 78 | # data setup 79 | pokemon = pd.read_csv('./data/pokemon.csv') 80 | 81 | bins = np.arange(20, pokemon['special-defense'].max()+5, 5) 82 | plt.hist(pokemon['special-defense'], bins = bins) 83 | 84 | 85 | def scales_solution_1(): 86 | """ 87 | Solution for Question 1 in scales and transformation practice: create a 88 | histogram of Pokemon heights. 89 | """ 90 | sol_string = ["There's a very long tail of Pokemon heights. Here, I've", 91 | "focused in on Pokemon of height 6 meters or less, so that I", 92 | "can use a smaller bin size to get a more detailed look at", 93 | "the main data distribution."] 94 | print((" ").join(sol_string)) 95 | 96 | # data setup 97 | pokemon = pd.read_csv('./data/pokemon.csv') 98 | 99 | bins = np.arange(0, pokemon['height'].max()+0.2, 0.2) 100 | plt.hist(data = pokemon, x = 'height', bins = bins) 101 | plt.xlim((0,6)) 102 | 103 | 104 | def scales_solution_2(): 105 | """ 106 | Solution for Question 2 in scales and transformation practice: create a 107 | histogram of Pokemon weights. 108 | """ 109 | sol_string = ["Since Pokemon weights are so skewed, I used a log transformation", 110 | "on the x-axis. Bin edges are in increments of 0.1 powers of ten,", 111 | "with custom tick marks to demonstrate the log scaling."] 112 | print((" ").join(sol_string)) 113 | 114 | # data setup 115 | pokemon = pd.read_csv('./data/pokemon.csv') 116 | 117 | bins = 10 ** np.arange(-1, 3.0+0.1, 0.1) 118 | ticks = [0.1, 0.3, 1, 3, 10, 30, 100, 300, 1000] 119 | labels = ['{}'.format(val) for val in ticks] 120 | 121 | plt.hist(data = pokemon, x = 'weight', bins = bins) 122 | plt.xscale('log') 123 | plt.xticks(ticks, labels) 124 | plt.xlabel('Weight (kg)') 125 | -------------------------------------------------------------------------------- /Matplotlib/Bar_Chart_Practice.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "In workspaces like this one, you will be able to practice visualization techniques you've seen in the course materials. In this particular workspace, you'll practice creating single-variable plots for categorical data." 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": null, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "# prerequisite package imports\n", 17 | "import numpy as np\n", 18 | "import pandas as pd\n", 19 | "import matplotlib.pyplot as plt\n", 20 | "import seaborn as sb\n", 21 | "\n", 22 | "%matplotlib inline\n", 23 | "\n", 24 | "# solution script imports\n", 25 | "from solutions_univ import bar_chart_solution_1, bar_chart_solution_2" 26 | ] 27 | }, 28 | { 29 | "cell_type": "markdown", 30 | "metadata": {}, 31 | "source": [ 32 | "In this workspace, you'll be working with this dataset comprised of attributes of creatures in the video game series Pokémon. The data was assembled from the database of information found in [this GitHub repository](https://github.com/veekun/pokedex/tree/master/pokedex/data/csv)." 33 | ] 34 | }, 35 | { 36 | "cell_type": "code", 37 | "execution_count": null, 38 | "metadata": {}, 39 | "outputs": [], 40 | "source": [ 41 | "pokemon = pd.read_csv('./data/pokemon.csv')\n", 42 | "pokemon.head()" 43 | ] 44 | }, 45 | { 46 | "cell_type": "markdown", 47 | "metadata": {}, 48 | "source": [ 49 | "**Task 1**: There have been quite a few Pokémon introduced over the series' history. How many were introduced in each generation? Create a _bar chart_ of these frequencies using the 'generation_id' column." 50 | ] 51 | }, 52 | { 53 | "cell_type": "code", 54 | "execution_count": null, 55 | "metadata": {}, 56 | "outputs": [], 57 | "source": [ 58 | "# YOUR CODE HERE" 59 | ] 60 | }, 61 | { 62 | "cell_type": "markdown", 63 | "metadata": {}, 64 | "source": [ 65 | "Once you've created your chart, run the cell below to check the output from our solution. Your visualization does not need to be exactly the same as ours, but it should be able to come up with the same conclusions." 66 | ] 67 | }, 68 | { 69 | "cell_type": "code", 70 | "execution_count": null, 71 | "metadata": {}, 72 | "outputs": [], 73 | "source": [ 74 | "bar_chart_solution_1()" 75 | ] 76 | }, 77 | { 78 | "cell_type": "markdown", 79 | "metadata": {}, 80 | "source": [ 81 | "**Task 2**: Each Pokémon species has one or two 'types' that play a part in its offensive and defensive capabilities. How frequent is each type? The code below creates a new dataframe that puts all of the type counts in a single column." 82 | ] 83 | }, 84 | { 85 | "cell_type": "code", 86 | "execution_count": null, 87 | "metadata": {}, 88 | "outputs": [], 89 | "source": [ 90 | "pkmn_types = pokemon.melt(id_vars = ['id','species'], \n", 91 | " value_vars = ['type_1', 'type_2'], \n", 92 | " var_name = 'type_level', value_name = 'type').dropna()\n", 93 | "pkmn_types.head()" 94 | ] 95 | }, 96 | { 97 | "cell_type": "markdown", 98 | "metadata": {}, 99 | "source": [ 100 | "Your task is to use this dataframe to create a _relative frequency_ plot of the proportion of Pokémon with each type, _sorted_ from most frequent to least. **Hint**: The sum across bars should be greater than 100%, since many Pokémon have two types. Keep this in mind when considering a denominator to compute relative frequencies." 101 | ] 102 | }, 103 | { 104 | "cell_type": "code", 105 | "execution_count": null, 106 | "metadata": {}, 107 | "outputs": [], 108 | "source": [ 109 | "# YOUR CODE HERE" 110 | ] 111 | }, 112 | { 113 | "cell_type": "code", 114 | "execution_count": null, 115 | "metadata": {}, 116 | "outputs": [], 117 | "source": [ 118 | "bar_chart_solution_2()" 119 | ] 120 | }, 121 | { 122 | "cell_type": "markdown", 123 | "metadata": {}, 124 | "source": [ 125 | "If you're interested in seeing the code used to generate the solution plots, you can find it in the `solutions_univ.py` script in the workspace folder. You can navigate there by clicking on the Jupyter icon in the upper left corner of the workspace. Spoiler warning: the script contains solutions for all of the workspace exercises in this lesson, so take care not to spoil your practice!" 126 | ] 127 | } 128 | ], 129 | "metadata": { 130 | "kernelspec": { 131 | "display_name": "Python 3", 132 | "language": "python", 133 | "name": "python3" 134 | }, 135 | "language_info": { 136 | "codemirror_mode": { 137 | "name": "ipython", 138 | "version": 3 139 | }, 140 | "file_extension": ".py", 141 | "mimetype": "text/x-python", 142 | "name": "python", 143 | "nbconvert_exporter": "python", 144 | "pygments_lexer": "ipython3", 145 | "version": "3.6.3" 146 | } 147 | }, 148 | "nbformat": 4, 149 | "nbformat_minor": 2 150 | } 151 | -------------------------------------------------------------------------------- /Matplotlib/solutions_biv.py: -------------------------------------------------------------------------------- 1 | """ 2 | Script with solutions for all workspace assignments in the Bivariate 3 | Exploration of Data lesson. 4 | """ 5 | 6 | import numpy as np 7 | import pandas as pd 8 | import matplotlib.pyplot as plt 9 | import seaborn as sb 10 | 11 | 12 | def scatterplot_solution_1(): 13 | """ 14 | Solution for Question 1 in scatterplot practice: create a scatterplot of 15 | city vs. highway fuel mileage. 16 | """ 17 | sol_string = ["Most of the data falls in a large blob between 10 and 30 mpg city", 18 | "and 20 to 40 mpg highway. Some transparency is added via 'alpha'", 19 | "to show the concentration of data. Interestingly, for most cars", 20 | "highway mileage is clearly higher than city mileage, but for those", 21 | "cars with city mileage above about 30 mpg, the distinction is less", 22 | "pronounced. In fact, most cars above 45 mpg city have better", 23 | "city mileage than highway mileage, contrary to the main trend. It", 24 | "might be good to call out this trend by adding a diagonal line to", 25 | "the figure using the `plot` function. (See the solution file for that code!)"] 26 | print((" ").join(sol_string)) 27 | 28 | # data setup 29 | fuel_econ = pd.read_csv('./data/fuel_econ.csv') 30 | 31 | plt.scatter(data = fuel_econ, x = 'city', y = 'highway', alpha = 1/8) 32 | # plt.plot([10,60], [10,60]) # diagonal line from (10,10) to (60,60) 33 | plt.xlabel('City Fuel Eff. (mpg)') 34 | plt.ylabel('Highway Fuel Eff. (mpg)') 35 | 36 | 37 | def scatterplot_solution_2(): 38 | """ 39 | Solution for Question 2 in scatterplot practice: create a heat map of 40 | engine displacement vs. co2 production. 41 | """ 42 | sol_string = ["In the heat map, I've set up a color map that goes from light", 43 | "to dark, and made it so that any cells without count don't get", 44 | "colored in. The visualization shows that most cars fall in a", 45 | "line where larger engine sizes correlate with higher emissions.", 46 | "The trend is somewhat broken by those cars with the lowest emissions,", 47 | "which still have engine sizes shared by most cars (between 1 and 3 liters)."] 48 | print((" ").join(sol_string)) 49 | 50 | # data setup 51 | fuel_econ = pd.read_csv('./data/fuel_econ.csv') 52 | 53 | bins_x = np.arange(0.6, fuel_econ['displ'].max()+0.4, 0.4) 54 | bins_y = np.arange(0, fuel_econ['co2'].max()+50, 50) 55 | plt.hist2d(data = fuel_econ, x = 'displ', y = 'co2', bins = [bins_x, bins_y], 56 | cmap = 'viridis_r', cmin = 0.5) 57 | plt.colorbar() 58 | plt.xlabel('Displacement (l)') 59 | plt.ylabel('CO2 (g/mi)') 60 | 61 | 62 | def violinbox_solution_1(): 63 | """ 64 | Solution for Question 1 in violin and box plot practice: plot the relationship 65 | between vehicle class and engine displacement. 66 | """ 67 | sol_string = ["I used a violin plot to depict the data in this case; you might", 68 | "have chosen a box plot instead. One of the interesting things", 69 | "about the relationship between variables is that it isn't consistent.", 70 | "Compact cars tend to have smaller engine sizes than the minicompact", 71 | "and subcompact cars, even though those two vehicle sizes are smaller.", 72 | "The box plot would make it easier to see that the median displacement", 73 | "for the two smallest vehicle classes is greater than the third quartile", 74 | "of the compact car class."] 75 | print((" ").join(sol_string)) 76 | 77 | # data setup 78 | fuel_econ = pd.read_csv('./data/fuel_econ.csv') 79 | 80 | sedan_classes = ['Minicompact Cars', 'Subcompact Cars', 'Compact Cars', 'Midsize Cars', 'Large Cars'] 81 | pd_ver = pd.__version__.split(".") 82 | if (int(pd_ver[0]) > 0) or (int(pd_ver[1]) >= 21): # v0.21 or later 83 | vclasses = pd.api.types.CategoricalDtype(ordered = True, categories = sedan_classes) 84 | fuel_econ['VClass'] = fuel_econ['VClass'].astype(vclasses) 85 | else: # pre-v0.21 86 | fuel_econ['VClass'] = fuel_econ['VClass'].astype('category', ordered = True, 87 | categories = sedan_classes) 88 | 89 | # plotting 90 | base_color = sb.color_palette()[0] 91 | sb.violinplot(data = fuel_econ, x = 'VClass', y = 'displ', 92 | color = base_color) 93 | plt.xticks(rotation = 15) 94 | 95 | 96 | def categorical_solution_1(): 97 | """ 98 | Solution for Question 1 in categorical plot practice: plot the relationship 99 | between vehicle class and fuel type. 100 | """ 101 | sol_string = ["I chose a clustered bar chart instead of a heat map in this case", 102 | "since there weren't a lot of numbers to plot. If you chose a heat", 103 | "map, did you remember to add a color bar and include annotations?", 104 | "From this plot, you can see that more cars use premium gas over", 105 | "regular gas, and that the smaller cars are biased towards the", 106 | "premium gas grade. It is only in midsize sedans where regular", 107 | "gasoline was used in more cars than premium gasoline."] 108 | print((" ").join(sol_string)) 109 | 110 | # data setup 111 | fuel_econ = pd.read_csv('./data/fuel_econ.csv') 112 | 113 | sedan_classes = ['Minicompact Cars', 'Subcompact Cars', 'Compact Cars', 'Midsize Cars', 'Large Cars'] 114 | pd_ver = pd.__version__.split(".") 115 | if (int(pd_ver[0]) > 0) or (int(pd_ver[1]) >= 21): # v0.21 or later 116 | vclasses = pd.api.types.CategoricalDtype(ordered = True, categories = sedan_classes) 117 | fuel_econ['VClass'] = fuel_econ['VClass'].astype(vclasses) 118 | else: # pre-v0.21 119 | fuel_econ['VClass'] = fuel_econ['VClass'].astype('category', ordered = True, 120 | categories = sedan_classes) 121 | fuel_econ_sub = fuel_econ.loc[fuel_econ['fuelType'].isin(['Premium Gasoline', 'Regular Gasoline'])] 122 | 123 | # plotting 124 | ax = sb.countplot(data = fuel_econ_sub, x = 'VClass', hue = 'fuelType') 125 | ax.legend(loc = 4, framealpha = 1) # lower right, no transparency 126 | plt.xticks(rotation = 15) 127 | 128 | 129 | def additionalplot_solution_1(): 130 | """ 131 | Solution for Question 1 in additional plots practice: plot the distribution 132 | of combined fuel efficiencies for each manufacturer with at least 80 cars. 133 | """ 134 | sol_string = ["Due to the large number of manufacturers to plot, I've gone", 135 | "with a faceted plot of histograms rather than a single figure", 136 | "like a box plot. As part of setting up the FacetGrid object, I", 137 | "have sorted the manufacturers by average mileage, and wrapped", 138 | "the faceting into a six column by three row grid. One interesting", 139 | "thing to note is that there are a very large number of BMW cars", 140 | "in the data, almost twice as many as the second-most prominent", 141 | "maker, Mercedes-Benz. One possible refinement could be to change", 142 | "the axes to be in terms of relative frequency or density to", 143 | "normalize the axes, making the less-frequent manufacturers", 144 | "easier to read."] 145 | print((" ").join(sol_string)) 146 | 147 | # data setup 148 | fuel_econ = pd.read_csv('./data/fuel_econ.csv') 149 | 150 | most_makes = fuel_econ['make'].value_counts().index[:18] 151 | fuel_econ_sub = fuel_econ.loc[fuel_econ['make'].isin(most_makes)] 152 | 153 | make_means = fuel_econ_sub.groupby('make').mean() 154 | comb_order = make_means.sort_values('comb', ascending = False).index 155 | 156 | # plotting 157 | g = sb.FacetGrid(data = fuel_econ_sub, col = 'make', col_wrap = 6, size = 2, 158 | col_order = comb_order) 159 | # try sb.distplot instead of plt.hist to see the plot in terms of density! 160 | g.map(plt.hist, 'comb', bins = np.arange(12, fuel_econ_sub['comb'].max()+2, 2)) 161 | g.set_titles('{col_name}') 162 | 163 | 164 | def additionalplot_solution_2(): 165 | """ 166 | Solution for Question 2 in additional plots practice: plot the average 167 | combined fuel efficiency for each manufacturer with at least 80 cars. 168 | """ 169 | sol_string = ["Seaborn's barplot function makes short work of this exercise.", 170 | "Since there are a lot of 'make' levels, I've made it a horizontal", 171 | "bar chart. In addition, I've set the error bars to represent the", 172 | "standard deviation of the car mileages."] 173 | print((" ").join(sol_string)) 174 | 175 | # data setup 176 | fuel_econ = pd.read_csv('./data/fuel_econ.csv') 177 | 178 | most_makes = fuel_econ['make'].value_counts().index[:18] 179 | fuel_econ_sub = fuel_econ.loc[fuel_econ['make'].isin(most_makes)] 180 | 181 | make_means = fuel_econ_sub.groupby('make').mean() 182 | comb_order = make_means.sort_values('comb', ascending = False).index 183 | 184 | # plotting 185 | base_color = sb.color_palette()[0] 186 | sb.barplot(data = fuel_econ_sub, x = 'comb', y = 'make', 187 | color = base_color, order = comb_order, ci = 'sd') 188 | plt.xlabel('Average Combined Fuel Eff. (mpg)') -------------------------------------------------------------------------------- /Matplotlib/Additional_Plot_Practice.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "# prerequisite package imports\n", 10 | "import numpy as np\n", 11 | "import pandas as pd\n", 12 | "import matplotlib.pyplot as plt\n", 13 | "import seaborn as sb\n", 14 | "\n", 15 | "%matplotlib inline\n", 16 | "\n", 17 | "from solutions_biv import additionalplot_solution_1, additionalplot_solution_2" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "We'll continue to make use of the fuel economy dataset in this workspace." 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": 2, 30 | "metadata": {}, 31 | "outputs": [ 32 | { 33 | "data": { 34 | "text/html": [ 35 | "
\n", 36 | "\n", 49 | "\n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | "
idmakemodelyearVClassdrivetransfuelTypecylindersdisplpv2pv4cityUCityhighwayUHighwaycombco2feScoreghgScore
032204NissanGT-R2013Subcompact CarsAll-Wheel DriveAutomatic (AM6)Premium Gasoline63.879016.459620.298822.556830.179818.738947144
132205VolkswagenCC2013Compact CarsFront-Wheel DriveAutomatic (AM-S6)Premium Gasoline42.094021.870626.977031.036742.493625.222734966
232206VolkswagenCC2013Compact CarsFront-Wheel DriveAutomatic (S6)Premium Gasoline63.694017.493521.200026.571635.100020.671642955
332207VolkswagenCC 4motion2013Compact CarsAll-Wheel DriveAutomatic (S6)Premium Gasoline63.694016.941520.500025.219033.500019.877444655
432208ChevroletMalibu eAssist2013Midsize CarsFront-Wheel DriveAutomatic (S6)Regular Gasoline42.409524.772631.979635.534051.881628.681331088
\n", 193 | "
" 194 | ], 195 | "text/plain": [ 196 | " id make model year VClass \\\n", 197 | "0 32204 Nissan GT-R 2013 Subcompact Cars \n", 198 | "1 32205 Volkswagen CC 2013 Compact Cars \n", 199 | "2 32206 Volkswagen CC 2013 Compact Cars \n", 200 | "3 32207 Volkswagen CC 4motion 2013 Compact Cars \n", 201 | "4 32208 Chevrolet Malibu eAssist 2013 Midsize Cars \n", 202 | "\n", 203 | " drive trans fuelType cylinders displ \\\n", 204 | "0 All-Wheel Drive Automatic (AM6) Premium Gasoline 6 3.8 \n", 205 | "1 Front-Wheel Drive Automatic (AM-S6) Premium Gasoline 4 2.0 \n", 206 | "2 Front-Wheel Drive Automatic (S6) Premium Gasoline 6 3.6 \n", 207 | "3 All-Wheel Drive Automatic (S6) Premium Gasoline 6 3.6 \n", 208 | "4 Front-Wheel Drive Automatic (S6) Regular Gasoline 4 2.4 \n", 209 | "\n", 210 | " pv2 pv4 city UCity highway UHighway comb co2 feScore \\\n", 211 | "0 79 0 16.4596 20.2988 22.5568 30.1798 18.7389 471 4 \n", 212 | "1 94 0 21.8706 26.9770 31.0367 42.4936 25.2227 349 6 \n", 213 | "2 94 0 17.4935 21.2000 26.5716 35.1000 20.6716 429 5 \n", 214 | "3 94 0 16.9415 20.5000 25.2190 33.5000 19.8774 446 5 \n", 215 | "4 0 95 24.7726 31.9796 35.5340 51.8816 28.6813 310 8 \n", 216 | "\n", 217 | " ghgScore \n", 218 | "0 4 \n", 219 | "1 6 \n", 220 | "2 5 \n", 221 | "3 5 \n", 222 | "4 8 " 223 | ] 224 | }, 225 | "execution_count": 2, 226 | "metadata": {}, 227 | "output_type": "execute_result" 228 | } 229 | ], 230 | "source": [ 231 | "fuel_econ = pd.read_csv('./data/fuel_econ.csv')\n", 232 | "fuel_econ.head()" 233 | ] 234 | }, 235 | { 236 | "cell_type": "markdown", 237 | "metadata": {}, 238 | "source": [ 239 | "**Task 1**: Plot the distribution of combined fuel mileage (column 'comb', in miles per gallon) by manufacturer (column 'make'), for all manufacturers with at least eighty cars in the dataset. Consider which manufacturer order will convey the most information when constructing your final plot. **Hint**: Completing this exercise will take multiple steps! Add additional code cells as needed in order to achieve the goal." 240 | ] 241 | }, 242 | { 243 | "cell_type": "code", 244 | "execution_count": null, 245 | "metadata": {}, 246 | "outputs": [], 247 | "source": [ 248 | "# YOUR CODE HERE" 249 | ] 250 | }, 251 | { 252 | "cell_type": "code", 253 | "execution_count": null, 254 | "metadata": {}, 255 | "outputs": [], 256 | "source": [ 257 | "# run this cell to check your work against ours\n", 258 | "additionalplot_solution_1()" 259 | ] 260 | }, 261 | { 262 | "cell_type": "markdown", 263 | "metadata": {}, 264 | "source": [ 265 | "**Task 2**: Continuing on from the previous task, plot the mean fuel efficiency for each manufacturer with at least 80 cars in the dataset." 266 | ] 267 | }, 268 | { 269 | "cell_type": "code", 270 | "execution_count": null, 271 | "metadata": {}, 272 | "outputs": [], 273 | "source": [ 274 | "# YOUR CODE HERE" 275 | ] 276 | }, 277 | { 278 | "cell_type": "code", 279 | "execution_count": null, 280 | "metadata": {}, 281 | "outputs": [], 282 | "source": [ 283 | "# run this cell to check your work against ours\n", 284 | "additionalplot_solution_2()" 285 | ] 286 | } 287 | ], 288 | "metadata": { 289 | "kernelspec": { 290 | "display_name": "Python 3", 291 | "language": "python", 292 | "name": "python3" 293 | }, 294 | "language_info": { 295 | "codemirror_mode": { 296 | "name": "ipython", 297 | "version": 3 298 | }, 299 | "file_extension": ".py", 300 | "mimetype": "text/x-python", 301 | "name": "python", 302 | "nbconvert_exporter": "python", 303 | "pygments_lexer": "ipython3", 304 | "version": "3.6.6" 305 | } 306 | }, 307 | "nbformat": 4, 308 | "nbformat_minor": 2 309 | } 310 | -------------------------------------------------------------------------------- /Matplotlib/data/pokemon.csv: -------------------------------------------------------------------------------- 1 | id,species,generation_id,height,weight,base_experience,type_1,type_2,hp,attack,defense,speed,special-attack,special-defense 2 | 1,bulbasaur,1,0.7,6.9,64,grass,poison,45,49,49,45,65,65 3 | 2,ivysaur,1,1.0,13.0,142,grass,poison,60,62,63,60,80,80 4 | 3,venusaur,1,2.0,100.0,236,grass,poison,80,82,83,80,100,100 5 | 4,charmander,1,0.6,8.5,62,fire,,39,52,43,65,60,50 6 | 5,charmeleon,1,1.1,19.0,142,fire,,58,64,58,80,80,65 7 | 6,charizard,1,1.7,90.5,240,fire,flying,78,84,78,100,109,85 8 | 7,squirtle,1,0.5,9.0,63,water,,44,48,65,43,50,64 9 | 8,wartortle,1,1.0,22.5,142,water,,59,63,80,58,65,80 10 | 9,blastoise,1,1.6,85.5,239,water,,79,83,100,78,85,105 11 | 10,caterpie,1,0.3,2.9,39,bug,,45,30,35,45,20,20 12 | 11,metapod,1,0.7,9.9,72,bug,,50,20,55,30,25,25 13 | 12,butterfree,1,1.1,32.0,178,bug,flying,60,45,50,70,90,80 14 | 13,weedle,1,0.3,3.2,39,bug,poison,40,35,30,50,20,20 15 | 14,kakuna,1,0.6,10.0,72,bug,poison,45,25,50,35,25,25 16 | 15,beedrill,1,1.0,29.5,178,bug,poison,65,90,40,75,45,80 17 | 16,pidgey,1,0.3,1.8,50,normal,flying,40,45,40,56,35,35 18 | 17,pidgeotto,1,1.1,30.0,122,normal,flying,63,60,55,71,50,50 19 | 18,pidgeot,1,1.5,39.5,216,normal,flying,83,80,75,101,70,70 20 | 19,rattata,1,0.3,3.5,51,normal,,30,56,35,72,25,35 21 | 20,raticate,1,0.7,18.5,145,normal,,55,81,60,97,50,70 22 | 21,spearow,1,0.3,2.0,52,normal,flying,40,60,30,70,31,31 23 | 22,fearow,1,1.2,38.0,155,normal,flying,65,90,65,100,61,61 24 | 23,ekans,1,2.0,6.9,58,poison,,35,60,44,55,40,54 25 | 24,arbok,1,3.5,65.0,157,poison,,60,95,69,80,65,79 26 | 25,pikachu,1,0.4,6.0,112,electric,,35,55,40,90,50,50 27 | 26,raichu,1,0.8,30.0,218,electric,,60,90,55,110,90,80 28 | 27,sandshrew,1,0.6,12.0,60,ground,,50,75,85,40,20,30 29 | 28,sandslash,1,1.0,29.5,158,ground,,75,100,110,65,45,55 30 | 29,nidoran-f,1,0.4,7.0,55,poison,,55,47,52,41,40,40 31 | 30,nidorina,1,0.8,20.0,128,poison,,70,62,67,56,55,55 32 | 31,nidoqueen,1,1.3,60.0,227,poison,ground,90,92,87,76,75,85 33 | 32,nidoran-m,1,0.5,9.0,55,poison,,46,57,40,50,40,40 34 | 33,nidorino,1,0.9,19.5,128,poison,,61,72,57,65,55,55 35 | 34,nidoking,1,1.4,62.0,227,poison,ground,81,102,77,85,85,75 36 | 35,clefairy,1,0.6,7.5,113,fairy,,70,45,48,35,60,65 37 | 36,clefable,1,1.3,40.0,217,fairy,,95,70,73,60,95,90 38 | 37,vulpix,1,0.6,9.9,60,fire,,38,41,40,65,50,65 39 | 38,ninetales,1,1.1,19.9,177,fire,,73,76,75,100,81,100 40 | 39,jigglypuff,1,0.5,5.5,95,normal,fairy,115,45,20,20,45,25 41 | 40,wigglytuff,1,1.0,12.0,196,normal,fairy,140,70,45,45,85,50 42 | 41,zubat,1,0.8,7.5,49,poison,flying,40,45,35,55,30,40 43 | 42,golbat,1,1.6,55.0,159,poison,flying,75,80,70,90,65,75 44 | 43,oddish,1,0.5,5.4,64,grass,poison,45,50,55,30,75,65 45 | 44,gloom,1,0.8,8.6,138,grass,poison,60,65,70,40,85,75 46 | 45,vileplume,1,1.2,18.6,221,grass,poison,75,80,85,50,110,90 47 | 46,paras,1,0.3,5.4,57,bug,grass,35,70,55,25,45,55 48 | 47,parasect,1,1.0,29.5,142,bug,grass,60,95,80,30,60,80 49 | 48,venonat,1,1.0,30.0,61,bug,poison,60,55,50,45,40,55 50 | 49,venomoth,1,1.5,12.5,158,bug,poison,70,65,60,90,90,75 51 | 50,diglett,1,0.2,0.8,53,ground,,10,55,25,95,35,45 52 | 51,dugtrio,1,0.7,33.3,149,ground,,35,100,50,120,50,70 53 | 52,meowth,1,0.4,4.2,58,normal,,40,45,35,90,40,40 54 | 53,persian,1,1.0,32.0,154,normal,,65,70,60,115,65,65 55 | 54,psyduck,1,0.8,19.6,64,water,,50,52,48,55,65,50 56 | 55,golduck,1,1.7,76.6,175,water,,80,82,78,85,95,80 57 | 56,mankey,1,0.5,28.0,61,fighting,,40,80,35,70,35,45 58 | 57,primeape,1,1.0,32.0,159,fighting,,65,105,60,95,60,70 59 | 58,growlithe,1,0.7,19.0,70,fire,,55,70,45,60,70,50 60 | 59,arcanine,1,1.9,155.0,194,fire,,90,110,80,95,100,80 61 | 60,poliwag,1,0.6,12.4,60,water,,40,50,40,90,40,40 62 | 61,poliwhirl,1,1.0,20.0,135,water,,65,65,65,90,50,50 63 | 62,poliwrath,1,1.3,54.0,230,water,fighting,90,95,95,70,70,90 64 | 63,abra,1,0.9,19.5,62,psychic,,25,20,15,90,105,55 65 | 64,kadabra,1,1.3,56.5,140,psychic,,40,35,30,105,120,70 66 | 65,alakazam,1,1.5,48.0,225,psychic,,55,50,45,120,135,95 67 | 66,machop,1,0.8,19.5,61,fighting,,70,80,50,35,35,35 68 | 67,machoke,1,1.5,70.5,142,fighting,,80,100,70,45,50,60 69 | 68,machamp,1,1.6,130.0,227,fighting,,90,130,80,55,65,85 70 | 69,bellsprout,1,0.7,4.0,60,grass,poison,50,75,35,40,70,30 71 | 70,weepinbell,1,1.0,6.4,137,grass,poison,65,90,50,55,85,45 72 | 71,victreebel,1,1.7,15.5,221,grass,poison,80,105,65,70,100,70 73 | 72,tentacool,1,0.9,45.5,67,water,poison,40,40,35,70,50,100 74 | 73,tentacruel,1,1.6,55.0,180,water,poison,80,70,65,100,80,120 75 | 74,geodude,1,0.4,20.0,60,rock,ground,40,80,100,20,30,30 76 | 75,graveler,1,1.0,105.0,137,rock,ground,55,95,115,35,45,45 77 | 76,golem,1,1.4,300.0,223,rock,ground,80,120,130,45,55,65 78 | 77,ponyta,1,1.0,30.0,82,fire,,50,85,55,90,65,65 79 | 78,rapidash,1,1.7,95.0,175,fire,,65,100,70,105,80,80 80 | 79,slowpoke,1,1.2,36.0,63,water,psychic,90,65,65,15,40,40 81 | 80,slowbro,1,1.6,78.5,172,water,psychic,95,75,110,30,100,80 82 | 81,magnemite,1,0.3,6.0,65,electric,steel,25,35,70,45,95,55 83 | 82,magneton,1,1.0,60.0,163,electric,steel,50,60,95,70,120,70 84 | 83,farfetchd,1,0.8,15.0,132,normal,flying,52,90,55,60,58,62 85 | 84,doduo,1,1.4,39.2,62,normal,flying,35,85,45,75,35,35 86 | 85,dodrio,1,1.8,85.2,165,normal,flying,60,110,70,110,60,60 87 | 86,seel,1,1.1,90.0,65,water,,65,45,55,45,45,70 88 | 87,dewgong,1,1.7,120.0,166,water,ice,90,70,80,70,70,95 89 | 88,grimer,1,0.9,30.0,65,poison,,80,80,50,25,40,50 90 | 89,muk,1,1.2,30.0,175,poison,,105,105,75,50,65,100 91 | 90,shellder,1,0.3,4.0,61,water,,30,65,100,40,45,25 92 | 91,cloyster,1,1.5,132.5,184,water,ice,50,95,180,70,85,45 93 | 92,gastly,1,1.3,0.1,62,ghost,poison,30,35,30,80,100,35 94 | 93,haunter,1,1.6,0.1,142,ghost,poison,45,50,45,95,115,55 95 | 94,gengar,1,1.5,40.5,225,ghost,poison,60,65,60,110,130,75 96 | 95,onix,1,8.8,210.0,77,rock,ground,35,45,160,70,30,45 97 | 96,drowzee,1,1.0,32.4,66,psychic,,60,48,45,42,43,90 98 | 97,hypno,1,1.6,75.6,169,psychic,,85,73,70,67,73,115 99 | 98,krabby,1,0.4,6.5,65,water,,30,105,90,50,25,25 100 | 99,kingler,1,1.3,60.0,166,water,,55,130,115,75,50,50 101 | 100,voltorb,1,0.5,10.4,66,electric,,40,30,50,100,55,55 102 | 101,electrode,1,1.2,66.6,172,electric,,60,50,70,150,80,80 103 | 102,exeggcute,1,0.4,2.5,65,grass,psychic,60,40,80,40,60,45 104 | 103,exeggutor,1,2.0,120.0,186,grass,psychic,95,95,85,55,125,75 105 | 104,cubone,1,0.4,6.5,64,ground,,50,50,95,35,40,50 106 | 105,marowak,1,1.0,45.0,149,ground,,60,80,110,45,50,80 107 | 106,hitmonlee,1,1.5,49.8,159,fighting,,50,120,53,87,35,110 108 | 107,hitmonchan,1,1.4,50.2,159,fighting,,50,105,79,76,35,110 109 | 108,lickitung,1,1.2,65.5,77,normal,,90,55,75,30,60,75 110 | 109,koffing,1,0.6,1.0,68,poison,,40,65,95,35,60,45 111 | 110,weezing,1,1.2,9.5,172,poison,,65,90,120,60,85,70 112 | 111,rhyhorn,1,1.0,115.0,69,ground,rock,80,85,95,25,30,30 113 | 112,rhydon,1,1.9,120.0,170,ground,rock,105,130,120,40,45,45 114 | 113,chansey,1,1.1,34.6,395,normal,,250,5,5,50,35,105 115 | 114,tangela,1,1.0,35.0,87,grass,,65,55,115,60,100,40 116 | 115,kangaskhan,1,2.2,80.0,172,normal,,105,95,80,90,40,80 117 | 116,horsea,1,0.4,8.0,59,water,,30,40,70,60,70,25 118 | 117,seadra,1,1.2,25.0,154,water,,55,65,95,85,95,45 119 | 118,goldeen,1,0.6,15.0,64,water,,45,67,60,63,35,50 120 | 119,seaking,1,1.3,39.0,158,water,,80,92,65,68,65,80 121 | 120,staryu,1,0.8,34.5,68,water,,30,45,55,85,70,55 122 | 121,starmie,1,1.1,80.0,182,water,psychic,60,75,85,115,100,85 123 | 122,mr-mime,1,1.3,54.5,161,psychic,fairy,40,45,65,90,100,120 124 | 123,scyther,1,1.5,56.0,100,bug,flying,70,110,80,105,55,80 125 | 124,jynx,1,1.4,40.6,159,ice,psychic,65,50,35,95,115,95 126 | 125,electabuzz,1,1.1,30.0,172,electric,,65,83,57,105,95,85 127 | 126,magmar,1,1.3,44.5,173,fire,,65,95,57,93,100,85 128 | 127,pinsir,1,1.5,55.0,175,bug,,65,125,100,85,55,70 129 | 128,tauros,1,1.4,88.4,172,normal,,75,100,95,110,40,70 130 | 129,magikarp,1,0.9,10.0,40,water,,20,10,55,80,15,20 131 | 130,gyarados,1,6.5,235.0,189,water,flying,95,125,79,81,60,100 132 | 131,lapras,1,2.5,220.0,187,water,ice,130,85,80,60,85,95 133 | 132,ditto,1,0.3,4.0,101,normal,,48,48,48,48,48,48 134 | 133,eevee,1,0.3,6.5,65,normal,,55,55,50,55,45,65 135 | 134,vaporeon,1,1.0,29.0,184,water,,130,65,60,65,110,95 136 | 135,jolteon,1,0.8,24.5,184,electric,,65,65,60,130,110,95 137 | 136,flareon,1,0.9,25.0,184,fire,,65,130,60,65,95,110 138 | 137,porygon,1,0.8,36.5,79,normal,,65,60,70,40,85,75 139 | 138,omanyte,1,0.4,7.5,71,rock,water,35,40,100,35,90,55 140 | 139,omastar,1,1.0,35.0,173,rock,water,70,60,125,55,115,70 141 | 140,kabuto,1,0.5,11.5,71,rock,water,30,80,90,55,55,45 142 | 141,kabutops,1,1.3,40.5,173,rock,water,60,115,105,80,65,70 143 | 142,aerodactyl,1,1.8,59.0,180,rock,flying,80,105,65,130,60,75 144 | 143,snorlax,1,2.1,460.0,189,normal,,160,110,65,30,65,110 145 | 144,articuno,1,1.7,55.4,261,ice,flying,90,85,100,85,95,125 146 | 145,zapdos,1,1.6,52.6,261,electric,flying,90,90,85,100,125,90 147 | 146,moltres,1,2.0,60.0,261,fire,flying,90,100,90,90,125,85 148 | 147,dratini,1,1.8,3.3,60,dragon,,41,64,45,50,50,50 149 | 148,dragonair,1,4.0,16.5,147,dragon,,61,84,65,70,70,70 150 | 149,dragonite,1,2.2,210.0,270,dragon,flying,91,134,95,80,100,100 151 | 150,mewtwo,1,2.0,122.0,306,psychic,,106,110,90,130,154,90 152 | 151,mew,1,0.4,4.0,270,psychic,,100,100,100,100,100,100 153 | 152,chikorita,2,0.9,6.4,64,grass,,45,49,65,45,49,65 154 | 153,bayleef,2,1.2,15.8,142,grass,,60,62,80,60,63,80 155 | 154,meganium,2,1.8,100.5,236,grass,,80,82,100,80,83,100 156 | 155,cyndaquil,2,0.5,7.9,62,fire,,39,52,43,65,60,50 157 | 156,quilava,2,0.9,19.0,142,fire,,58,64,58,80,80,65 158 | 157,typhlosion,2,1.7,79.5,240,fire,,78,84,78,100,109,85 159 | 158,totodile,2,0.6,9.5,63,water,,50,65,64,43,44,48 160 | 159,croconaw,2,1.1,25.0,142,water,,65,80,80,58,59,63 161 | 160,feraligatr,2,2.3,88.8,239,water,,85,105,100,78,79,83 162 | 161,sentret,2,0.8,6.0,43,normal,,35,46,34,20,35,45 163 | 162,furret,2,1.8,32.5,145,normal,,85,76,64,90,45,55 164 | 163,hoothoot,2,0.7,21.2,52,normal,flying,60,30,30,50,36,56 165 | 164,noctowl,2,1.6,40.8,158,normal,flying,100,50,50,70,86,96 166 | 165,ledyba,2,1.0,10.8,53,bug,flying,40,20,30,55,40,80 167 | 166,ledian,2,1.4,35.6,137,bug,flying,55,35,50,85,55,110 168 | 167,spinarak,2,0.5,8.5,50,bug,poison,40,60,40,30,40,40 169 | 168,ariados,2,1.1,33.5,140,bug,poison,70,90,70,40,60,70 170 | 169,crobat,2,1.8,75.0,241,poison,flying,85,90,80,130,70,80 171 | 170,chinchou,2,0.5,12.0,66,water,electric,75,38,38,67,56,56 172 | 171,lanturn,2,1.2,22.5,161,water,electric,125,58,58,67,76,76 173 | 172,pichu,2,0.3,2.0,41,electric,,20,40,15,60,35,35 174 | 173,cleffa,2,0.3,3.0,44,fairy,,50,25,28,15,45,55 175 | 174,igglybuff,2,0.3,1.0,42,normal,fairy,90,30,15,15,40,20 176 | 175,togepi,2,0.3,1.5,49,fairy,,35,20,65,20,40,65 177 | 176,togetic,2,0.6,3.2,142,fairy,flying,55,40,85,40,80,105 178 | 177,natu,2,0.2,2.0,64,psychic,flying,40,50,45,70,70,45 179 | 178,xatu,2,1.5,15.0,165,psychic,flying,65,75,70,95,95,70 180 | 179,mareep,2,0.6,7.8,56,electric,,55,40,40,35,65,45 181 | 180,flaaffy,2,0.8,13.3,128,electric,,70,55,55,45,80,60 182 | 181,ampharos,2,1.4,61.5,230,electric,,90,75,85,55,115,90 183 | 182,bellossom,2,0.4,5.8,221,grass,,75,80,95,50,90,100 184 | 183,marill,2,0.4,8.5,88,water,fairy,70,20,50,40,20,50 185 | 184,azumarill,2,0.8,28.5,189,water,fairy,100,50,80,50,60,80 186 | 185,sudowoodo,2,1.2,38.0,144,rock,,70,100,115,30,30,65 187 | 186,politoed,2,1.1,33.9,225,water,,90,75,75,70,90,100 188 | 187,hoppip,2,0.4,0.5,50,grass,flying,35,35,40,50,35,55 189 | 188,skiploom,2,0.6,1.0,119,grass,flying,55,45,50,80,45,65 190 | 189,jumpluff,2,0.8,3.0,207,grass,flying,75,55,70,110,55,95 191 | 190,aipom,2,0.8,11.5,72,normal,,55,70,55,85,40,55 192 | 191,sunkern,2,0.3,1.8,36,grass,,30,30,30,30,30,30 193 | 192,sunflora,2,0.8,8.5,149,grass,,75,75,55,30,105,85 194 | 193,yanma,2,1.2,38.0,78,bug,flying,65,65,45,95,75,45 195 | 194,wooper,2,0.4,8.5,42,water,ground,55,45,45,15,25,25 196 | 195,quagsire,2,1.4,75.0,151,water,ground,95,85,85,35,65,65 197 | 196,espeon,2,0.9,26.5,184,psychic,,65,65,60,110,130,95 198 | 197,umbreon,2,1.0,27.0,184,dark,,95,65,110,65,60,130 199 | 198,murkrow,2,0.5,2.1,81,dark,flying,60,85,42,91,85,42 200 | 199,slowking,2,2.0,79.5,172,water,psychic,95,75,80,30,100,110 201 | 200,misdreavus,2,0.7,1.0,87,ghost,,60,60,60,85,85,85 202 | 201,unown,2,0.5,5.0,118,psychic,,48,72,48,48,72,48 203 | 202,wobbuffet,2,1.3,28.5,142,psychic,,190,33,58,33,33,58 204 | 203,girafarig,2,1.5,41.5,159,normal,psychic,70,80,65,85,90,65 205 | 204,pineco,2,0.6,7.2,58,bug,,50,65,90,15,35,35 206 | 205,forretress,2,1.2,125.8,163,bug,steel,75,90,140,40,60,60 207 | 206,dunsparce,2,1.5,14.0,145,normal,,100,70,70,45,65,65 208 | 207,gligar,2,1.1,64.8,86,ground,flying,65,75,105,85,35,65 209 | 208,steelix,2,9.2,400.0,179,steel,ground,75,85,200,30,55,65 210 | 209,snubbull,2,0.6,7.8,60,fairy,,60,80,50,30,40,40 211 | 210,granbull,2,1.4,48.7,158,fairy,,90,120,75,45,60,60 212 | 211,qwilfish,2,0.5,3.9,88,water,poison,65,95,85,85,55,55 213 | 212,scizor,2,1.8,118.0,175,bug,steel,70,130,100,65,55,80 214 | 213,shuckle,2,0.6,20.5,177,bug,rock,20,10,230,5,10,230 215 | 214,heracross,2,1.5,54.0,175,bug,fighting,80,125,75,85,40,95 216 | 215,sneasel,2,0.9,28.0,86,dark,ice,55,95,55,115,35,75 217 | 216,teddiursa,2,0.6,8.8,66,normal,,60,80,50,40,50,50 218 | 217,ursaring,2,1.8,125.8,175,normal,,90,130,75,55,75,75 219 | 218,slugma,2,0.7,35.0,50,fire,,40,40,40,20,70,40 220 | 219,magcargo,2,0.8,55.0,151,fire,rock,60,50,120,30,90,80 221 | 220,swinub,2,0.4,6.5,50,ice,ground,50,50,40,50,30,30 222 | 221,piloswine,2,1.1,55.8,158,ice,ground,100,100,80,50,60,60 223 | 222,corsola,2,0.6,5.0,144,water,rock,65,55,95,35,65,95 224 | 223,remoraid,2,0.6,12.0,60,water,,35,65,35,65,65,35 225 | 224,octillery,2,0.9,28.5,168,water,,75,105,75,45,105,75 226 | 225,delibird,2,0.9,16.0,116,ice,flying,45,55,45,75,65,45 227 | 226,mantine,2,2.1,220.0,170,water,flying,85,40,70,70,80,140 228 | 227,skarmory,2,1.7,50.5,163,steel,flying,65,80,140,70,40,70 229 | 228,houndour,2,0.6,10.8,66,dark,fire,45,60,30,65,80,50 230 | 229,houndoom,2,1.4,35.0,175,dark,fire,75,90,50,95,110,80 231 | 230,kingdra,2,1.8,152.0,243,water,dragon,75,95,95,85,95,95 232 | 231,phanpy,2,0.5,33.5,66,ground,,90,60,60,40,40,40 233 | 232,donphan,2,1.1,120.0,175,ground,,90,120,120,50,60,60 234 | 233,porygon2,2,0.6,32.5,180,normal,,85,80,90,60,105,95 235 | 234,stantler,2,1.4,71.2,163,normal,,73,95,62,85,85,65 236 | 235,smeargle,2,1.2,58.0,88,normal,,55,20,35,75,20,45 237 | 236,tyrogue,2,0.7,21.0,42,fighting,,35,35,35,35,35,35 238 | 237,hitmontop,2,1.4,48.0,159,fighting,,50,95,95,70,35,110 239 | 238,smoochum,2,0.4,6.0,61,ice,psychic,45,30,15,65,85,65 240 | 239,elekid,2,0.6,23.5,72,electric,,45,63,37,95,65,55 241 | 240,magby,2,0.7,21.4,73,fire,,45,75,37,83,70,55 242 | 241,miltank,2,1.2,75.5,172,normal,,95,80,105,100,40,70 243 | 242,blissey,2,1.5,46.8,608,normal,,255,10,10,55,75,135 244 | 243,raikou,2,1.9,178.0,261,electric,,90,85,75,115,115,100 245 | 244,entei,2,2.1,198.0,261,fire,,115,115,85,100,90,75 246 | 245,suicune,2,2.0,187.0,261,water,,100,75,115,85,90,115 247 | 246,larvitar,2,0.6,72.0,60,rock,ground,50,64,50,41,45,50 248 | 247,pupitar,2,1.2,152.0,144,rock,ground,70,84,70,51,65,70 249 | 248,tyranitar,2,2.0,202.0,270,rock,dark,100,134,110,61,95,100 250 | 249,lugia,2,5.2,216.0,306,psychic,flying,106,90,130,110,90,154 251 | 250,ho-oh,2,3.8,199.0,306,fire,flying,106,130,90,90,110,154 252 | 251,celebi,2,0.6,5.0,270,psychic,grass,100,100,100,100,100,100 253 | 252,treecko,3,0.5,5.0,62,grass,,40,45,35,70,65,55 254 | 253,grovyle,3,0.9,21.6,142,grass,,50,65,45,95,85,65 255 | 254,sceptile,3,1.7,52.2,239,grass,,70,85,65,120,105,85 256 | 255,torchic,3,0.4,2.5,62,fire,,45,60,40,45,70,50 257 | 256,combusken,3,0.9,19.5,142,fire,fighting,60,85,60,55,85,60 258 | 257,blaziken,3,1.9,52.0,239,fire,fighting,80,120,70,80,110,70 259 | 258,mudkip,3,0.4,7.6,62,water,,50,70,50,40,50,50 260 | 259,marshtomp,3,0.7,28.0,142,water,ground,70,85,70,50,60,70 261 | 260,swampert,3,1.5,81.9,241,water,ground,100,110,90,60,85,90 262 | 261,poochyena,3,0.5,13.6,56,dark,,35,55,35,35,30,30 263 | 262,mightyena,3,1.0,37.0,147,dark,,70,90,70,70,60,60 264 | 263,zigzagoon,3,0.4,17.5,56,normal,,38,30,41,60,30,41 265 | 264,linoone,3,0.5,32.5,147,normal,,78,70,61,100,50,61 266 | 265,wurmple,3,0.3,3.6,56,bug,,45,45,35,20,20,30 267 | 266,silcoon,3,0.6,10.0,72,bug,,50,35,55,15,25,25 268 | 267,beautifly,3,1.0,28.4,178,bug,flying,60,70,50,65,100,50 269 | 268,cascoon,3,0.7,11.5,72,bug,,50,35,55,15,25,25 270 | 269,dustox,3,1.2,31.6,173,bug,poison,60,50,70,65,50,90 271 | 270,lotad,3,0.5,2.6,44,water,grass,40,30,30,30,40,50 272 | 271,lombre,3,1.2,32.5,119,water,grass,60,50,50,50,60,70 273 | 272,ludicolo,3,1.5,55.0,216,water,grass,80,70,70,70,90,100 274 | 273,seedot,3,0.5,4.0,44,grass,,40,40,50,30,30,30 275 | 274,nuzleaf,3,1.0,28.0,119,grass,dark,70,70,40,60,60,40 276 | 275,shiftry,3,1.3,59.6,216,grass,dark,90,100,60,80,90,60 277 | 276,taillow,3,0.3,2.3,54,normal,flying,40,55,30,85,30,30 278 | 277,swellow,3,0.7,19.8,159,normal,flying,60,85,60,125,75,50 279 | 278,wingull,3,0.6,9.5,54,water,flying,40,30,30,85,55,30 280 | 279,pelipper,3,1.2,28.0,154,water,flying,60,50,100,65,95,70 281 | 280,ralts,3,0.4,6.6,40,psychic,fairy,28,25,25,40,45,35 282 | 281,kirlia,3,0.8,20.2,97,psychic,fairy,38,35,35,50,65,55 283 | 282,gardevoir,3,1.6,48.4,233,psychic,fairy,68,65,65,80,125,115 284 | 283,surskit,3,0.5,1.7,54,bug,water,40,30,32,65,50,52 285 | 284,masquerain,3,0.8,3.6,159,bug,flying,70,60,62,80,100,82 286 | 285,shroomish,3,0.4,4.5,59,grass,,60,40,60,35,40,60 287 | 286,breloom,3,1.2,39.2,161,grass,fighting,60,130,80,70,60,60 288 | 287,slakoth,3,0.8,24.0,56,normal,,60,60,60,30,35,35 289 | 288,vigoroth,3,1.4,46.5,154,normal,,80,80,80,90,55,55 290 | 289,slaking,3,2.0,130.5,252,normal,,150,160,100,100,95,65 291 | 290,nincada,3,0.5,5.5,53,bug,ground,31,45,90,40,30,30 292 | 291,ninjask,3,0.8,12.0,160,bug,flying,61,90,45,160,50,50 293 | 292,shedinja,3,0.8,1.2,83,bug,ghost,1,90,45,40,30,30 294 | 293,whismur,3,0.6,16.3,48,normal,,64,51,23,28,51,23 295 | 294,loudred,3,1.0,40.5,126,normal,,84,71,43,48,71,43 296 | 295,exploud,3,1.5,84.0,221,normal,,104,91,63,68,91,73 297 | 296,makuhita,3,1.0,86.4,47,fighting,,72,60,30,25,20,30 298 | 297,hariyama,3,2.3,253.8,166,fighting,,144,120,60,50,40,60 299 | 298,azurill,3,0.2,2.0,38,normal,fairy,50,20,40,20,20,40 300 | 299,nosepass,3,1.0,97.0,75,rock,,30,45,135,30,45,90 301 | 300,skitty,3,0.6,11.0,52,normal,,50,45,45,50,35,35 302 | 301,delcatty,3,1.1,32.6,140,normal,,70,65,65,90,55,55 303 | 302,sableye,3,0.5,11.0,133,dark,ghost,50,75,75,50,65,65 304 | 303,mawile,3,0.6,11.5,133,steel,fairy,50,85,85,50,55,55 305 | 304,aron,3,0.4,60.0,66,steel,rock,50,70,100,30,40,40 306 | 305,lairon,3,0.9,120.0,151,steel,rock,60,90,140,40,50,50 307 | 306,aggron,3,2.1,360.0,239,steel,rock,70,110,180,50,60,60 308 | 307,meditite,3,0.6,11.2,56,fighting,psychic,30,40,55,60,40,55 309 | 308,medicham,3,1.3,31.5,144,fighting,psychic,60,60,75,80,60,75 310 | 309,electrike,3,0.6,15.2,59,electric,,40,45,40,65,65,40 311 | 310,manectric,3,1.5,40.2,166,electric,,70,75,60,105,105,60 312 | 311,plusle,3,0.4,4.2,142,electric,,60,50,40,95,85,75 313 | 312,minun,3,0.4,4.2,142,electric,,60,40,50,95,75,85 314 | 313,volbeat,3,0.7,17.7,151,bug,,65,73,75,85,47,85 315 | 314,illumise,3,0.6,17.7,151,bug,,65,47,75,85,73,85 316 | 315,roselia,3,0.3,2.0,140,grass,poison,50,60,45,65,100,80 317 | 316,gulpin,3,0.4,10.3,60,poison,,70,43,53,40,43,53 318 | 317,swalot,3,1.7,80.0,163,poison,,100,73,83,55,73,83 319 | 318,carvanha,3,0.8,20.8,61,water,dark,45,90,20,65,65,20 320 | 319,sharpedo,3,1.8,88.8,161,water,dark,70,120,40,95,95,40 321 | 320,wailmer,3,2.0,130.0,80,water,,130,70,35,60,70,35 322 | 321,wailord,3,14.5,398.0,175,water,,170,90,45,60,90,45 323 | 322,numel,3,0.7,24.0,61,fire,ground,60,60,40,35,65,45 324 | 323,camerupt,3,1.9,220.0,161,fire,ground,70,100,70,40,105,75 325 | 324,torkoal,3,0.5,80.4,165,fire,,70,85,140,20,85,70 326 | 325,spoink,3,0.7,30.6,66,psychic,,60,25,35,60,70,80 327 | 326,grumpig,3,0.9,71.5,165,psychic,,80,45,65,80,90,110 328 | 327,spinda,3,1.1,5.0,126,normal,,60,60,60,60,60,60 329 | 328,trapinch,3,0.7,15.0,58,ground,,45,100,45,10,45,45 330 | 329,vibrava,3,1.1,15.3,119,ground,dragon,50,70,50,70,50,50 331 | 330,flygon,3,2.0,82.0,234,ground,dragon,80,100,80,100,80,80 332 | 331,cacnea,3,0.4,51.3,67,grass,,50,85,40,35,85,40 333 | 332,cacturne,3,1.3,77.4,166,grass,dark,70,115,60,55,115,60 334 | 333,swablu,3,0.4,1.2,62,normal,flying,45,40,60,50,40,75 335 | 334,altaria,3,1.1,20.6,172,dragon,flying,75,70,90,80,70,105 336 | 335,zangoose,3,1.3,40.3,160,normal,,73,115,60,90,60,60 337 | 336,seviper,3,2.7,52.5,160,poison,,73,100,60,65,100,60 338 | 337,lunatone,3,1.0,168.0,161,rock,psychic,90,55,65,70,95,85 339 | 338,solrock,3,1.2,154.0,161,rock,psychic,90,95,85,70,55,65 340 | 339,barboach,3,0.4,1.9,58,water,ground,50,48,43,60,46,41 341 | 340,whiscash,3,0.9,23.6,164,water,ground,110,78,73,60,76,71 342 | 341,corphish,3,0.6,11.5,62,water,,43,80,65,35,50,35 343 | 342,crawdaunt,3,1.1,32.8,164,water,dark,63,120,85,55,90,55 344 | 343,baltoy,3,0.5,21.5,60,ground,psychic,40,40,55,55,40,70 345 | 344,claydol,3,1.5,108.0,175,ground,psychic,60,70,105,75,70,120 346 | 345,lileep,3,1.0,23.8,71,rock,grass,66,41,77,23,61,87 347 | 346,cradily,3,1.5,60.4,173,rock,grass,86,81,97,43,81,107 348 | 347,anorith,3,0.7,12.5,71,rock,bug,45,95,50,75,40,50 349 | 348,armaldo,3,1.5,68.2,173,rock,bug,75,125,100,45,70,80 350 | 349,feebas,3,0.6,7.4,40,water,,20,15,20,80,10,55 351 | 350,milotic,3,6.2,162.0,189,water,,95,60,79,81,100,125 352 | 351,castform,3,0.3,0.8,147,normal,,70,70,70,70,70,70 353 | 352,kecleon,3,1.0,22.0,154,normal,,60,90,70,40,60,120 354 | 353,shuppet,3,0.6,2.3,59,ghost,,44,75,35,45,63,33 355 | 354,banette,3,1.1,12.5,159,ghost,,64,115,65,65,83,63 356 | 355,duskull,3,0.8,15.0,59,ghost,,20,40,90,25,30,90 357 | 356,dusclops,3,1.6,30.6,159,ghost,,40,70,130,25,60,130 358 | 357,tropius,3,2.0,100.0,161,grass,flying,99,68,83,51,72,87 359 | 358,chimecho,3,0.6,1.0,159,psychic,,75,50,80,65,95,90 360 | 359,absol,3,1.2,47.0,163,dark,,65,130,60,75,75,60 361 | 360,wynaut,3,0.6,14.0,52,psychic,,95,23,48,23,23,48 362 | 361,snorunt,3,0.7,16.8,60,ice,,50,50,50,50,50,50 363 | 362,glalie,3,1.5,256.5,168,ice,,80,80,80,80,80,80 364 | 363,spheal,3,0.8,39.5,58,ice,water,70,40,50,25,55,50 365 | 364,sealeo,3,1.1,87.6,144,ice,water,90,60,70,45,75,70 366 | 365,walrein,3,1.4,150.6,239,ice,water,110,80,90,65,95,90 367 | 366,clamperl,3,0.4,52.5,69,water,,35,64,85,32,74,55 368 | 367,huntail,3,1.7,27.0,170,water,,55,104,105,52,94,75 369 | 368,gorebyss,3,1.8,22.6,170,water,,55,84,105,52,114,75 370 | 369,relicanth,3,1.0,23.4,170,water,rock,100,90,130,55,45,65 371 | 370,luvdisc,3,0.6,8.7,116,water,,43,30,55,97,40,65 372 | 371,bagon,3,0.6,42.1,60,dragon,,45,75,60,50,40,30 373 | 372,shelgon,3,1.1,110.5,147,dragon,,65,95,100,50,60,50 374 | 373,salamence,3,1.5,102.6,270,dragon,flying,95,135,80,100,110,80 375 | 374,beldum,3,0.6,95.2,60,steel,psychic,40,55,80,30,35,60 376 | 375,metang,3,1.2,202.5,147,steel,psychic,60,75,100,50,55,80 377 | 376,metagross,3,1.6,550.0,270,steel,psychic,80,135,130,70,95,90 378 | 377,regirock,3,1.7,230.0,261,rock,,80,100,200,50,50,100 379 | 378,regice,3,1.8,175.0,261,ice,,80,50,100,50,100,200 380 | 379,registeel,3,1.9,205.0,261,steel,,80,75,150,50,75,150 381 | 380,latias,3,1.4,40.0,270,dragon,psychic,80,80,90,110,110,130 382 | 381,latios,3,2.0,60.0,270,dragon,psychic,80,90,80,110,130,110 383 | 382,kyogre,3,4.5,352.0,302,water,,100,100,90,90,150,140 384 | 383,groudon,3,3.5,950.0,302,ground,,100,150,140,90,100,90 385 | 384,rayquaza,3,7.0,206.5,306,dragon,flying,105,150,90,95,150,90 386 | 385,jirachi,3,0.3,1.1,270,steel,psychic,100,100,100,100,100,100 387 | 386,deoxys,3,1.7,60.8,270,psychic,,50,150,50,150,150,50 388 | 387,turtwig,4,0.4,10.2,64,grass,,55,68,64,31,45,55 389 | 388,grotle,4,1.1,97.0,142,grass,,75,89,85,36,55,65 390 | 389,torterra,4,2.2,310.0,236,grass,ground,95,109,105,56,75,85 391 | 390,chimchar,4,0.5,6.2,62,fire,,44,58,44,61,58,44 392 | 391,monferno,4,0.9,22.0,142,fire,fighting,64,78,52,81,78,52 393 | 392,infernape,4,1.2,55.0,240,fire,fighting,76,104,71,108,104,71 394 | 393,piplup,4,0.4,5.2,63,water,,53,51,53,40,61,56 395 | 394,prinplup,4,0.8,23.0,142,water,,64,66,68,50,81,76 396 | 395,empoleon,4,1.7,84.5,239,water,steel,84,86,88,60,111,101 397 | 396,starly,4,0.3,2.0,49,normal,flying,40,55,30,60,30,30 398 | 397,staravia,4,0.6,15.5,119,normal,flying,55,75,50,80,40,40 399 | 398,staraptor,4,1.2,24.9,218,normal,flying,85,120,70,100,50,60 400 | 399,bidoof,4,0.5,20.0,50,normal,,59,45,40,31,35,40 401 | 400,bibarel,4,1.0,31.5,144,normal,water,79,85,60,71,55,60 402 | 401,kricketot,4,0.3,2.2,39,bug,,37,25,41,25,25,41 403 | 402,kricketune,4,1.0,25.5,134,bug,,77,85,51,65,55,51 404 | 403,shinx,4,0.5,9.5,53,electric,,45,65,34,45,40,34 405 | 404,luxio,4,0.9,30.5,127,electric,,60,85,49,60,60,49 406 | 405,luxray,4,1.4,42.0,235,electric,,80,120,79,70,95,79 407 | 406,budew,4,0.2,1.2,56,grass,poison,40,30,35,55,50,70 408 | 407,roserade,4,0.9,14.5,232,grass,poison,60,70,65,90,125,105 409 | 408,cranidos,4,0.9,31.5,70,rock,,67,125,40,58,30,30 410 | 409,rampardos,4,1.6,102.5,173,rock,,97,165,60,58,65,50 411 | 410,shieldon,4,0.5,57.0,70,rock,steel,30,42,118,30,42,88 412 | 411,bastiodon,4,1.3,149.5,173,rock,steel,60,52,168,30,47,138 413 | 412,burmy,4,0.2,3.4,45,bug,,40,29,45,36,29,45 414 | 413,wormadam,4,0.5,6.5,148,bug,grass,60,59,85,36,79,105 415 | 414,mothim,4,0.9,23.3,148,bug,flying,70,94,50,66,94,50 416 | 415,combee,4,0.3,5.5,49,bug,flying,30,30,42,70,30,42 417 | 416,vespiquen,4,1.2,38.5,166,bug,flying,70,80,102,40,80,102 418 | 417,pachirisu,4,0.4,3.9,142,electric,,60,45,70,95,45,90 419 | 418,buizel,4,0.7,29.5,66,water,,55,65,35,85,60,30 420 | 419,floatzel,4,1.1,33.5,173,water,,85,105,55,115,85,50 421 | 420,cherubi,4,0.4,3.3,55,grass,,45,35,45,35,62,53 422 | 421,cherrim,4,0.5,9.3,158,grass,,70,60,70,85,87,78 423 | 422,shellos,4,0.3,6.3,65,water,,76,48,48,34,57,62 424 | 423,gastrodon,4,0.9,29.9,166,water,ground,111,83,68,39,92,82 425 | 424,ambipom,4,1.2,20.3,169,normal,,75,100,66,115,60,66 426 | 425,drifloon,4,0.4,1.2,70,ghost,flying,90,50,34,70,60,44 427 | 426,drifblim,4,1.2,15.0,174,ghost,flying,150,80,44,80,90,54 428 | 427,buneary,4,0.4,5.5,70,normal,,55,66,44,85,44,56 429 | 428,lopunny,4,1.2,33.3,168,normal,,65,76,84,105,54,96 430 | 429,mismagius,4,0.9,4.4,173,ghost,,60,60,60,105,105,105 431 | 430,honchkrow,4,0.9,27.3,177,dark,flying,100,125,52,71,105,52 432 | 431,glameow,4,0.5,3.9,62,normal,,49,55,42,85,42,37 433 | 432,purugly,4,1.0,43.8,158,normal,,71,82,64,112,64,59 434 | 433,chingling,4,0.2,0.6,57,psychic,,45,30,50,45,65,50 435 | 434,stunky,4,0.4,19.2,66,poison,dark,63,63,47,74,41,41 436 | 435,skuntank,4,1.0,38.0,168,poison,dark,103,93,67,84,71,61 437 | 436,bronzor,4,0.5,60.5,60,steel,psychic,57,24,86,23,24,86 438 | 437,bronzong,4,1.3,187.0,175,steel,psychic,67,89,116,33,79,116 439 | 438,bonsly,4,0.5,15.0,58,rock,,50,80,95,10,10,45 440 | 439,mime-jr,4,0.6,13.0,62,psychic,fairy,20,25,45,60,70,90 441 | 440,happiny,4,0.6,24.4,110,normal,,100,5,5,30,15,65 442 | 441,chatot,4,0.5,1.9,144,normal,flying,76,65,45,91,92,42 443 | 442,spiritomb,4,1.0,108.0,170,ghost,dark,50,92,108,35,92,108 444 | 443,gible,4,0.7,20.5,60,dragon,ground,58,70,45,42,40,45 445 | 444,gabite,4,1.4,56.0,144,dragon,ground,68,90,65,82,50,55 446 | 445,garchomp,4,1.9,95.0,270,dragon,ground,108,130,95,102,80,85 447 | 446,munchlax,4,0.6,105.0,78,normal,,135,85,40,5,40,85 448 | 447,riolu,4,0.7,20.2,57,fighting,,40,70,40,60,35,40 449 | 448,lucario,4,1.2,54.0,184,fighting,steel,70,110,70,90,115,70 450 | 449,hippopotas,4,0.8,49.5,66,ground,,68,72,78,32,38,42 451 | 450,hippowdon,4,2.0,300.0,184,ground,,108,112,118,47,68,72 452 | 451,skorupi,4,0.8,12.0,66,poison,bug,40,50,90,65,30,55 453 | 452,drapion,4,1.3,61.5,175,poison,dark,70,90,110,95,60,75 454 | 453,croagunk,4,0.7,23.0,60,poison,fighting,48,61,40,50,61,40 455 | 454,toxicroak,4,1.3,44.4,172,poison,fighting,83,106,65,85,86,65 456 | 455,carnivine,4,1.4,27.0,159,grass,,74,100,72,46,90,72 457 | 456,finneon,4,0.4,7.0,66,water,,49,49,56,66,49,61 458 | 457,lumineon,4,1.2,24.0,161,water,,69,69,76,91,69,86 459 | 458,mantyke,4,1.0,65.0,69,water,flying,45,20,50,50,60,120 460 | 459,snover,4,1.0,50.5,67,grass,ice,60,62,50,40,62,60 461 | 460,abomasnow,4,2.2,135.5,173,grass,ice,90,92,75,60,92,85 462 | 461,weavile,4,1.1,34.0,179,dark,ice,70,120,65,125,45,85 463 | 462,magnezone,4,1.2,180.0,241,electric,steel,70,70,115,60,130,90 464 | 463,lickilicky,4,1.7,140.0,180,normal,,110,85,95,50,80,95 465 | 464,rhyperior,4,2.4,282.8,241,ground,rock,115,140,130,40,55,55 466 | 465,tangrowth,4,2.0,128.6,187,grass,,100,100,125,50,110,50 467 | 466,electivire,4,1.8,138.6,243,electric,,75,123,67,95,95,85 468 | 467,magmortar,4,1.6,68.0,243,fire,,75,95,67,83,125,95 469 | 468,togekiss,4,1.5,38.0,245,fairy,flying,85,50,95,80,120,115 470 | 469,yanmega,4,1.9,51.5,180,bug,flying,86,76,86,95,116,56 471 | 470,leafeon,4,1.0,25.5,184,grass,,65,110,130,95,60,65 472 | 471,glaceon,4,0.8,25.9,184,ice,,65,60,110,65,130,95 473 | 472,gliscor,4,2.0,42.5,179,ground,flying,75,95,125,95,45,75 474 | 473,mamoswine,4,2.5,291.0,239,ice,ground,110,130,80,80,70,60 475 | 474,porygon-z,4,0.9,34.0,241,normal,,85,80,70,90,135,75 476 | 475,gallade,4,1.6,52.0,233,psychic,fighting,68,125,65,80,65,115 477 | 476,probopass,4,1.4,340.0,184,rock,steel,60,55,145,40,75,150 478 | 477,dusknoir,4,2.2,106.6,236,ghost,,45,100,135,45,65,135 479 | 478,froslass,4,1.3,26.6,168,ice,ghost,70,80,70,110,80,70 480 | 479,rotom,4,0.3,0.3,154,electric,ghost,50,50,77,91,95,77 481 | 480,uxie,4,0.3,0.3,261,psychic,,75,75,130,95,75,130 482 | 481,mesprit,4,0.3,0.3,261,psychic,,80,105,105,80,105,105 483 | 482,azelf,4,0.3,0.3,261,psychic,,75,125,70,115,125,70 484 | 483,dialga,4,5.4,683.0,306,steel,dragon,100,120,120,90,150,100 485 | 484,palkia,4,4.2,336.0,306,water,dragon,90,120,100,100,150,120 486 | 485,heatran,4,1.7,430.0,270,fire,steel,91,90,106,77,130,106 487 | 486,regigigas,4,3.7,420.0,302,normal,,110,160,110,100,80,110 488 | 487,giratina,4,4.5,750.0,306,ghost,dragon,150,100,120,90,100,120 489 | 488,cresselia,4,1.5,85.6,270,psychic,,120,70,120,85,75,130 490 | 489,phione,4,0.4,3.1,216,water,,80,80,80,80,80,80 491 | 490,manaphy,4,0.3,1.4,270,water,,100,100,100,100,100,100 492 | 491,darkrai,4,1.5,50.5,270,dark,,70,90,90,125,135,90 493 | 492,shaymin,4,0.2,2.1,270,grass,,100,100,100,100,100,100 494 | 493,arceus,4,3.2,320.0,324,normal,,120,120,120,120,120,120 495 | 494,victini,5,0.4,4.0,270,psychic,fire,100,100,100,100,100,100 496 | 495,snivy,5,0.6,8.1,62,grass,,45,45,55,63,45,55 497 | 496,servine,5,0.8,16.0,145,grass,,60,60,75,83,60,75 498 | 497,serperior,5,3.3,63.0,238,grass,,75,75,95,113,75,95 499 | 498,tepig,5,0.5,9.9,62,fire,,65,63,45,45,45,45 500 | 499,pignite,5,1.0,55.5,146,fire,fighting,90,93,55,55,70,55 501 | 500,emboar,5,1.6,150.0,238,fire,fighting,110,123,65,65,100,65 502 | 501,oshawott,5,0.5,5.9,62,water,,55,55,45,45,63,45 503 | 502,dewott,5,0.8,24.5,145,water,,75,75,60,60,83,60 504 | 503,samurott,5,1.5,94.6,238,water,,95,100,85,70,108,70 505 | 504,patrat,5,0.5,11.6,51,normal,,45,55,39,42,35,39 506 | 505,watchog,5,1.1,27.0,147,normal,,60,85,69,77,60,69 507 | 506,lillipup,5,0.4,4.1,55,normal,,45,60,45,55,25,45 508 | 507,herdier,5,0.9,14.7,130,normal,,65,80,65,60,35,65 509 | 508,stoutland,5,1.2,61.0,225,normal,,85,110,90,80,45,90 510 | 509,purrloin,5,0.4,10.1,56,dark,,41,50,37,66,50,37 511 | 510,liepard,5,1.1,37.5,156,dark,,64,88,50,106,88,50 512 | 511,pansage,5,0.6,10.5,63,grass,,50,53,48,64,53,48 513 | 512,simisage,5,1.1,30.5,174,grass,,75,98,63,101,98,63 514 | 513,pansear,5,0.6,11.0,63,fire,,50,53,48,64,53,48 515 | 514,simisear,5,1.0,28.0,174,fire,,75,98,63,101,98,63 516 | 515,panpour,5,0.6,13.5,63,water,,50,53,48,64,53,48 517 | 516,simipour,5,1.0,29.0,174,water,,75,98,63,101,98,63 518 | 517,munna,5,0.6,23.3,58,psychic,,76,25,45,24,67,55 519 | 518,musharna,5,1.1,60.5,170,psychic,,116,55,85,29,107,95 520 | 519,pidove,5,0.3,2.1,53,normal,flying,50,55,50,43,36,30 521 | 520,tranquill,5,0.6,15.0,125,normal,flying,62,77,62,65,50,42 522 | 521,unfezant,5,1.2,29.0,220,normal,flying,80,115,80,93,65,55 523 | 522,blitzle,5,0.8,29.8,59,electric,,45,60,32,76,50,32 524 | 523,zebstrika,5,1.6,79.5,174,electric,,75,100,63,116,80,63 525 | 524,roggenrola,5,0.4,18.0,56,rock,,55,75,85,15,25,25 526 | 525,boldore,5,0.9,102.0,137,rock,,70,105,105,20,50,40 527 | 526,gigalith,5,1.7,260.0,232,rock,,85,135,130,25,60,80 528 | 527,woobat,5,0.4,2.1,65,psychic,flying,65,45,43,72,55,43 529 | 528,swoobat,5,0.9,10.5,149,psychic,flying,67,57,55,114,77,55 530 | 529,drilbur,5,0.3,8.5,66,ground,,60,85,40,68,30,45 531 | 530,excadrill,5,0.7,40.4,178,ground,steel,110,135,60,88,50,65 532 | 531,audino,5,1.1,31.0,390,normal,,103,60,86,50,60,86 533 | 532,timburr,5,0.6,12.5,61,fighting,,75,80,55,35,25,35 534 | 533,gurdurr,5,1.2,40.0,142,fighting,,85,105,85,40,40,50 535 | 534,conkeldurr,5,1.4,87.0,227,fighting,,105,140,95,45,55,65 536 | 535,tympole,5,0.5,4.5,59,water,,50,50,40,64,50,40 537 | 536,palpitoad,5,0.8,17.0,134,water,ground,75,65,55,69,65,55 538 | 537,seismitoad,5,1.5,62.0,229,water,ground,105,95,75,74,85,75 539 | 538,throh,5,1.3,55.5,163,fighting,,120,100,85,45,30,85 540 | 539,sawk,5,1.4,51.0,163,fighting,,75,125,75,85,30,75 541 | 540,sewaddle,5,0.3,2.5,62,bug,grass,45,53,70,42,40,60 542 | 541,swadloon,5,0.5,7.3,133,bug,grass,55,63,90,42,50,80 543 | 542,leavanny,5,1.2,20.5,225,bug,grass,75,103,80,92,70,80 544 | 543,venipede,5,0.4,5.3,52,bug,poison,30,45,59,57,30,39 545 | 544,whirlipede,5,1.2,58.5,126,bug,poison,40,55,99,47,40,79 546 | 545,scolipede,5,2.5,200.5,218,bug,poison,60,100,89,112,55,69 547 | 546,cottonee,5,0.3,0.6,56,grass,fairy,40,27,60,66,37,50 548 | 547,whimsicott,5,0.7,6.6,168,grass,fairy,60,67,85,116,77,75 549 | 548,petilil,5,0.5,6.6,56,grass,,45,35,50,30,70,50 550 | 549,lilligant,5,1.1,16.3,168,grass,,70,60,75,90,110,75 551 | 550,basculin,5,1.0,18.0,161,water,,70,92,65,98,80,55 552 | 551,sandile,5,0.7,15.2,58,ground,dark,50,72,35,65,35,35 553 | 552,krokorok,5,1.0,33.4,123,ground,dark,60,82,45,74,45,45 554 | 553,krookodile,5,1.5,96.3,234,ground,dark,95,117,80,92,65,70 555 | 554,darumaka,5,0.6,37.5,63,fire,,70,90,45,50,15,45 556 | 555,darmanitan,5,1.3,92.9,168,fire,,105,140,55,95,30,55 557 | 556,maractus,5,1.0,28.0,161,grass,,75,86,67,60,106,67 558 | 557,dwebble,5,0.3,14.5,65,bug,rock,50,65,85,55,35,35 559 | 558,crustle,5,1.4,200.0,170,bug,rock,70,105,125,45,65,75 560 | 559,scraggy,5,0.6,11.8,70,dark,fighting,50,75,70,48,35,70 561 | 560,scrafty,5,1.1,30.0,171,dark,fighting,65,90,115,58,45,115 562 | 561,sigilyph,5,1.4,14.0,172,psychic,flying,72,58,80,97,103,80 563 | 562,yamask,5,0.5,1.5,61,ghost,,38,30,85,30,55,65 564 | 563,cofagrigus,5,1.7,76.5,169,ghost,,58,50,145,30,95,105 565 | 564,tirtouga,5,0.7,16.5,71,water,rock,54,78,103,22,53,45 566 | 565,carracosta,5,1.2,81.0,173,water,rock,74,108,133,32,83,65 567 | 566,archen,5,0.5,9.5,71,rock,flying,55,112,45,70,74,45 568 | 567,archeops,5,1.4,32.0,177,rock,flying,75,140,65,110,112,65 569 | 568,trubbish,5,0.6,31.0,66,poison,,50,50,62,65,40,62 570 | 569,garbodor,5,1.9,107.3,166,poison,,80,95,82,75,60,82 571 | 570,zorua,5,0.7,12.5,66,dark,,40,65,40,65,80,40 572 | 571,zoroark,5,1.6,81.1,179,dark,,60,105,60,105,120,60 573 | 572,minccino,5,0.4,5.8,60,normal,,55,50,40,75,40,40 574 | 573,cinccino,5,0.5,7.5,165,normal,,75,95,60,115,65,60 575 | 574,gothita,5,0.4,5.8,58,psychic,,45,30,50,45,55,65 576 | 575,gothorita,5,0.7,18.0,137,psychic,,60,45,70,55,75,85 577 | 576,gothitelle,5,1.5,44.0,221,psychic,,70,55,95,65,95,110 578 | 577,solosis,5,0.3,1.0,58,psychic,,45,30,40,20,105,50 579 | 578,duosion,5,0.6,8.0,130,psychic,,65,40,50,30,125,60 580 | 579,reuniclus,5,1.0,20.1,221,psychic,,110,65,75,30,125,85 581 | 580,ducklett,5,0.5,5.5,61,water,flying,62,44,50,55,44,50 582 | 581,swanna,5,1.3,24.2,166,water,flying,75,87,63,98,87,63 583 | 582,vanillite,5,0.4,5.7,61,ice,,36,50,50,44,65,60 584 | 583,vanillish,5,1.1,41.0,138,ice,,51,65,65,59,80,75 585 | 584,vanilluxe,5,1.3,57.5,241,ice,,71,95,85,79,110,95 586 | 585,deerling,5,0.6,19.5,67,normal,grass,60,60,50,75,40,50 587 | 586,sawsbuck,5,1.9,92.5,166,normal,grass,80,100,70,95,60,70 588 | 587,emolga,5,0.4,5.0,150,electric,flying,55,75,60,103,75,60 589 | 588,karrablast,5,0.5,5.9,63,bug,,50,75,45,60,40,45 590 | 589,escavalier,5,1.0,33.0,173,bug,steel,70,135,105,20,60,105 591 | 590,foongus,5,0.2,1.0,59,grass,poison,69,55,45,15,55,55 592 | 591,amoonguss,5,0.6,10.5,162,grass,poison,114,85,70,30,85,80 593 | 592,frillish,5,1.2,33.0,67,water,ghost,55,40,50,40,65,85 594 | 593,jellicent,5,2.2,135.0,168,water,ghost,100,60,70,60,85,105 595 | 594,alomomola,5,1.2,31.6,165,water,,165,75,80,65,40,45 596 | 595,joltik,5,0.1,0.6,64,bug,electric,50,47,50,65,57,50 597 | 596,galvantula,5,0.8,14.3,165,bug,electric,70,77,60,108,97,60 598 | 597,ferroseed,5,0.6,18.8,61,grass,steel,44,50,91,10,24,86 599 | 598,ferrothorn,5,1.0,110.0,171,grass,steel,74,94,131,20,54,116 600 | 599,klink,5,0.3,21.0,60,steel,,40,55,70,30,45,60 601 | 600,klang,5,0.6,51.0,154,steel,,60,80,95,50,70,85 602 | 601,klinklang,5,0.6,81.0,234,steel,,60,100,115,90,70,85 603 | 602,tynamo,5,0.2,0.3,55,electric,,35,55,40,60,45,40 604 | 603,eelektrik,5,1.2,22.0,142,electric,,65,85,70,40,75,70 605 | 604,eelektross,5,2.1,80.5,232,electric,,85,115,80,50,105,80 606 | 605,elgyem,5,0.5,9.0,67,psychic,,55,55,55,30,85,55 607 | 606,beheeyem,5,1.0,34.5,170,psychic,,75,75,75,40,125,95 608 | 607,litwick,5,0.3,3.1,55,ghost,fire,50,30,55,20,65,55 609 | 608,lampent,5,0.6,13.0,130,ghost,fire,60,40,60,55,95,60 610 | 609,chandelure,5,1.0,34.3,234,ghost,fire,60,55,90,80,145,90 611 | 610,axew,5,0.6,18.0,64,dragon,,46,87,60,57,30,40 612 | 611,fraxure,5,1.0,36.0,144,dragon,,66,117,70,67,40,50 613 | 612,haxorus,5,1.8,105.5,243,dragon,,76,147,90,97,60,70 614 | 613,cubchoo,5,0.5,8.5,61,ice,,55,70,40,40,60,40 615 | 614,beartic,5,2.6,260.0,177,ice,,95,130,80,50,70,80 616 | 615,cryogonal,5,1.1,148.0,180,ice,,80,50,50,105,95,135 617 | 616,shelmet,5,0.4,7.7,61,bug,,50,40,85,25,40,65 618 | 617,accelgor,5,0.8,25.3,173,bug,,80,70,40,145,100,60 619 | 618,stunfisk,5,0.7,11.0,165,ground,electric,109,66,84,32,81,99 620 | 619,mienfoo,5,0.9,20.0,70,fighting,,45,85,50,65,55,50 621 | 620,mienshao,5,1.4,35.5,179,fighting,,65,125,60,105,95,60 622 | 621,druddigon,5,1.6,139.0,170,dragon,,77,120,90,48,60,90 623 | 622,golett,5,1.0,92.0,61,ground,ghost,59,74,50,35,35,50 624 | 623,golurk,5,2.8,330.0,169,ground,ghost,89,124,80,55,55,80 625 | 624,pawniard,5,0.5,10.2,68,dark,steel,45,85,70,60,40,40 626 | 625,bisharp,5,1.6,70.0,172,dark,steel,65,125,100,70,60,70 627 | 626,bouffalant,5,1.6,94.6,172,normal,,95,110,95,55,40,95 628 | 627,rufflet,5,0.5,10.5,70,normal,flying,70,83,50,60,37,50 629 | 628,braviary,5,1.5,41.0,179,normal,flying,100,123,75,80,57,75 630 | 629,vullaby,5,0.5,9.0,74,dark,flying,70,55,75,60,45,65 631 | 630,mandibuzz,5,1.2,39.5,179,dark,flying,110,65,105,80,55,95 632 | 631,heatmor,5,1.4,58.0,169,fire,,85,97,66,65,105,66 633 | 632,durant,5,0.3,33.0,169,bug,steel,58,109,112,109,48,48 634 | 633,deino,5,0.8,17.3,60,dark,dragon,52,65,50,38,45,50 635 | 634,zweilous,5,1.4,50.0,147,dark,dragon,72,85,70,58,65,70 636 | 635,hydreigon,5,1.8,160.0,270,dark,dragon,92,105,90,98,125,90 637 | 636,larvesta,5,1.1,28.8,72,bug,fire,55,85,55,60,50,55 638 | 637,volcarona,5,1.6,46.0,248,bug,fire,85,60,65,100,135,105 639 | 638,cobalion,5,2.1,250.0,261,steel,fighting,91,90,129,108,90,72 640 | 639,terrakion,5,1.9,260.0,261,rock,fighting,91,129,90,108,72,90 641 | 640,virizion,5,2.0,200.0,261,grass,fighting,91,90,72,108,90,129 642 | 641,tornadus,5,1.5,63.0,261,flying,,79,115,70,111,125,80 643 | 642,thundurus,5,1.5,61.0,261,electric,flying,79,115,70,111,125,80 644 | 643,reshiram,5,3.2,330.0,306,dragon,fire,100,120,100,90,150,120 645 | 644,zekrom,5,2.9,345.0,306,dragon,electric,100,150,120,90,120,100 646 | 645,landorus,5,1.5,68.0,270,ground,flying,89,125,90,101,115,80 647 | 646,kyurem,5,3.0,325.0,297,dragon,ice,125,130,90,95,130,90 648 | 647,keldeo,5,1.4,48.5,261,water,fighting,91,72,90,108,129,90 649 | 648,meloetta,5,0.6,6.5,270,normal,psychic,100,77,77,90,128,128 650 | 649,genesect,5,1.5,82.5,270,bug,steel,71,120,95,99,120,95 651 | 650,chespin,6,0.4,9.0,63,grass,,56,61,65,38,48,45 652 | 651,quilladin,6,0.7,29.0,142,grass,,61,78,95,57,56,58 653 | 652,chesnaught,6,1.6,90.0,239,grass,fighting,88,107,122,64,74,75 654 | 653,fennekin,6,0.4,9.4,61,fire,,40,45,40,60,62,60 655 | 654,braixen,6,1.0,14.5,143,fire,,59,59,58,73,90,70 656 | 655,delphox,6,1.5,39.0,240,fire,psychic,75,69,72,104,114,100 657 | 656,froakie,6,0.3,7.0,63,water,,41,56,40,71,62,44 658 | 657,frogadier,6,0.6,10.9,142,water,,54,63,52,97,83,56 659 | 658,greninja,6,1.5,40.0,239,water,dark,72,95,67,122,103,71 660 | 659,bunnelby,6,0.4,5.0,47,normal,,38,36,38,57,32,36 661 | 660,diggersby,6,1.0,42.4,148,normal,ground,85,56,77,78,50,77 662 | 661,fletchling,6,0.3,1.7,56,normal,flying,45,50,43,62,40,38 663 | 662,fletchinder,6,0.7,16.0,134,fire,flying,62,73,55,84,56,52 664 | 663,talonflame,6,1.2,24.5,175,fire,flying,78,81,71,126,74,69 665 | 664,scatterbug,6,0.3,2.5,40,bug,,38,35,40,35,27,25 666 | 665,spewpa,6,0.3,8.4,75,bug,,45,22,60,29,27,30 667 | 666,vivillon,6,1.2,17.0,185,bug,flying,80,52,50,89,90,50 668 | 667,litleo,6,0.6,13.5,74,fire,normal,62,50,58,72,73,54 669 | 668,pyroar,6,1.5,81.5,177,fire,normal,86,68,72,106,109,66 670 | 669,flabebe,6,0.1,0.1,61,fairy,,44,38,39,42,61,79 671 | 670,floette,6,0.2,0.9,130,fairy,,54,45,47,52,75,98 672 | 671,florges,6,1.1,10.0,248,fairy,,78,65,68,75,112,154 673 | 672,skiddo,6,0.9,31.0,70,grass,,66,65,48,52,62,57 674 | 673,gogoat,6,1.7,91.0,186,grass,,123,100,62,68,97,81 675 | 674,pancham,6,0.6,8.0,70,fighting,,67,82,62,43,46,48 676 | 675,pangoro,6,2.1,136.0,173,fighting,dark,95,124,78,58,69,71 677 | 676,furfrou,6,1.2,28.0,165,normal,,75,80,60,102,65,90 678 | 677,espurr,6,0.3,3.5,71,psychic,,62,48,54,68,63,60 679 | 678,meowstic,6,0.6,8.5,163,psychic,,74,48,76,104,83,81 680 | 679,honedge,6,0.8,2.0,65,steel,ghost,45,80,100,28,35,37 681 | 680,doublade,6,0.8,4.5,157,steel,ghost,59,110,150,35,45,49 682 | 681,aegislash,6,1.7,53.0,234,steel,ghost,60,50,150,60,50,150 683 | 682,spritzee,6,0.2,0.5,68,fairy,,78,52,60,23,63,65 684 | 683,aromatisse,6,0.8,15.5,162,fairy,,101,72,72,29,99,89 685 | 684,swirlix,6,0.4,3.5,68,fairy,,62,48,66,49,59,57 686 | 685,slurpuff,6,0.8,5.0,168,fairy,,82,80,86,72,85,75 687 | 686,inkay,6,0.4,3.5,58,dark,psychic,53,54,53,45,37,46 688 | 687,malamar,6,1.5,47.0,169,dark,psychic,86,92,88,73,68,75 689 | 688,binacle,6,0.5,31.0,61,rock,water,42,52,67,50,39,56 690 | 689,barbaracle,6,1.3,96.0,175,rock,water,72,105,115,68,54,86 691 | 690,skrelp,6,0.5,7.3,64,poison,water,50,60,60,30,60,60 692 | 691,dragalge,6,1.8,81.5,173,poison,dragon,65,75,90,44,97,123 693 | 692,clauncher,6,0.5,8.3,66,water,,50,53,62,44,58,63 694 | 693,clawitzer,6,1.3,35.3,100,water,,71,73,88,59,120,89 695 | 694,helioptile,6,0.5,6.0,58,electric,normal,44,38,33,70,61,43 696 | 695,heliolisk,6,1.0,21.0,168,electric,normal,62,55,52,109,109,94 697 | 696,tyrunt,6,0.8,26.0,72,rock,dragon,58,89,77,48,45,45 698 | 697,tyrantrum,6,2.5,270.0,182,rock,dragon,82,121,119,71,69,59 699 | 698,amaura,6,1.3,25.2,72,rock,ice,77,59,50,46,67,63 700 | 699,aurorus,6,2.7,225.0,104,rock,ice,123,77,72,58,99,92 701 | 700,sylveon,6,1.0,23.5,184,fairy,,95,65,65,60,110,130 702 | 701,hawlucha,6,0.8,21.5,175,fighting,flying,78,92,75,118,74,63 703 | 702,dedenne,6,0.2,2.2,151,electric,fairy,67,58,57,101,81,67 704 | 703,carbink,6,0.3,5.7,100,rock,fairy,50,50,150,50,50,150 705 | 704,goomy,6,0.3,2.8,60,dragon,,45,50,35,40,55,75 706 | 705,sliggoo,6,0.8,17.5,158,dragon,,68,75,53,60,83,113 707 | 706,goodra,6,2.0,150.5,270,dragon,,90,100,70,80,110,150 708 | 707,klefki,6,0.2,3.0,165,steel,fairy,57,80,91,75,80,87 709 | 708,phantump,6,0.4,7.0,62,ghost,grass,43,70,48,38,50,60 710 | 709,trevenant,6,1.5,71.0,166,ghost,grass,85,110,76,56,65,82 711 | 710,pumpkaboo,6,0.4,5.0,67,ghost,grass,49,66,70,51,44,55 712 | 711,gourgeist,6,0.9,12.5,173,ghost,grass,65,90,122,84,58,75 713 | 712,bergmite,6,1.0,99.5,61,ice,,55,69,85,28,32,35 714 | 713,avalugg,6,2.0,505.0,180,ice,,95,117,184,28,44,46 715 | 714,noibat,6,0.5,8.0,49,flying,dragon,40,30,35,55,45,40 716 | 715,noivern,6,1.5,85.0,187,flying,dragon,85,70,80,123,97,80 717 | 716,xerneas,6,3.0,215.0,306,fairy,,126,131,95,99,131,98 718 | 717,yveltal,6,5.8,203.0,306,dark,flying,126,131,95,99,131,98 719 | 718,zygarde,6,5.0,305.0,270,dragon,ground,108,100,121,95,81,95 720 | 719,diancie,6,0.7,8.8,270,rock,fairy,50,100,150,50,100,150 721 | 720,hoopa,6,0.5,9.0,270,psychic,ghost,80,110,60,70,150,130 722 | 721,volcanion,6,1.7,195.0,270,fire,water,80,110,120,70,130,90 723 | 722,rowlet,7,0.3,1.5,64,grass,flying,68,55,55,42,50,50 724 | 723,dartrix,7,0.7,16.0,147,grass,flying,78,75,75,52,70,70 725 | 724,decidueye,7,1.6,36.6,239,grass,ghost,78,107,75,70,100,100 726 | 725,litten,7,0.4,4.3,64,fire,,45,65,40,70,60,40 727 | 726,torracat,7,0.7,25.0,147,fire,,65,85,50,90,80,50 728 | 727,incineroar,7,1.8,83.0,239,fire,dark,95,115,90,60,80,90 729 | 728,popplio,7,0.4,7.5,64,water,,50,54,54,40,66,56 730 | 729,brionne,7,0.6,17.5,147,water,,60,69,69,50,91,81 731 | 730,primarina,7,1.8,44.0,239,water,fairy,80,74,74,60,126,116 732 | 731,pikipek,7,0.3,1.2,53,normal,flying,35,75,30,65,30,30 733 | 732,trumbeak,7,0.6,14.8,124,normal,flying,55,85,50,75,40,50 734 | 733,toucannon,7,1.1,26.0,218,normal,flying,80,120,75,60,75,75 735 | 734,yungoos,7,0.4,6.0,51,normal,,48,70,30,45,30,30 736 | 735,gumshoos,7,0.7,14.2,146,normal,,88,110,60,45,55,60 737 | 736,grubbin,7,0.4,4.4,60,bug,,47,62,45,46,55,45 738 | 737,charjabug,7,0.5,10.5,140,bug,electric,57,82,95,36,55,75 739 | 738,vikavolt,7,1.5,45.0,225,bug,electric,77,70,90,43,145,75 740 | 739,crabrawler,7,0.6,7.0,68,fighting,,47,82,57,63,42,47 741 | 740,crabominable,7,1.7,180.0,167,fighting,ice,97,132,77,43,62,67 742 | 741,oricorio,7,0.6,3.4,167,fire,flying,75,70,70,93,98,70 743 | 742,cutiefly,7,0.1,0.2,61,bug,fairy,40,45,40,84,55,40 744 | 743,ribombee,7,0.2,0.5,162,bug,fairy,60,55,60,124,95,70 745 | 744,rockruff,7,0.5,9.2,56,rock,,45,65,40,60,30,40 746 | 745,lycanroc,7,0.8,25.0,170,rock,,75,115,65,112,55,65 747 | 746,wishiwashi,7,0.2,0.3,61,water,,45,20,20,40,25,25 748 | 747,mareanie,7,0.4,8.0,61,poison,water,50,53,62,45,43,52 749 | 748,toxapex,7,0.7,14.5,173,poison,water,50,63,152,35,53,142 750 | 749,mudbray,7,1.0,110.0,77,ground,,70,100,70,45,45,55 751 | 750,mudsdale,7,2.5,920.0,175,ground,,100,125,100,35,55,85 752 | 751,dewpider,7,0.3,4.0,54,water,bug,38,40,52,27,40,72 753 | 752,araquanid,7,1.8,82.0,159,water,bug,68,70,92,42,50,132 754 | 753,fomantis,7,0.3,1.5,50,grass,,40,55,35,35,50,35 755 | 754,lurantis,7,0.9,18.5,168,grass,,70,105,90,45,80,90 756 | 755,morelull,7,0.2,1.5,57,grass,fairy,40,35,55,15,65,75 757 | 756,shiinotic,7,1.0,11.5,142,grass,fairy,60,45,80,30,90,100 758 | 757,salandit,7,0.6,4.8,64,poison,fire,48,44,40,77,71,40 759 | 758,salazzle,7,1.2,22.2,168,poison,fire,68,64,60,117,111,60 760 | 759,stufful,7,0.5,6.8,68,normal,fighting,70,75,50,50,45,50 761 | 760,bewear,7,2.1,135.0,175,normal,fighting,120,125,80,60,55,60 762 | 761,bounsweet,7,0.3,3.2,42,grass,,42,30,38,32,30,38 763 | 762,steenee,7,0.7,8.2,102,grass,,52,40,48,62,40,48 764 | 763,tsareena,7,1.2,21.4,230,grass,,72,120,98,72,50,98 765 | 764,comfey,7,0.1,0.3,170,fairy,,51,52,90,100,82,110 766 | 765,oranguru,7,1.5,76.0,172,normal,psychic,90,60,80,60,90,110 767 | 766,passimian,7,2.0,82.8,172,fighting,,100,120,90,80,40,60 768 | 767,wimpod,7,0.5,12.0,46,bug,water,25,35,40,80,20,30 769 | 768,golisopod,7,2.0,108.0,186,bug,water,75,125,140,40,60,90 770 | 769,sandygast,7,0.5,70.0,64,ghost,ground,55,55,80,15,70,45 771 | 770,palossand,7,1.3,250.0,168,ghost,ground,85,75,110,35,100,75 772 | 771,pyukumuku,7,0.3,1.2,144,water,,55,60,130,5,30,130 773 | 772,type-null,7,1.9,120.5,107,normal,,95,95,95,59,95,95 774 | 773,silvally,7,2.3,100.5,257,normal,,95,95,95,95,95,95 775 | 774,minior,7,0.3,40.0,154,rock,flying,60,60,100,60,60,100 776 | 775,komala,7,0.4,19.9,168,normal,,65,115,65,65,75,95 777 | 776,turtonator,7,2.0,212.0,170,fire,dragon,60,78,135,36,91,85 778 | 777,togedemaru,7,0.3,3.3,152,electric,steel,65,98,63,96,40,73 779 | 778,mimikyu,7,0.2,0.7,167,ghost,fairy,55,90,80,96,50,105 780 | 779,bruxish,7,0.9,19.0,166,water,psychic,68,105,70,92,70,70 781 | 780,drampa,7,3.0,185.0,170,normal,dragon,78,60,85,36,135,91 782 | 781,dhelmise,7,3.9,210.0,181,ghost,grass,70,131,100,40,86,90 783 | 782,jangmo-o,7,0.6,29.7,60,dragon,,45,55,65,45,45,45 784 | 783,hakamo-o,7,1.2,47.0,147,dragon,fighting,55,75,90,65,65,70 785 | 784,kommo-o,7,1.6,78.2,270,dragon,fighting,75,110,125,85,100,105 786 | 785,tapu-koko,7,1.8,20.5,257,electric,fairy,70,115,85,130,95,75 787 | 786,tapu-lele,7,1.2,18.6,257,psychic,fairy,70,85,75,95,130,115 788 | 787,tapu-bulu,7,1.9,45.5,257,grass,fairy,70,130,115,75,85,95 789 | 788,tapu-fini,7,1.3,21.2,257,water,fairy,70,75,115,85,95,130 790 | 789,cosmog,7,0.2,0.1,40,psychic,,43,29,31,37,29,31 791 | 790,cosmoem,7,0.1,999.9,140,psychic,,43,29,131,37,29,131 792 | 791,solgaleo,7,3.4,230.0,306,psychic,steel,137,137,107,97,113,89 793 | 792,lunala,7,4.0,120.0,306,psychic,ghost,137,113,89,97,137,107 794 | 793,nihilego,7,1.2,55.5,257,rock,poison,109,53,47,103,127,131 795 | 794,buzzwole,7,2.4,333.6,257,bug,fighting,107,139,139,79,53,53 796 | 795,pheromosa,7,1.8,25.0,257,bug,fighting,71,137,37,151,137,37 797 | 796,xurkitree,7,3.8,100.0,257,electric,,83,89,71,83,173,71 798 | 797,celesteela,7,9.2,999.9,257,steel,flying,97,101,103,61,107,101 799 | 798,kartana,7,0.3,0.1,257,grass,steel,59,181,131,109,59,31 800 | 799,guzzlord,7,5.5,888.0,257,dark,dragon,223,101,53,43,97,53 801 | 800,necrozma,7,2.4,230.0,270,psychic,,97,107,101,79,127,89 802 | 801,magearna,7,1.0,80.5,270,steel,fairy,80,95,115,65,130,115 803 | 802,marshadow,7,0.7,22.2,270,fighting,ghost,90,125,80,125,90,90 804 | 803,poipole,7,0.6,1.8,189,poison,,67,73,67,73,73,67 805 | 804,naganadel,7,3.6,150.0,243,poison,dragon,73,73,73,121,127,73 806 | 805,stakataka,7,5.5,820.0,257,rock,steel,61,131,211,13,53,101 807 | 806,blacephalon,7,1.8,13.0,257,fire,ghost,53,127,53,107,151,79 808 | 807,zeraora,7,1.5,44.5,270,electric,,88,112,75,143,102,80 809 | --------------------------------------------------------------------------------