{
"cells": [
{
"cell_type": "markdown",
"id": "b514a006",
"metadata": {},
"source": [
"# Loading Data into Pandas"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "be283e2e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" # Name Type 1 Type 2 HP Attack Defense Sp. Atk \\\n",
"0 1 Bulbasaur Grass Poison 45 49 49 65 \n",
"1 2 Ivysaur Grass Poison 60 62 63 80 \n",
"2 3 Venusaur Grass Poison 80 82 83 100 \n",
"3 3 VenusaurMega Venusaur Grass Poison 80 100 123 122 \n",
"4 4 Charmander Fire NaN 39 52 43 60 \n",
"\n",
" Sp. Def Speed Generation Legendary \n",
"0 65 45 1 False \n",
"1 80 60 1 False \n",
"2 100 80 1 False \n",
"3 120 80 1 False \n",
"4 50 65 1 False \n"
]
}
],
"source": [
"import pandas as pd\n",
"\n",
"#reading csv\n",
"df = pd.read_csv('pokemon_data.csv')\n",
"print(df.head())\n",
"\n",
"#reading excel\n",
"#df_xlsx = pd.read_excel('pokemon_data.xlsx')\n",
"#print(df_xlsx.head())\n",
"\n",
"#reading txt\n",
"#df_txt = pd.read_csv('pokemon_data.txt', delimiter = '\\t')\n",
"#print(df_txt.head())"
]
},
{
"cell_type": "markdown",
"id": "4c36a5d3",
"metadata": {},
"source": [
"# Reading Data in Pandas"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "3509c560",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['#', 'Name', 'Type 1', 'Type 2', 'HP', 'Attack', 'Defense', 'Sp. Atk',\n",
" 'Sp. Def', 'Speed', 'Generation', 'Legendary'],\n",
" dtype='object')"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Read Headers\n",
"#print(df.columns)\n",
"#or \n",
"df.columns"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "175e8639",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Name Type 1 HP\n",
"0 Bulbasaur Grass 45\n",
"1 Ivysaur Grass 60\n",
"2 Venusaur Grass 80\n",
"3 VenusaurMega Venusaur Grass 80\n",
"4 Charmander Fire 39\n",
"5 Charmeleon Fire 58\n",
"6 Charizard Fire 78\n",
"7 CharizardMega Charizard X Fire 78\n",
"8 CharizardMega Charizard Y Fire 78\n",
"9 Squirtle Water 44\n"
]
}
],
"source": [
"#Read each Column\n",
"print(df[['Name', 'Type 1', 'HP']][0:10])"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "91dc66e2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" # Name Type 1 Type 2 HP Attack Defense Sp. Atk \\\n",
"0 1 Bulbasaur Grass Poison 45 49 49 65 \n",
"1 2 Ivysaur Grass Poison 60 62 63 80 \n",
"2 3 Venusaur Grass Poison 80 82 83 100 \n",
"3 3 VenusaurMega Venusaur Grass Poison 80 100 123 122 \n",
"\n",
" Sp. Def Speed Generation Legendary \n",
"0 65 45 1 False \n",
"1 80 60 1 False \n",
"2 100 80 1 False \n",
"3 120 80 1 False \n"
]
}
],
"source": [
"#Read each Row\n",
"print(df.iloc[0:4])"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "9a2c1856",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 Bulbasaur\n",
"1 Ivysaur\n",
"2 Venusaur\n",
"3 VenusaurMega Venusaur\n",
"4 Charmander\n",
"5 Charmeleon\n",
"6 Charizard\n",
"7 CharizardMega Charizard X\n",
"8 CharizardMega Charizard Y\n",
"9 Squirtle\n",
"10 Wartortle\n",
"11 Blastoise\n",
"12 BlastoiseMega Blastoise\n",
"13 Caterpie\n",
"14 Metapod\n",
"15 Butterfree\n",
"16 Weedle\n",
"17 Kakuna\n",
"18 Beedrill\n",
"19 BeedrillMega Beedrill\n",
"20 Pidgey\n",
"21 Pidgeotto\n",
"22 Pidgeot\n",
"23 PidgeotMega Pidgeot\n",
"24 Rattata\n",
"25 Raticate\n",
"26 Spearow\n",
"27 Fearow\n",
"28 Ekans\n",
"29 Arbok\n",
"30 Pikachu\n",
"31 Raichu\n",
"32 Sandshrew\n",
"33 Sandslash\n",
"34 Nidoran (Female)\n",
"35 Nidorina\n",
"36 Nidoqueen\n",
"37 Nidoran (Male)\n",
"38 Nidorino\n",
"39 Nidoking\n",
"40 Clefairy\n",
"41 Clefable\n",
"42 Vulpix\n",
"43 Ninetales\n",
"44 Jigglypuff\n",
"45 Wigglytuff\n",
"46 Zubat\n",
"47 Golbat\n",
"48 Oddish\n",
"49 Gloom\n",
"50 Vileplume\n",
"51 Paras\n",
"52 Parasect\n",
"53 Venonat\n",
"54 Venomoth\n",
"55 Diglett\n",
"56 Dugtrio\n",
"57 Meowth\n",
"58 Persian\n",
"59 Psyduck\n",
"60 Golduck\n",
"61 Mankey\n",
"62 Primeape\n",
"63 Growlithe\n",
"64 Arcanine\n",
"65 Poliwag\n",
"66 Poliwhirl\n",
"67 Poliwrath\n",
"68 Abra\n",
"69 Kadabra\n",
"70 Alakazam\n",
"71 AlakazamMega Alakazam\n",
"72 Machop\n",
"73 Machoke\n",
"74 Machamp\n",
"75 Bellsprout\n",
"76 Weepinbell\n",
"77 Victreebel\n",
"78 Tentacool\n",
"79 Tentacruel\n",
"80 Geodude\n",
"81 Graveler\n",
"82 Golem\n",
"83 Ponyta\n",
"84 Rapidash\n",
"85 Slowpoke\n",
"86 Slowbro\n",
"87 SlowbroMega Slowbro\n",
"88 Magnemite\n",
"89 Magneton\n",
"90 Farfetch'd\n",
"91 Doduo\n",
"92 Dodrio\n",
"93 Seel\n",
"94 Dewgong\n",
"95 Grimer\n",
"96 Muk\n",
"97 Shellder\n",
"98 Cloyster\n",
"99 Gastly\n",
"100 Haunter\n",
"101 Gengar\n",
"102 GengarMega Gengar\n",
"103 Onix\n",
"104 Drowzee\n",
"105 Hypno\n",
"106 Krabby\n",
"107 Kingler\n",
"108 Voltorb\n",
"109 Electrode\n",
"110 Exeggcute\n",
"111 Exeggutor\n",
"112 Cubone\n",
"113 Marowak\n",
"114 Hitmonlee\n",
"115 Hitmonchan\n",
"116 Lickitung\n",
"117 Koffing\n",
"118 Weezing\n",
"119 Rhyhorn\n",
"120 Rhydon\n",
"121 Chansey\n",
"122 Tangela\n",
"123 Kangaskhan\n",
"124 KangaskhanMega Kangaskhan\n",
"125 Horsea\n",
"126 Seadra\n",
"127 Goldeen\n",
"128 Seaking\n",
"129 Staryu\n",
"130 Starmie\n",
"131 Mr. Mime\n",
"132 Scyther\n",
"133 Jynx\n",
"134 Electabuzz\n",
"135 Magmar\n",
"136 Pinsir\n",
"137 PinsirMega Pinsir\n",
"138 Tauros\n",
"139 Magikarp\n",
"140 Gyarados\n",
"141 GyaradosMega Gyarados\n",
"142 Lapras\n",
"143 Ditto\n",
"144 Eevee\n",
"145 Vaporeon\n",
"146 Jolteon\n",
"147 Flareon\n",
"148 Porygon\n",
"149 Omanyte\n",
"150 Omastar\n",
"151 Kabuto\n",
"152 Kabutops\n",
"153 Aerodactyl\n",
"154 AerodactylMega Aerodactyl\n",
"155 Snorlax\n",
"156 Articuno\n",
"157 Zapdos\n",
"158 Moltres\n",
"159 Dratini\n",
"160 Dragonair\n",
"161 Dragonite\n",
"162 Mewtwo\n",
"163 MewtwoMega Mewtwo X\n",
"164 MewtwoMega Mewtwo Y\n",
"165 Mew\n",
"166 Chikorita\n",
"167 Bayleef\n",
"168 Meganium\n",
"169 Cyndaquil\n",
"170 Quilava\n",
"171 Typhlosion\n",
"172 Totodile\n",
"173 Croconaw\n",
"174 Feraligatr\n",
"175 Sentret\n",
"176 Furret\n",
"177 Hoothoot\n",
"178 Noctowl\n",
"179 Ledyba\n",
"180 Ledian\n",
"181 Spinarak\n",
"182 Ariados\n",
"183 Crobat\n",
"184 Chinchou\n",
"185 Lanturn\n",
"186 Pichu\n",
"187 Cleffa\n",
"188 Igglybuff\n",
"189 Togepi\n",
"190 Togetic\n",
"191 Natu\n",
"192 Xatu\n",
"193 Mareep\n",
"194 Flaaffy\n",
"195 Ampharos\n",
"196 AmpharosMega Ampharos\n",
"197 Bellossom\n",
"198 Marill\n",
"199 Azumarill\n",
"200 Sudowoodo\n",
"201 Politoed\n",
"202 Hoppip\n",
"203 Skiploom\n",
"204 Jumpluff\n",
"205 Aipom\n",
"206 Sunkern\n",
"207 Sunflora\n",
"208 Yanma\n",
"209 Wooper\n",
"210 Quagsire\n",
"211 Espeon\n",
"212 Umbreon\n",
"213 Murkrow\n",
"214 Slowking\n",
"215 Misdreavus\n",
"216 Unown\n",
"217 Wobbuffet\n",
"218 Girafarig\n",
"219 Pineco\n",
"220 Forretress\n",
"221 Dunsparce\n",
"222 Gligar\n",
"223 Steelix\n",
"224 SteelixMega Steelix\n",
"225 Snubbull\n",
"226 Granbull\n",
"227 Qwilfish\n",
"228 Scizor\n",
"229 ScizorMega Scizor\n",
"230 Shuckle\n",
"231 Heracross\n",
"232 HeracrossMega Heracross\n",
"233 Sneasel\n",
"234 Teddiursa\n",
"235 Ursaring\n",
"236 Slugma\n",
"237 Magcargo\n",
"238 Swinub\n",
"239 Piloswine\n",
"240 Corsola\n",
"241 Remoraid\n",
"242 Octillery\n",
"243 Delibird\n",
"244 Mantine\n",
"245 Skarmory\n",
"246 Houndour\n",
"247 Houndoom\n",
"248 HoundoomMega Houndoom\n",
"249 Kingdra\n",
"250 Phanpy\n",
"251 Donphan\n",
"252 Porygon2\n",
"253 Stantler\n",
"254 Smeargle\n",
"255 Tyrogue\n",
"256 Hitmontop\n",
"257 Smoochum\n",
"258 Elekid\n",
"259 Magby\n",
"260 Miltank\n",
"261 Blissey\n",
"262 Raikou\n",
"263 Entei\n",
"264 Suicune\n",
"265 Larvitar\n",
"266 Pupitar\n",
"267 Tyranitar\n",
"268 TyranitarMega Tyranitar\n",
"269 Lugia\n",
"270 Ho-oh\n",
"271 Celebi\n",
"272 Treecko\n",
"273 Grovyle\n",
"274 Sceptile\n",
"275 SceptileMega Sceptile\n",
"276 Torchic\n",
"277 Combusken\n",
"278 Blaziken\n",
"279 BlazikenMega Blaziken\n",
"280 Mudkip\n",
"281 Marshtomp\n",
"282 Swampert\n",
"283 SwampertMega Swampert\n",
"284 Poochyena\n",
"285 Mightyena\n",
"286 Zigzagoon\n",
"287 Linoone\n",
"288 Wurmple\n",
"289 Silcoon\n",
"290 Beautifly\n",
"291 Cascoon\n",
"292 Dustox\n",
"293 Lotad\n",
"294 Lombre\n",
"295 Ludicolo\n",
"296 Seedot\n",
"297 Nuzleaf\n",
"298 Shiftry\n",
"299 Taillow\n",
"300 Swellow\n",
"301 Wingull\n",
"302 Pelipper\n",
"303 Ralts\n",
"304 Kirlia\n",
"305 Gardevoir\n",
"306 GardevoirMega Gardevoir\n",
"307 Surskit\n",
"308 Masquerain\n",
"309 Shroomish\n",
"310 Breloom\n",
"311 Slakoth\n",
"312 Vigoroth\n",
"313 Slaking\n",
"314 Nincada\n",
"315 Ninjask\n",
"316 Shedinja\n",
"317 Whismur\n",
"318 Loudred\n",
"319 Exploud\n",
"320 Makuhita\n",
"321 Hariyama\n",
"322 Azurill\n",
"323 Nosepass\n",
"324 Skitty\n",
"325 Delcatty\n",
"326 Sableye\n",
"327 SableyeMega Sableye\n",
"328 Mawile\n",
"329 MawileMega Mawile\n",
"330 Aron\n",
"331 Lairon\n",
"332 Aggron\n",
"333 AggronMega Aggron\n",
"334 Meditite\n",
"335 Medicham\n",
"336 MedichamMega Medicham\n",
"337 Electrike\n",
"338 Manectric\n",
"339 ManectricMega Manectric\n",
"340 Plusle\n",
"341 Minun\n",
"342 Volbeat\n",
"343 Illumise\n",
"344 Roselia\n",
"345 Gulpin\n",
"346 Swalot\n",
"347 Carvanha\n",
"348 Sharpedo\n",
"349 SharpedoMega Sharpedo\n",
"350 Wailmer\n",
"351 Wailord\n",
"352 Numel\n",
"353 Camerupt\n",
"354 CameruptMega Camerupt\n",
"355 Torkoal\n",
"356 Spoink\n",
"357 Grumpig\n",
"358 Spinda\n",
"359 Trapinch\n",
"360 Vibrava\n",
"361 Flygon\n",
"362 Cacnea\n",
"363 Cacturne\n",
"364 Swablu\n",
"365 Altaria\n",
"366 AltariaMega Altaria\n",
"367 Zangoose\n",
"368 Seviper\n",
"369 Lunatone\n",
"370 Solrock\n",
"371 Barboach\n",
"372 Whiscash\n",
"373 Corphish\n",
"374 Crawdaunt\n",
"375 Baltoy\n",
"376 Claydol\n",
"377 Lileep\n",
"378 Cradily\n",
"379 Anorith\n",
"380 Armaldo\n",
"381 Feebas\n",
"382 Milotic\n",
"383 Castform\n",
"384 Kecleon\n",
"385 Shuppet\n",
"386 Banette\n",
"387 BanetteMega Banette\n",
"388 Duskull\n",
"389 Dusclops\n",
"390 Tropius\n",
"391 Chimecho\n",
"392 Absol\n",
"393 AbsolMega Absol\n",
"394 Wynaut\n",
"395 Snorunt\n",
"396 Glalie\n",
"397 GlalieMega Glalie\n",
"398 Spheal\n",
"399 Sealeo\n",
"400 Walrein\n",
"401 Clamperl\n",
"402 Huntail\n",
"403 Gorebyss\n",
"404 Relicanth\n",
"405 Luvdisc\n",
"406 Bagon\n",
"407 Shelgon\n",
"408 Salamence\n",
"409 SalamenceMega Salamence\n",
"410 Beldum\n",
"411 Metang\n",
"412 Metagross\n",
"413 MetagrossMega Metagross\n",
"414 Regirock\n",
"415 Regice\n",
"416 Registeel\n",
"417 Latias\n",
"418 LatiasMega Latias\n",
"419 Latios\n",
"420 LatiosMega Latios\n",
"421 Kyogre\n",
"422 KyogrePrimal Kyogre\n",
"423 Groudon\n",
"424 GroudonPrimal Groudon\n",
"425 Rayquaza\n",
"426 RayquazaMega Rayquaza\n",
"427 Jirachi\n",
"428 DeoxysNormal Forme\n",
"429 DeoxysAttack Forme\n",
"430 DeoxysDefense Forme\n",
"431 DeoxysSpeed Forme\n",
"432 Turtwig\n",
"433 Grotle\n",
"434 Torterra\n",
"435 Chimchar\n",
"436 Monferno\n",
"437 Infernape\n",
"438 Piplup\n",
"439 Prinplup\n",
"440 Empoleon\n",
"441 Starly\n",
"442 Staravia\n",
"443 Staraptor\n",
"444 Bidoof\n",
"445 Bibarel\n",
"446 Kricketot\n",
"447 Kricketune\n",
"448 Shinx\n",
"449 Luxio\n",
"450 Luxray\n",
"451 Budew\n",
"452 Roserade\n",
"453 Cranidos\n",
"454 Rampardos\n",
"455 Shieldon\n",
"456 Bastiodon\n",
"457 Burmy\n",
"458 WormadamPlant Cloak\n",
"459 WormadamSandy Cloak\n",
"460 WormadamTrash Cloak\n",
"461 Mothim\n",
"462 Combee\n",
"463 Vespiquen\n",
"464 Pachirisu\n",
"465 Buizel\n",
"466 Floatzel\n",
"467 Cherubi\n",
"468 Cherrim\n",
"469 Shellos\n",
"470 Gastrodon\n",
"471 Ambipom\n",
"472 Drifloon\n",
"473 Drifblim\n",
"474 Buneary\n",
"475 Lopunny\n",
"476 LopunnyMega Lopunny\n",
"477 Mismagius\n",
"478 Honchkrow\n",
"479 Glameow\n",
"480 Purugly\n",
"481 Chingling\n",
"482 Stunky\n",
"483 Skuntank\n",
"484 Bronzor\n",
"485 Bronzong\n",
"486 Bonsly\n",
"487 Mime Jr.\n",
"488 Happiny\n",
"489 Chatot\n",
"490 Spiritomb\n",
"491 Gible\n",
"492 Gabite\n",
"493 Garchomp\n",
"494 GarchompMega Garchomp\n",
"495 Munchlax\n",
"496 Riolu\n",
"497 Lucario\n",
"498 LucarioMega Lucario\n",
"499 Hippopotas\n",
"500 Hippowdon\n",
"501 Skorupi\n",
"502 Drapion\n",
"503 Croagunk\n",
"504 Toxicroak\n",
"505 Carnivine\n",
"506 Finneon\n",
"507 Lumineon\n",
"508 Mantyke\n",
"509 Snover\n",
"510 Abomasnow\n",
"511 AbomasnowMega Abomasnow\n",
"512 Weavile\n",
"513 Magnezone\n",
"514 Lickilicky\n",
"515 Rhyperior\n",
"516 Tangrowth\n",
"517 Electivire\n",
"518 Magmortar\n",
"519 Togekiss\n",
"520 Yanmega\n",
"521 Leafeon\n",
"522 Glaceon\n",
"523 Gliscor\n",
"524 Mamoswine\n",
"525 Porygon-Z\n",
"526 Gallade\n",
"527 GalladeMega Gallade\n",
"528 Probopass\n",
"529 Dusknoir\n",
"530 Froslass\n",
"531 Rotom\n",
"532 RotomHeat Rotom\n",
"533 RotomWash Rotom\n",
"534 RotomFrost Rotom\n",
"535 RotomFan Rotom\n",
"536 RotomMow Rotom\n",
"537 Uxie\n",
"538 Mesprit\n",
"539 Azelf\n",
"540 Dialga\n",
"541 Palkia\n",
"542 Heatran\n",
"543 Regigigas\n",
"544 GiratinaAltered Forme\n",
"545 GiratinaOrigin Forme\n",
"546 Cresselia\n",
"547 Phione\n",
"548 Manaphy\n",
"549 Darkrai\n",
"550 ShayminLand Forme\n",
"551 ShayminSky Forme\n",
"552 Arceus\n",
"553 Victini\n",
"554 Snivy\n",
"555 Servine\n",
"556 Serperior\n",
"557 Tepig\n",
"558 Pignite\n",
"559 Emboar\n",
"560 Oshawott\n",
"561 Dewott\n",
"562 Samurott\n",
"563 Patrat\n",
"564 Watchog\n",
"565 Lillipup\n",
"566 Herdier\n",
"567 Stoutland\n",
"568 Purrloin\n",
"569 Liepard\n",
"570 Pansage\n",
"571 Simisage\n",
"572 Pansear\n",
"573 Simisear\n",
"574 Panpour\n",
"575 Simipour\n",
"576 Munna\n",
"577 Musharna\n",
"578 Pidove\n",
"579 Tranquill\n",
"580 Unfezant\n",
"581 Blitzle\n",
"582 Zebstrika\n",
"583 Roggenrola\n",
"584 Boldore\n",
"585 Gigalith\n",
"586 Woobat\n",
"587 Swoobat\n",
"588 Drilbur\n",
"589 Excadrill\n",
"590 Audino\n",
"591 AudinoMega Audino\n",
"592 Timburr\n",
"593 Gurdurr\n",
"594 Conkeldurr\n",
"595 Tympole\n",
"596 Palpitoad\n",
"597 Seismitoad\n",
"598 Throh\n",
"599 Sawk\n",
"600 Sewaddle\n",
"601 Swadloon\n",
"602 Leavanny\n",
"603 Venipede\n",
"604 Whirlipede\n",
"605 Scolipede\n",
"606 Cottonee\n",
"607 Whimsicott\n",
"608 Petilil\n",
"609 Lilligant\n",
"610 Basculin\n",
"611 Sandile\n",
"612 Krokorok\n",
"613 Krookodile\n",
"614 Darumaka\n",
"615 DarmanitanStandard Mode\n",
"616 DarmanitanZen Mode\n",
"617 Maractus\n",
"618 Dwebble\n",
"619 Crustle\n",
"620 Scraggy\n",
"621 Scrafty\n",
"622 Sigilyph\n",
"623 Yamask\n",
"624 Cofagrigus\n",
"625 Tirtouga\n",
"626 Carracosta\n",
"627 Archen\n",
"628 Archeops\n",
"629 Trubbish\n",
"630 Garbodor\n",
"631 Zorua\n",
"632 Zoroark\n",
"633 Minccino\n",
"634 Cinccino\n",
"635 Gothita\n",
"636 Gothorita\n",
"637 Gothitelle\n",
"638 Solosis\n",
"639 Duosion\n",
"640 Reuniclus\n",
"641 Ducklett\n",
"642 Swanna\n",
"643 Vanillite\n",
"644 Vanillish\n",
"645 Vanilluxe\n",
"646 Deerling\n",
"647 Sawsbuck\n",
"648 Emolga\n",
"649 Karrablast\n",
"650 Escavalier\n",
"651 Foongus\n",
"652 Amoonguss\n",
"653 Frillish\n",
"654 Jellicent\n",
"655 Alomomola\n",
"656 Joltik\n",
"657 Galvantula\n",
"658 Ferroseed\n",
"659 Ferrothorn\n",
"660 Klink\n",
"661 Klang\n",
"662 Klinklang\n",
"663 Tynamo\n",
"664 Eelektrik\n",
"665 Eelektross\n",
"666 Elgyem\n",
"667 Beheeyem\n",
"668 Litwick\n",
"669 Lampent\n",
"670 Chandelure\n",
"671 Axew\n",
"672 Fraxure\n",
"673 Haxorus\n",
"674 Cubchoo\n",
"675 Beartic\n",
"676 Cryogonal\n",
"677 Shelmet\n",
"678 Accelgor\n",
"679 Stunfisk\n",
"680 Mienfoo\n",
"681 Mienshao\n",
"682 Druddigon\n",
"683 Golett\n",
"684 Golurk\n",
"685 Pawniard\n",
"686 Bisharp\n",
"687 Bouffalant\n",
"688 Rufflet\n",
"689 Braviary\n",
"690 Vullaby\n",
"691 Mandibuzz\n",
"692 Heatmor\n",
"693 Durant\n",
"694 Deino\n",
"695 Zweilous\n",
"696 Hydreigon\n",
"697 Larvesta\n",
"698 Volcarona\n",
"699 Cobalion\n",
"700 Terrakion\n",
"701 Virizion\n",
"702 TornadusIncarnate Forme\n",
"703 TornadusTherian Forme\n",
"704 ThundurusIncarnate Forme\n",
"705 ThundurusTherian Forme\n",
"706 Reshiram\n",
"707 Zekrom\n",
"708 LandorusIncarnate Forme\n",
"709 LandorusTherian Forme\n",
"710 Kyurem\n",
"711 KyuremBlack Kyurem\n",
"712 KyuremWhite Kyurem\n",
"713 KeldeoOrdinary Forme\n",
"714 KeldeoResolute Forme\n",
"715 MeloettaAria Forme\n",
"716 MeloettaPirouette Forme\n",
"717 Genesect\n",
"718 Chespin\n",
"719 Quilladin\n",
"720 Chesnaught\n",
"721 Fennekin\n",
"722 Braixen\n",
"723 Delphox\n",
"724 Froakie\n",
"725 Frogadier\n",
"726 Greninja\n",
"727 Bunnelby\n",
"728 Diggersby\n",
"729 Fletchling\n",
"730 Fletchinder\n",
"731 Talonflame\n",
"732 Scatterbug\n",
"733 Spewpa\n",
"734 Vivillon\n",
"735 Litleo\n",
"736 Pyroar\n",
"737 Flabébé\n",
"738 Floette\n",
"739 Florges\n",
"740 Skiddo\n",
"741 Gogoat\n",
"742 Pancham\n",
"743 Pangoro\n",
"744 Furfrou\n",
"745 Espurr\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"746 MeowsticMale\n",
"747 MeowsticFemale\n",
"748 Honedge\n",
"749 Doublade\n",
"750 AegislashBlade Forme\n",
"751 AegislashShield Forme\n",
"752 Spritzee\n",
"753 Aromatisse\n",
"754 Swirlix\n",
"755 Slurpuff\n",
"756 Inkay\n",
"757 Malamar\n",
"758 Binacle\n",
"759 Barbaracle\n",
"760 Skrelp\n",
"761 Dragalge\n",
"762 Clauncher\n",
"763 Clawitzer\n",
"764 Helioptile\n",
"765 Heliolisk\n",
"766 Tyrunt\n",
"767 Tyrantrum\n",
"768 Amaura\n",
"769 Aurorus\n",
"770 Sylveon\n",
"771 Hawlucha\n",
"772 Dedenne\n",
"773 Carbink\n",
"774 Goomy\n",
"775 Sliggoo\n",
"776 Goodra\n",
"777 Klefki\n",
"778 Phantump\n",
"779 Trevenant\n",
"780 PumpkabooAverage Size\n",
"781 PumpkabooSmall Size\n",
"782 PumpkabooLarge Size\n",
"783 PumpkabooSuper Size\n",
"784 GourgeistAverage Size\n",
"785 GourgeistSmall Size\n",
"786 GourgeistLarge Size\n",
"787 GourgeistSuper Size\n",
"788 Bergmite\n",
"789 Avalugg\n",
"790 Noibat\n",
"791 Noivern\n",
"792 Xerneas\n",
"793 Yveltal\n",
"794 Zygarde50% Forme\n",
"795 Diancie\n",
"796 DiancieMega Diancie\n",
"797 HoopaHoopa Confined\n",
"798 HoopaHoopa Unbound\n",
"799 Volcanion\n"
]
}
],
"source": [
"#For getting a list of a column\n",
"for index, row in df.iterrows():\n",
" print(index, row['Name'])"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "8e6f38c1",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Venusaur\n"
]
}
],
"source": [
"#Read a specific location (R, C)\n",
"print(df.iloc[2, 1])"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "9d9449ff",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Generation | \n",
" Legendary | \n",
"
\n",
" \n",
" \n",
" \n",
" 4 | \n",
" 4 | \n",
" Charmander | \n",
" Fire | \n",
" NaN | \n",
" 39 | \n",
" 52 | \n",
" 43 | \n",
" 60 | \n",
" 50 | \n",
" 65 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 5 | \n",
" 5 | \n",
" Charmeleon | \n",
" Fire | \n",
" NaN | \n",
" 58 | \n",
" 64 | \n",
" 58 | \n",
" 80 | \n",
" 65 | \n",
" 80 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 6 | \n",
" 6 | \n",
" Charizard | \n",
" Fire | \n",
" Flying | \n",
" 78 | \n",
" 84 | \n",
" 78 | \n",
" 109 | \n",
" 85 | \n",
" 100 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 7 | \n",
" 6 | \n",
" CharizardMega Charizard X | \n",
" Fire | \n",
" Dragon | \n",
" 78 | \n",
" 130 | \n",
" 111 | \n",
" 130 | \n",
" 85 | \n",
" 100 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 8 | \n",
" 6 | \n",
" CharizardMega Charizard Y | \n",
" Fire | \n",
" Flying | \n",
" 78 | \n",
" 104 | \n",
" 78 | \n",
" 159 | \n",
" 115 | \n",
" 100 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 42 | \n",
" 37 | \n",
" Vulpix | \n",
" Fire | \n",
" NaN | \n",
" 38 | \n",
" 41 | \n",
" 40 | \n",
" 50 | \n",
" 65 | \n",
" 65 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 43 | \n",
" 38 | \n",
" Ninetales | \n",
" Fire | \n",
" NaN | \n",
" 73 | \n",
" 76 | \n",
" 75 | \n",
" 81 | \n",
" 100 | \n",
" 100 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 63 | \n",
" 58 | \n",
" Growlithe | \n",
" Fire | \n",
" NaN | \n",
" 55 | \n",
" 70 | \n",
" 45 | \n",
" 70 | \n",
" 50 | \n",
" 60 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 64 | \n",
" 59 | \n",
" Arcanine | \n",
" Fire | \n",
" NaN | \n",
" 90 | \n",
" 110 | \n",
" 80 | \n",
" 100 | \n",
" 80 | \n",
" 95 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 83 | \n",
" 77 | \n",
" Ponyta | \n",
" Fire | \n",
" NaN | \n",
" 50 | \n",
" 85 | \n",
" 55 | \n",
" 65 | \n",
" 65 | \n",
" 90 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 HP Attack Defense \\\n",
"4 4 Charmander Fire NaN 39 52 43 \n",
"5 5 Charmeleon Fire NaN 58 64 58 \n",
"6 6 Charizard Fire Flying 78 84 78 \n",
"7 6 CharizardMega Charizard X Fire Dragon 78 130 111 \n",
"8 6 CharizardMega Charizard Y Fire Flying 78 104 78 \n",
"42 37 Vulpix Fire NaN 38 41 40 \n",
"43 38 Ninetales Fire NaN 73 76 75 \n",
"63 58 Growlithe Fire NaN 55 70 45 \n",
"64 59 Arcanine Fire NaN 90 110 80 \n",
"83 77 Ponyta Fire NaN 50 85 55 \n",
"\n",
" Sp. Atk Sp. Def Speed Generation Legendary \n",
"4 60 50 65 1 False \n",
"5 80 65 80 1 False \n",
"6 109 85 100 1 False \n",
"7 130 85 100 1 False \n",
"8 159 115 100 1 False \n",
"42 50 65 65 1 False \n",
"43 81 100 100 1 False \n",
"63 70 50 60 1 False \n",
"64 100 80 95 1 False \n",
"83 65 65 90 1 False "
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[df['Type 1'] == 'Fire'][0:10]"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "39a0821e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Generation | \n",
" Legendary | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" Bulbasaur | \n",
" Grass | \n",
" Poison | \n",
" 45 | \n",
" 49 | \n",
" 49 | \n",
" 65 | \n",
" 65 | \n",
" 45 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" Ivysaur | \n",
" Grass | \n",
" Poison | \n",
" 60 | \n",
" 62 | \n",
" 63 | \n",
" 80 | \n",
" 80 | \n",
" 60 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 80 | \n",
" 82 | \n",
" 83 | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" VenusaurMega Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 80 | \n",
" 100 | \n",
" 123 | \n",
" 122 | \n",
" 120 | \n",
" 80 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 48 | \n",
" 43 | \n",
" Oddish | \n",
" Grass | \n",
" Poison | \n",
" 45 | \n",
" 50 | \n",
" 55 | \n",
" 75 | \n",
" 65 | \n",
" 30 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 49 | \n",
" 44 | \n",
" Gloom | \n",
" Grass | \n",
" Poison | \n",
" 60 | \n",
" 65 | \n",
" 70 | \n",
" 85 | \n",
" 75 | \n",
" 40 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 50 | \n",
" 45 | \n",
" Vileplume | \n",
" Grass | \n",
" Poison | \n",
" 75 | \n",
" 80 | \n",
" 85 | \n",
" 110 | \n",
" 90 | \n",
" 50 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 75 | \n",
" 69 | \n",
" Bellsprout | \n",
" Grass | \n",
" Poison | \n",
" 50 | \n",
" 75 | \n",
" 35 | \n",
" 70 | \n",
" 30 | \n",
" 40 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 76 | \n",
" 70 | \n",
" Weepinbell | \n",
" Grass | \n",
" Poison | \n",
" 65 | \n",
" 90 | \n",
" 50 | \n",
" 85 | \n",
" 45 | \n",
" 55 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 77 | \n",
" 71 | \n",
" Victreebel | \n",
" Grass | \n",
" Poison | \n",
" 80 | \n",
" 105 | \n",
" 65 | \n",
" 100 | \n",
" 70 | \n",
" 70 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 HP Attack Defense Sp. Atk \\\n",
"0 1 Bulbasaur Grass Poison 45 49 49 65 \n",
"1 2 Ivysaur Grass Poison 60 62 63 80 \n",
"2 3 Venusaur Grass Poison 80 82 83 100 \n",
"3 3 VenusaurMega Venusaur Grass Poison 80 100 123 122 \n",
"48 43 Oddish Grass Poison 45 50 55 75 \n",
"49 44 Gloom Grass Poison 60 65 70 85 \n",
"50 45 Vileplume Grass Poison 75 80 85 110 \n",
"75 69 Bellsprout Grass Poison 50 75 35 70 \n",
"76 70 Weepinbell Grass Poison 65 90 50 85 \n",
"77 71 Victreebel Grass Poison 80 105 65 100 \n",
"\n",
" Sp. Def Speed Generation Legendary \n",
"0 65 45 1 False \n",
"1 80 60 1 False \n",
"2 100 80 1 False \n",
"3 120 80 1 False \n",
"48 65 30 1 False \n",
"49 75 40 1 False \n",
"50 90 50 1 False \n",
"75 30 40 1 False \n",
"76 45 55 1 False \n",
"77 70 70 1 False "
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[df['Type 1'] == 'Grass'][0:10]"
]
},
{
"cell_type": "markdown",
"id": "0045e85a",
"metadata": {},
"source": [
"# Sorting/Describing Data"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "20629159",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Generation | \n",
"
\n",
" \n",
" \n",
" \n",
" count | \n",
" 800.000000 | \n",
" 800.000000 | \n",
" 800.000000 | \n",
" 800.000000 | \n",
" 800.000000 | \n",
" 800.000000 | \n",
" 800.000000 | \n",
" 800.00000 | \n",
"
\n",
" \n",
" mean | \n",
" 362.813750 | \n",
" 69.258750 | \n",
" 79.001250 | \n",
" 73.842500 | \n",
" 72.820000 | \n",
" 71.902500 | \n",
" 68.277500 | \n",
" 3.32375 | \n",
"
\n",
" \n",
" std | \n",
" 208.343798 | \n",
" 25.534669 | \n",
" 32.457366 | \n",
" 31.183501 | \n",
" 32.722294 | \n",
" 27.828916 | \n",
" 29.060474 | \n",
" 1.66129 | \n",
"
\n",
" \n",
" min | \n",
" 1.000000 | \n",
" 1.000000 | \n",
" 5.000000 | \n",
" 5.000000 | \n",
" 10.000000 | \n",
" 20.000000 | \n",
" 5.000000 | \n",
" 1.00000 | \n",
"
\n",
" \n",
" 25% | \n",
" 184.750000 | \n",
" 50.000000 | \n",
" 55.000000 | \n",
" 50.000000 | \n",
" 49.750000 | \n",
" 50.000000 | \n",
" 45.000000 | \n",
" 2.00000 | \n",
"
\n",
" \n",
" 50% | \n",
" 364.500000 | \n",
" 65.000000 | \n",
" 75.000000 | \n",
" 70.000000 | \n",
" 65.000000 | \n",
" 70.000000 | \n",
" 65.000000 | \n",
" 3.00000 | \n",
"
\n",
" \n",
" 75% | \n",
" 539.250000 | \n",
" 80.000000 | \n",
" 100.000000 | \n",
" 90.000000 | \n",
" 95.000000 | \n",
" 90.000000 | \n",
" 90.000000 | \n",
" 5.00000 | \n",
"
\n",
" \n",
" max | \n",
" 721.000000 | \n",
" 255.000000 | \n",
" 190.000000 | \n",
" 230.000000 | \n",
" 194.000000 | \n",
" 230.000000 | \n",
" 180.000000 | \n",
" 6.00000 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # HP Attack Defense Sp. Atk Sp. Def \\\n",
"count 800.000000 800.000000 800.000000 800.000000 800.000000 800.000000 \n",
"mean 362.813750 69.258750 79.001250 73.842500 72.820000 71.902500 \n",
"std 208.343798 25.534669 32.457366 31.183501 32.722294 27.828916 \n",
"min 1.000000 1.000000 5.000000 5.000000 10.000000 20.000000 \n",
"25% 184.750000 50.000000 55.000000 50.000000 49.750000 50.000000 \n",
"50% 364.500000 65.000000 75.000000 70.000000 65.000000 70.000000 \n",
"75% 539.250000 80.000000 100.000000 90.000000 95.000000 90.000000 \n",
"max 721.000000 255.000000 190.000000 230.000000 194.000000 230.000000 \n",
"\n",
" Speed Generation \n",
"count 800.000000 800.00000 \n",
"mean 68.277500 3.32375 \n",
"std 29.060474 1.66129 \n",
"min 5.000000 1.00000 \n",
"25% 45.000000 2.00000 \n",
"50% 65.000000 3.00000 \n",
"75% 90.000000 5.00000 \n",
"max 180.000000 6.00000 "
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "2929e45d",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Generation | \n",
" Legendary | \n",
"
\n",
" \n",
" \n",
" \n",
" 510 | \n",
" 460 | \n",
" Abomasnow | \n",
" Grass | \n",
" Ice | \n",
" 90 | \n",
" 92 | \n",
" 75 | \n",
" 92 | \n",
" 85 | \n",
" 60 | \n",
" 4 | \n",
" False | \n",
"
\n",
" \n",
" 511 | \n",
" 460 | \n",
" AbomasnowMega Abomasnow | \n",
" Grass | \n",
" Ice | \n",
" 90 | \n",
" 132 | \n",
" 105 | \n",
" 132 | \n",
" 105 | \n",
" 30 | \n",
" 4 | \n",
" False | \n",
"
\n",
" \n",
" 68 | \n",
" 63 | \n",
" Abra | \n",
" Psychic | \n",
" NaN | \n",
" 25 | \n",
" 20 | \n",
" 15 | \n",
" 105 | \n",
" 55 | \n",
" 90 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 392 | \n",
" 359 | \n",
" Absol | \n",
" Dark | \n",
" NaN | \n",
" 65 | \n",
" 130 | \n",
" 60 | \n",
" 75 | \n",
" 60 | \n",
" 75 | \n",
" 3 | \n",
" False | \n",
"
\n",
" \n",
" 393 | \n",
" 359 | \n",
" AbsolMega Absol | \n",
" Dark | \n",
" NaN | \n",
" 65 | \n",
" 150 | \n",
" 60 | \n",
" 115 | \n",
" 60 | \n",
" 115 | \n",
" 3 | \n",
" False | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 632 | \n",
" 571 | \n",
" Zoroark | \n",
" Dark | \n",
" NaN | \n",
" 60 | \n",
" 105 | \n",
" 60 | \n",
" 120 | \n",
" 60 | \n",
" 105 | \n",
" 5 | \n",
" False | \n",
"
\n",
" \n",
" 631 | \n",
" 570 | \n",
" Zorua | \n",
" Dark | \n",
" NaN | \n",
" 40 | \n",
" 65 | \n",
" 40 | \n",
" 80 | \n",
" 40 | \n",
" 65 | \n",
" 5 | \n",
" False | \n",
"
\n",
" \n",
" 46 | \n",
" 41 | \n",
" Zubat | \n",
" Poison | \n",
" Flying | \n",
" 40 | \n",
" 45 | \n",
" 35 | \n",
" 30 | \n",
" 40 | \n",
" 55 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 695 | \n",
" 634 | \n",
" Zweilous | \n",
" Dark | \n",
" Dragon | \n",
" 72 | \n",
" 85 | \n",
" 70 | \n",
" 65 | \n",
" 70 | \n",
" 58 | \n",
" 5 | \n",
" False | \n",
"
\n",
" \n",
" 794 | \n",
" 718 | \n",
" Zygarde50% Forme | \n",
" Dragon | \n",
" Ground | \n",
" 108 | \n",
" 100 | \n",
" 121 | \n",
" 81 | \n",
" 95 | \n",
" 95 | \n",
" 6 | \n",
" True | \n",
"
\n",
" \n",
"
\n",
"
800 rows × 12 columns
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 HP Attack Defense \\\n",
"510 460 Abomasnow Grass Ice 90 92 75 \n",
"511 460 AbomasnowMega Abomasnow Grass Ice 90 132 105 \n",
"68 63 Abra Psychic NaN 25 20 15 \n",
"392 359 Absol Dark NaN 65 130 60 \n",
"393 359 AbsolMega Absol Dark NaN 65 150 60 \n",
".. ... ... ... ... ... ... ... \n",
"632 571 Zoroark Dark NaN 60 105 60 \n",
"631 570 Zorua Dark NaN 40 65 40 \n",
"46 41 Zubat Poison Flying 40 45 35 \n",
"695 634 Zweilous Dark Dragon 72 85 70 \n",
"794 718 Zygarde50% Forme Dragon Ground 108 100 121 \n",
"\n",
" Sp. Atk Sp. Def Speed Generation Legendary \n",
"510 92 85 60 4 False \n",
"511 132 105 30 4 False \n",
"68 105 55 90 1 False \n",
"392 75 60 75 3 False \n",
"393 115 60 115 3 False \n",
".. ... ... ... ... ... \n",
"632 120 60 105 5 False \n",
"631 80 40 65 5 False \n",
"46 30 40 55 1 False \n",
"695 65 70 58 5 False \n",
"794 81 95 95 6 True \n",
"\n",
"[800 rows x 12 columns]"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.sort_values('Name')"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "aa196b6c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Generation | \n",
" Legendary | \n",
"
\n",
" \n",
" \n",
" \n",
" 794 | \n",
" 718 | \n",
" Zygarde50% Forme | \n",
" Dragon | \n",
" Ground | \n",
" 108 | \n",
" 100 | \n",
" 121 | \n",
" 81 | \n",
" 95 | \n",
" 95 | \n",
" 6 | \n",
" True | \n",
"
\n",
" \n",
" 695 | \n",
" 634 | \n",
" Zweilous | \n",
" Dark | \n",
" Dragon | \n",
" 72 | \n",
" 85 | \n",
" 70 | \n",
" 65 | \n",
" 70 | \n",
" 58 | \n",
" 5 | \n",
" False | \n",
"
\n",
" \n",
" 46 | \n",
" 41 | \n",
" Zubat | \n",
" Poison | \n",
" Flying | \n",
" 40 | \n",
" 45 | \n",
" 35 | \n",
" 30 | \n",
" 40 | \n",
" 55 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 631 | \n",
" 570 | \n",
" Zorua | \n",
" Dark | \n",
" NaN | \n",
" 40 | \n",
" 65 | \n",
" 40 | \n",
" 80 | \n",
" 40 | \n",
" 65 | \n",
" 5 | \n",
" False | \n",
"
\n",
" \n",
" 632 | \n",
" 571 | \n",
" Zoroark | \n",
" Dark | \n",
" NaN | \n",
" 60 | \n",
" 105 | \n",
" 60 | \n",
" 120 | \n",
" 60 | \n",
" 105 | \n",
" 5 | \n",
" False | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 393 | \n",
" 359 | \n",
" AbsolMega Absol | \n",
" Dark | \n",
" NaN | \n",
" 65 | \n",
" 150 | \n",
" 60 | \n",
" 115 | \n",
" 60 | \n",
" 115 | \n",
" 3 | \n",
" False | \n",
"
\n",
" \n",
" 392 | \n",
" 359 | \n",
" Absol | \n",
" Dark | \n",
" NaN | \n",
" 65 | \n",
" 130 | \n",
" 60 | \n",
" 75 | \n",
" 60 | \n",
" 75 | \n",
" 3 | \n",
" False | \n",
"
\n",
" \n",
" 68 | \n",
" 63 | \n",
" Abra | \n",
" Psychic | \n",
" NaN | \n",
" 25 | \n",
" 20 | \n",
" 15 | \n",
" 105 | \n",
" 55 | \n",
" 90 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 511 | \n",
" 460 | \n",
" AbomasnowMega Abomasnow | \n",
" Grass | \n",
" Ice | \n",
" 90 | \n",
" 132 | \n",
" 105 | \n",
" 132 | \n",
" 105 | \n",
" 30 | \n",
" 4 | \n",
" False | \n",
"
\n",
" \n",
" 510 | \n",
" 460 | \n",
" Abomasnow | \n",
" Grass | \n",
" Ice | \n",
" 90 | \n",
" 92 | \n",
" 75 | \n",
" 92 | \n",
" 85 | \n",
" 60 | \n",
" 4 | \n",
" False | \n",
"
\n",
" \n",
"
\n",
"
800 rows × 12 columns
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 HP Attack Defense \\\n",
"794 718 Zygarde50% Forme Dragon Ground 108 100 121 \n",
"695 634 Zweilous Dark Dragon 72 85 70 \n",
"46 41 Zubat Poison Flying 40 45 35 \n",
"631 570 Zorua Dark NaN 40 65 40 \n",
"632 571 Zoroark Dark NaN 60 105 60 \n",
".. ... ... ... ... ... ... ... \n",
"393 359 AbsolMega Absol Dark NaN 65 150 60 \n",
"392 359 Absol Dark NaN 65 130 60 \n",
"68 63 Abra Psychic NaN 25 20 15 \n",
"511 460 AbomasnowMega Abomasnow Grass Ice 90 132 105 \n",
"510 460 Abomasnow Grass Ice 90 92 75 \n",
"\n",
" Sp. Atk Sp. Def Speed Generation Legendary \n",
"794 81 95 95 6 True \n",
"695 65 70 58 5 False \n",
"46 30 40 55 1 False \n",
"631 80 40 65 5 False \n",
"632 120 60 105 5 False \n",
".. ... ... ... ... ... \n",
"393 115 60 115 3 False \n",
"392 75 60 75 3 False \n",
"68 105 55 90 1 False \n",
"511 132 105 30 4 False \n",
"510 92 85 60 4 False \n",
"\n",
"[800 rows x 12 columns]"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.sort_values('Name', ascending = False)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "0d0c319e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Generation | \n",
" Legendary | \n",
"
\n",
" \n",
" \n",
" \n",
" 139 | \n",
" 129 | \n",
" Magikarp | \n",
" Water | \n",
" NaN | \n",
" 20 | \n",
" 10 | \n",
" 55 | \n",
" 15 | \n",
" 20 | \n",
" 80 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 381 | \n",
" 349 | \n",
" Feebas | \n",
" Water | \n",
" NaN | \n",
" 20 | \n",
" 15 | \n",
" 20 | \n",
" 10 | \n",
" 55 | \n",
" 80 | \n",
" 3 | \n",
" False | \n",
"
\n",
" \n",
" 97 | \n",
" 90 | \n",
" Shellder | \n",
" Water | \n",
" NaN | \n",
" 30 | \n",
" 65 | \n",
" 100 | \n",
" 45 | \n",
" 25 | \n",
" 40 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 106 | \n",
" 98 | \n",
" Krabby | \n",
" Water | \n",
" NaN | \n",
" 30 | \n",
" 105 | \n",
" 90 | \n",
" 25 | \n",
" 25 | \n",
" 50 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" 125 | \n",
" 116 | \n",
" Horsea | \n",
" Water | \n",
" NaN | \n",
" 30 | \n",
" 40 | \n",
" 70 | \n",
" 70 | \n",
" 25 | \n",
" 60 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 232 | \n",
" 214 | \n",
" HeracrossMega Heracross | \n",
" Bug | \n",
" Fighting | \n",
" 80 | \n",
" 185 | \n",
" 115 | \n",
" 40 | \n",
" 105 | \n",
" 75 | \n",
" 2 | \n",
" False | \n",
"
\n",
" \n",
" 678 | \n",
" 617 | \n",
" Accelgor | \n",
" Bug | \n",
" NaN | \n",
" 80 | \n",
" 70 | \n",
" 40 | \n",
" 100 | \n",
" 60 | \n",
" 145 | \n",
" 5 | \n",
" False | \n",
"
\n",
" \n",
" 734 | \n",
" 666 | \n",
" Vivillon | \n",
" Bug | \n",
" Flying | \n",
" 80 | \n",
" 52 | \n",
" 50 | \n",
" 90 | \n",
" 50 | \n",
" 89 | \n",
" 6 | \n",
" False | \n",
"
\n",
" \n",
" 698 | \n",
" 637 | \n",
" Volcarona | \n",
" Bug | \n",
" Fire | \n",
" 85 | \n",
" 60 | \n",
" 65 | \n",
" 135 | \n",
" 105 | \n",
" 100 | \n",
" 5 | \n",
" False | \n",
"
\n",
" \n",
" 520 | \n",
" 469 | \n",
" Yanmega | \n",
" Bug | \n",
" Flying | \n",
" 86 | \n",
" 76 | \n",
" 86 | \n",
" 116 | \n",
" 56 | \n",
" 95 | \n",
" 4 | \n",
" False | \n",
"
\n",
" \n",
"
\n",
"
800 rows × 12 columns
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 HP Attack Defense \\\n",
"139 129 Magikarp Water NaN 20 10 55 \n",
"381 349 Feebas Water NaN 20 15 20 \n",
"97 90 Shellder Water NaN 30 65 100 \n",
"106 98 Krabby Water NaN 30 105 90 \n",
"125 116 Horsea Water NaN 30 40 70 \n",
".. ... ... ... ... .. ... ... \n",
"232 214 HeracrossMega Heracross Bug Fighting 80 185 115 \n",
"678 617 Accelgor Bug NaN 80 70 40 \n",
"734 666 Vivillon Bug Flying 80 52 50 \n",
"698 637 Volcarona Bug Fire 85 60 65 \n",
"520 469 Yanmega Bug Flying 86 76 86 \n",
"\n",
" Sp. Atk Sp. Def Speed Generation Legendary \n",
"139 15 20 80 1 False \n",
"381 10 55 80 3 False \n",
"97 45 25 40 1 False \n",
"106 25 25 50 1 False \n",
"125 70 25 60 1 False \n",
".. ... ... ... ... ... \n",
"232 40 105 75 2 False \n",
"678 100 60 145 5 False \n",
"734 90 50 89 6 False \n",
"698 135 105 100 5 False \n",
"520 116 56 95 4 False \n",
"\n",
"[800 rows x 12 columns]"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.sort_values(['Type 1', 'HP'], ascending = [1, 0])"
]
},
{
"cell_type": "markdown",
"id": "345dcc98",
"metadata": {},
"source": [
"- **1 = True, 0 = False**"
]
},
{
"cell_type": "markdown",
"id": "2eb84bef",
"metadata": {},
"source": [
"# Making changes to the data"
]
},
{
"cell_type": "markdown",
"id": "9684d5f5",
"metadata": {},
"source": [
"### Adding Columns to create a new Column"
]
},
{
"cell_type": "markdown",
"id": "8037beac",
"metadata": {},
"source": [
"- **Method 1**"
]
},
{
"cell_type": "code",
"execution_count": 71,
"id": "93e4979e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" Bulbasaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 45 | \n",
" 49 | \n",
" 49 | \n",
" 65 | \n",
" 65 | \n",
" 45 | \n",
" 318 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" Ivysaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 60 | \n",
" 62 | \n",
" 63 | \n",
" 80 | \n",
" 80 | \n",
" 60 | \n",
" 405 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 82 | \n",
" 83 | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
" 525 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" VenusaurMega Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 100 | \n",
" 123 | \n",
" 122 | \n",
" 120 | \n",
" 80 | \n",
" 625 | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" Charmander | \n",
" Fire | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 39 | \n",
" 52 | \n",
" 43 | \n",
" 60 | \n",
" 50 | \n",
" 65 | \n",
" 309 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary HP Attack \\\n",
"0 1 Bulbasaur Grass Poison 1 False 45 49 \n",
"1 2 Ivysaur Grass Poison 1 False 60 62 \n",
"2 3 Venusaur Grass Poison 1 False 80 82 \n",
"3 3 VenusaurMega Venusaur Grass Poison 1 False 80 100 \n",
"4 4 Charmander Fire NaN 1 False 39 52 \n",
"\n",
" Defense Sp. Atk Sp. Def Speed Total \n",
"0 49 65 65 45 318 \n",
"1 63 80 80 60 405 \n",
"2 83 100 100 80 525 \n",
"3 123 122 120 80 625 \n",
"4 43 60 50 65 309 "
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['Total'] = df['HP'] + df['Attack'] + df['Defense'] + df['Sp. Atk'] + df['Sp. Def'] + df['Speed']\n",
"\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"id": "ddf0e415",
"metadata": {},
"source": [
"- **Method 2**"
]
},
{
"cell_type": "code",
"execution_count": 70,
"id": "12950ada",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" Bulbasaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 45 | \n",
" 49 | \n",
" 49 | \n",
" 65 | \n",
" 65 | \n",
" 45 | \n",
" 319.0 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" Ivysaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 60 | \n",
" 62 | \n",
" 63 | \n",
" 80 | \n",
" 80 | \n",
" 60 | \n",
" 406.0 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 82 | \n",
" 83 | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
" 526.0 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" VenusaurMega Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 100 | \n",
" 123 | \n",
" 122 | \n",
" 120 | \n",
" 80 | \n",
" 626.0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary HP Attack \\\n",
"0 1 Bulbasaur Grass Poison 1 False 45 49 \n",
"1 2 Ivysaur Grass Poison 1 False 60 62 \n",
"2 3 Venusaur Grass Poison 1 False 80 82 \n",
"3 3 VenusaurMega Venusaur Grass Poison 1 False 80 100 \n",
"\n",
" Defense Sp. Atk Sp. Def Speed Total \n",
"0 49 65 65 45 319.0 \n",
"1 63 80 80 60 406.0 \n",
"2 83 100 100 80 526.0 \n",
"3 123 122 120 80 626.0 "
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['Total'] = df.iloc[:, 4:12].sum(axis=1)\n",
"\n",
"df.head(4)"
]
},
{
"cell_type": "markdown",
"id": "42a542a3",
"metadata": {},
"source": [
"****Sum is 319 instead of 318 because the rows are rearranged therefore adding Legendary column too*"
]
},
{
"cell_type": "markdown",
"id": "3291fda0",
"metadata": {},
"source": [
"- **: means all rows are included**"
]
},
{
"cell_type": "markdown",
"id": "7d0e4763",
"metadata": {},
"source": [
"- **axis = 1 means horizontal summing (for vertical summing axis = 0)**"
]
},
{
"cell_type": "markdown",
"id": "a8bd3ea4",
"metadata": {},
"source": [
"### Rearranging Columns"
]
},
{
"cell_type": "code",
"execution_count": 57,
"id": "04227e01",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" Total | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" Bulbasaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 318 | \n",
" 45 | \n",
" 49 | \n",
" 49 | \n",
" 65 | \n",
" 65 | \n",
" 45 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" Ivysaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 405 | \n",
" 60 | \n",
" 62 | \n",
" 63 | \n",
" 80 | \n",
" 80 | \n",
" 60 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 525 | \n",
" 80 | \n",
" 82 | \n",
" 83 | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" VenusaurMega Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 625 | \n",
" 80 | \n",
" 100 | \n",
" 123 | \n",
" 122 | \n",
" 120 | \n",
" 80 | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" Charmander | \n",
" Fire | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 309 | \n",
" 39 | \n",
" 52 | \n",
" 43 | \n",
" 60 | \n",
" 50 | \n",
" 65 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary Total HP \\\n",
"0 1 Bulbasaur Grass Poison 1 False 318 45 \n",
"1 2 Ivysaur Grass Poison 1 False 405 60 \n",
"2 3 Venusaur Grass Poison 1 False 525 80 \n",
"3 3 VenusaurMega Venusaur Grass Poison 1 False 625 80 \n",
"4 4 Charmander Fire NaN 1 False 309 39 \n",
"\n",
" Attack Defense Sp. Atk Sp. Def Speed \n",
"0 49 49 65 65 45 \n",
"1 62 63 80 80 60 \n",
"2 82 83 100 100 80 \n",
"3 100 123 122 120 80 \n",
"4 52 43 60 50 65 "
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cols = list(df.columns)\n",
"df = df[cols[0:4] + [cols[-1]]+cols[4:12]]\n",
"\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"id": "b232658e",
"metadata": {},
"source": [
"### Deleting Columns"
]
},
{
"cell_type": "code",
"execution_count": 65,
"id": "4e05ad1c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" Bulbasaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 45 | \n",
" 49 | \n",
" 49 | \n",
" 65 | \n",
" 65 | \n",
" 45 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" Ivysaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 60 | \n",
" 62 | \n",
" 63 | \n",
" 80 | \n",
" 80 | \n",
" 60 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 82 | \n",
" 83 | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" VenusaurMega Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 100 | \n",
" 123 | \n",
" 122 | \n",
" 120 | \n",
" 80 | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" Charmander | \n",
" Fire | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 39 | \n",
" 52 | \n",
" 43 | \n",
" 60 | \n",
" 50 | \n",
" 65 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary HP Attack \\\n",
"0 1 Bulbasaur Grass Poison 1 False 45 49 \n",
"1 2 Ivysaur Grass Poison 1 False 60 62 \n",
"2 3 Venusaur Grass Poison 1 False 80 82 \n",
"3 3 VenusaurMega Venusaur Grass Poison 1 False 80 100 \n",
"4 4 Charmander Fire NaN 1 False 39 52 \n",
"\n",
" Defense Sp. Atk Sp. Def Speed \n",
"0 49 65 65 45 \n",
"1 63 80 80 60 \n",
"2 83 100 100 80 \n",
"3 123 122 120 80 \n",
"4 43 60 50 65 "
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df.drop(columns=['Total'])\n",
" \n",
"df.head()"
]
},
{
"cell_type": "markdown",
"id": "c0e5781c",
"metadata": {},
"source": [
"# Saving our Data (Exporting into Desired Format)"
]
},
{
"cell_type": "code",
"execution_count": 73,
"id": "38d1d4f8",
"metadata": {},
"outputs": [],
"source": [
"Saving as CSV\n",
"df.to_csv('modified_pokemon.csv', index = False)\n",
"\n",
"#Saving as Excel\n",
"#df.to_excel('modified_pokemon.csv', index = False)\n",
"\n",
"#Saving as TXT\n",
"#df.to_csv('modified_pokemon.csv', index = False, sep = '\\t')"
]
},
{
"cell_type": "markdown",
"id": "4d25216b",
"metadata": {},
"source": [
"# Filtering Data"
]
},
{
"cell_type": "code",
"execution_count": 83,
"id": "3d8ec922",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" \n",
" \n",
" 94 | \n",
" 87 | \n",
" Dewgong | \n",
" Water | \n",
" Ice | \n",
" 1 | \n",
" False | \n",
" 90 | \n",
" 70 | \n",
" 80 | \n",
" 70 | \n",
" 95 | \n",
" 70 | \n",
" 475 | \n",
"
\n",
" \n",
" 98 | \n",
" 91 | \n",
" Cloyster | \n",
" Water | \n",
" Ice | \n",
" 1 | \n",
" False | \n",
" 50 | \n",
" 95 | \n",
" 180 | \n",
" 85 | \n",
" 45 | \n",
" 70 | \n",
" 525 | \n",
"
\n",
" \n",
" 142 | \n",
" 131 | \n",
" Lapras | \n",
" Water | \n",
" Ice | \n",
" 1 | \n",
" False | \n",
" 130 | \n",
" 85 | \n",
" 80 | \n",
" 85 | \n",
" 95 | \n",
" 60 | \n",
" 535 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary HP Attack Defense \\\n",
"94 87 Dewgong Water Ice 1 False 90 70 80 \n",
"98 91 Cloyster Water Ice 1 False 50 95 180 \n",
"142 131 Lapras Water Ice 1 False 130 85 80 \n",
"\n",
" Sp. Atk Sp. Def Speed Total \n",
"94 70 95 70 475 \n",
"98 85 45 70 525 \n",
"142 85 95 60 535 "
]
},
"execution_count": 83,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[(df['Type 1'] == 'Water') & (df['Type 2'] == 'Ice')]"
]
},
{
"cell_type": "code",
"execution_count": 84,
"id": "10c94ddc",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" \n",
" \n",
" 9 | \n",
" 7 | \n",
" Squirtle | \n",
" Water | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 44 | \n",
" 48 | \n",
" 65 | \n",
" 50 | \n",
" 64 | \n",
" 43 | \n",
" 314 | \n",
"
\n",
" \n",
" 10 | \n",
" 8 | \n",
" Wartortle | \n",
" Water | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 59 | \n",
" 63 | \n",
" 80 | \n",
" 65 | \n",
" 80 | \n",
" 58 | \n",
" 405 | \n",
"
\n",
" \n",
" 11 | \n",
" 9 | \n",
" Blastoise | \n",
" Water | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 79 | \n",
" 83 | \n",
" 100 | \n",
" 85 | \n",
" 105 | \n",
" 78 | \n",
" 530 | \n",
"
\n",
" \n",
" 12 | \n",
" 9 | \n",
" BlastoiseMega Blastoise | \n",
" Water | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 79 | \n",
" 103 | \n",
" 120 | \n",
" 135 | \n",
" 115 | \n",
" 78 | \n",
" 630 | \n",
"
\n",
" \n",
" 59 | \n",
" 54 | \n",
" Psyduck | \n",
" Water | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 50 | \n",
" 52 | \n",
" 48 | \n",
" 65 | \n",
" 50 | \n",
" 55 | \n",
" 320 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 726 | \n",
" 658 | \n",
" Greninja | \n",
" Water | \n",
" Dark | \n",
" 6 | \n",
" False | \n",
" 72 | \n",
" 95 | \n",
" 67 | \n",
" 103 | \n",
" 71 | \n",
" 122 | \n",
" 530 | \n",
"
\n",
" \n",
" 762 | \n",
" 692 | \n",
" Clauncher | \n",
" Water | \n",
" NaN | \n",
" 6 | \n",
" False | \n",
" 50 | \n",
" 53 | \n",
" 62 | \n",
" 58 | \n",
" 63 | \n",
" 44 | \n",
" 330 | \n",
"
\n",
" \n",
" 763 | \n",
" 693 | \n",
" Clawitzer | \n",
" Water | \n",
" NaN | \n",
" 6 | \n",
" False | \n",
" 71 | \n",
" 73 | \n",
" 88 | \n",
" 120 | \n",
" 89 | \n",
" 59 | \n",
" 500 | \n",
"
\n",
" \n",
" 768 | \n",
" 698 | \n",
" Amaura | \n",
" Rock | \n",
" Ice | \n",
" 6 | \n",
" False | \n",
" 77 | \n",
" 59 | \n",
" 50 | \n",
" 67 | \n",
" 63 | \n",
" 46 | \n",
" 362 | \n",
"
\n",
" \n",
" 769 | \n",
" 699 | \n",
" Aurorus | \n",
" Rock | \n",
" Ice | \n",
" 6 | \n",
" False | \n",
" 123 | \n",
" 77 | \n",
" 72 | \n",
" 99 | \n",
" 92 | \n",
" 58 | \n",
" 521 | \n",
"
\n",
" \n",
"
\n",
"
123 rows × 13 columns
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary HP \\\n",
"9 7 Squirtle Water NaN 1 False 44 \n",
"10 8 Wartortle Water NaN 1 False 59 \n",
"11 9 Blastoise Water NaN 1 False 79 \n",
"12 9 BlastoiseMega Blastoise Water NaN 1 False 79 \n",
"59 54 Psyduck Water NaN 1 False 50 \n",
".. ... ... ... ... ... ... ... \n",
"726 658 Greninja Water Dark 6 False 72 \n",
"762 692 Clauncher Water NaN 6 False 50 \n",
"763 693 Clawitzer Water NaN 6 False 71 \n",
"768 698 Amaura Rock Ice 6 False 77 \n",
"769 699 Aurorus Rock Ice 6 False 123 \n",
"\n",
" Attack Defense Sp. Atk Sp. Def Speed Total \n",
"9 48 65 50 64 43 314 \n",
"10 63 80 65 80 58 405 \n",
"11 83 100 85 105 78 530 \n",
"12 103 120 135 115 78 630 \n",
"59 52 48 65 50 55 320 \n",
".. ... ... ... ... ... ... \n",
"726 95 67 103 71 122 530 \n",
"762 53 62 58 63 44 330 \n",
"763 73 88 120 89 59 500 \n",
"768 59 50 67 63 46 362 \n",
"769 77 72 99 92 58 521 \n",
"\n",
"[123 rows x 13 columns]"
]
},
"execution_count": 84,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[(df['Type 1'] == 'Water') | (df['Type 2'] == 'Ice')]"
]
},
{
"cell_type": "code",
"execution_count": 114,
"id": "98f26d34",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" # Name Type 1 Type 2 Generation Legendary HP \\\n",
"0 124 Jynx Ice Psychic 1 False 65 \n",
"1 144 Articuno Ice Flying 1 True 90 \n",
"2 220 Swinub Ice Ground 2 False 50 \n",
"3 221 Piloswine Ice Ground 2 False 100 \n",
"4 225 Delibird Ice Flying 2 False 45 \n",
"5 238 Smoochum Ice Psychic 2 False 45 \n",
"6 361 Snorunt Ice NaN 3 False 50 \n",
"7 362 Glalie Ice NaN 3 False 80 \n",
"8 362 GlalieMega Glalie Ice NaN 3 False 80 \n",
"9 363 Spheal Ice Water 3 False 70 \n",
"10 364 Sealeo Ice Water 3 False 90 \n",
"11 365 Walrein Ice Water 3 False 110 \n",
"12 378 Regice Ice NaN 3 True 80 \n",
"13 471 Glaceon Ice NaN 4 False 65 \n",
"14 473 Mamoswine Ice Ground 4 False 110 \n",
"15 478 Froslass Ice Ghost 4 False 70 \n",
"16 582 Vanillite Ice NaN 5 False 36 \n",
"17 583 Vanillish Ice NaN 5 False 51 \n",
"18 584 Vanilluxe Ice NaN 5 False 71 \n",
"19 613 Cubchoo Ice NaN 5 False 55 \n",
"20 614 Beartic Ice NaN 5 False 95 \n",
"21 615 Cryogonal Ice NaN 5 False 70 \n",
"22 712 Bergmite Ice NaN 6 False 55 \n",
"23 713 Avalugg Ice NaN 6 False 95 \n",
"\n",
" Attack Defense Sp. Atk Sp. Def Speed Total \n",
"0 50 35 115 95 95 455 \n",
"1 85 100 95 125 85 580 \n",
"2 50 40 30 30 50 250 \n",
"3 100 80 60 60 50 450 \n",
"4 55 45 65 45 75 330 \n",
"5 30 15 85 65 65 305 \n",
"6 50 50 50 50 50 300 \n",
"7 80 80 80 80 80 480 \n",
"8 120 80 120 80 100 580 \n",
"9 40 50 55 50 25 290 \n",
"10 60 70 75 70 45 410 \n",
"11 80 90 95 90 65 530 \n",
"12 50 100 100 200 50 580 \n",
"13 60 110 130 95 65 525 \n",
"14 130 80 70 60 80 530 \n",
"15 80 70 80 70 110 480 \n",
"16 50 50 65 60 44 305 \n",
"17 65 65 80 75 59 395 \n",
"18 95 85 110 95 79 535 \n",
"19 70 40 60 40 40 305 \n",
"20 110 80 70 80 50 485 \n",
"21 50 30 95 135 105 485 \n",
"22 69 85 32 35 28 304 \n",
"23 117 184 44 46 28 514 \n"
]
}
],
"source": [
"new_df = df.loc[(df['Type 1'] == 'Ice') | (df['Speed'] > 50) & (df['Type 2'] == 'NaN' )]\n",
"\n",
"new_df = new_df.reset_index(drop = True)\n",
"\n",
"print(new_df)"
]
},
{
"cell_type": "markdown",
"id": "29ab16d1",
"metadata": {},
"source": [
"- **Reset_index = starts a new index from 1**"
]
},
{
"cell_type": "markdown",
"id": "0a7b0f47",
"metadata": {},
"source": [
"- **drop = removes the old index from the data frame**"
]
},
{
"cell_type": "code",
"execution_count": 117,
"id": "7000db64",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" Bulbasaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 45 | \n",
" 49 | \n",
" 49 | \n",
" 65 | \n",
" 65 | \n",
" 45 | \n",
" 318 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" Ivysaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 60 | \n",
" 62 | \n",
" 63 | \n",
" 80 | \n",
" 80 | \n",
" 60 | \n",
" 405 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 82 | \n",
" 83 | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
" 525 | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" Charmander | \n",
" Fire | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 39 | \n",
" 52 | \n",
" 43 | \n",
" 60 | \n",
" 50 | \n",
" 65 | \n",
" 309 | \n",
"
\n",
" \n",
" 5 | \n",
" 5 | \n",
" Charmeleon | \n",
" Fire | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 58 | \n",
" 64 | \n",
" 58 | \n",
" 80 | \n",
" 65 | \n",
" 80 | \n",
" 405 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 794 | \n",
" 718 | \n",
" Zygarde50% Forme | \n",
" Dragon | \n",
" Ground | \n",
" 6 | \n",
" True | \n",
" 108 | \n",
" 100 | \n",
" 121 | \n",
" 81 | \n",
" 95 | \n",
" 95 | \n",
" 600 | \n",
"
\n",
" \n",
" 795 | \n",
" 719 | \n",
" Diancie | \n",
" Rock | \n",
" Fairy | \n",
" 6 | \n",
" True | \n",
" 50 | \n",
" 100 | \n",
" 150 | \n",
" 100 | \n",
" 150 | \n",
" 50 | \n",
" 600 | \n",
"
\n",
" \n",
" 797 | \n",
" 720 | \n",
" HoopaHoopa Confined | \n",
" Psychic | \n",
" Ghost | \n",
" 6 | \n",
" True | \n",
" 80 | \n",
" 110 | \n",
" 60 | \n",
" 150 | \n",
" 130 | \n",
" 70 | \n",
" 600 | \n",
"
\n",
" \n",
" 798 | \n",
" 720 | \n",
" HoopaHoopa Unbound | \n",
" Psychic | \n",
" Dark | \n",
" 6 | \n",
" True | \n",
" 80 | \n",
" 160 | \n",
" 60 | \n",
" 170 | \n",
" 130 | \n",
" 80 | \n",
" 680 | \n",
"
\n",
" \n",
" 799 | \n",
" 721 | \n",
" Volcanion | \n",
" Fire | \n",
" Water | \n",
" 6 | \n",
" True | \n",
" 80 | \n",
" 110 | \n",
" 120 | \n",
" 130 | \n",
" 90 | \n",
" 70 | \n",
" 600 | \n",
"
\n",
" \n",
"
\n",
"
751 rows × 13 columns
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary HP \\\n",
"0 1 Bulbasaur Grass Poison 1 False 45 \n",
"1 2 Ivysaur Grass Poison 1 False 60 \n",
"2 3 Venusaur Grass Poison 1 False 80 \n",
"4 4 Charmander Fire NaN 1 False 39 \n",
"5 5 Charmeleon Fire NaN 1 False 58 \n",
".. ... ... ... ... ... ... ... \n",
"794 718 Zygarde50% Forme Dragon Ground 6 True 108 \n",
"795 719 Diancie Rock Fairy 6 True 50 \n",
"797 720 HoopaHoopa Confined Psychic Ghost 6 True 80 \n",
"798 720 HoopaHoopa Unbound Psychic Dark 6 True 80 \n",
"799 721 Volcanion Fire Water 6 True 80 \n",
"\n",
" Attack Defense Sp. Atk Sp. Def Speed Total \n",
"0 49 49 65 65 45 318 \n",
"1 62 63 80 80 60 405 \n",
"2 82 83 100 100 80 525 \n",
"4 52 43 60 50 65 309 \n",
"5 64 58 80 65 80 405 \n",
".. ... ... ... ... ... ... \n",
"794 100 121 81 95 95 600 \n",
"795 100 150 100 150 50 600 \n",
"797 110 60 150 130 70 600 \n",
"798 160 60 170 130 80 680 \n",
"799 110 120 130 90 70 600 \n",
"\n",
"[751 rows x 13 columns]"
]
},
"execution_count": 117,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[~df['Name'].str.contains('Mega')]"
]
},
{
"cell_type": "markdown",
"id": "b9e7a298",
"metadata": {},
"source": [
"- **~ means removal of the filtered data after it's usage**"
]
},
{
"cell_type": "markdown",
"id": "88dd92c1",
"metadata": {},
"source": [
"# Regex Filtering"
]
},
{
"cell_type": "code",
"execution_count": 121,
"id": "c46a12c1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" Bulbasaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 45 | \n",
" 49 | \n",
" 49 | \n",
" 65 | \n",
" 65 | \n",
" 45 | \n",
" 318 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" Ivysaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 60 | \n",
" 62 | \n",
" 63 | \n",
" 80 | \n",
" 80 | \n",
" 60 | \n",
" 405 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 82 | \n",
" 83 | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
" 525 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" VenusaurMega Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 100 | \n",
" 123 | \n",
" 122 | \n",
" 120 | \n",
" 80 | \n",
" 625 | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" Charmander | \n",
" Fire | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 39 | \n",
" 52 | \n",
" 43 | \n",
" 60 | \n",
" 50 | \n",
" 65 | \n",
" 309 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 735 | \n",
" 667 | \n",
" Litleo | \n",
" Fire | \n",
" Normal | \n",
" 6 | \n",
" False | \n",
" 62 | \n",
" 50 | \n",
" 58 | \n",
" 73 | \n",
" 54 | \n",
" 72 | \n",
" 369 | \n",
"
\n",
" \n",
" 736 | \n",
" 668 | \n",
" Pyroar | \n",
" Fire | \n",
" Normal | \n",
" 6 | \n",
" False | \n",
" 86 | \n",
" 68 | \n",
" 72 | \n",
" 109 | \n",
" 66 | \n",
" 106 | \n",
" 507 | \n",
"
\n",
" \n",
" 740 | \n",
" 672 | \n",
" Skiddo | \n",
" Grass | \n",
" NaN | \n",
" 6 | \n",
" False | \n",
" 66 | \n",
" 65 | \n",
" 48 | \n",
" 62 | \n",
" 57 | \n",
" 52 | \n",
" 350 | \n",
"
\n",
" \n",
" 741 | \n",
" 673 | \n",
" Gogoat | \n",
" Grass | \n",
" NaN | \n",
" 6 | \n",
" False | \n",
" 123 | \n",
" 100 | \n",
" 62 | \n",
" 97 | \n",
" 81 | \n",
" 68 | \n",
" 531 | \n",
"
\n",
" \n",
" 799 | \n",
" 721 | \n",
" Volcanion | \n",
" Fire | \n",
" Water | \n",
" 6 | \n",
" True | \n",
" 80 | \n",
" 110 | \n",
" 120 | \n",
" 130 | \n",
" 90 | \n",
" 70 | \n",
" 600 | \n",
"
\n",
" \n",
"
\n",
"
122 rows × 13 columns
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary HP \\\n",
"0 1 Bulbasaur Grass Poison 1 False 45 \n",
"1 2 Ivysaur Grass Poison 1 False 60 \n",
"2 3 Venusaur Grass Poison 1 False 80 \n",
"3 3 VenusaurMega Venusaur Grass Poison 1 False 80 \n",
"4 4 Charmander Fire NaN 1 False 39 \n",
".. ... ... ... ... ... ... ... \n",
"735 667 Litleo Fire Normal 6 False 62 \n",
"736 668 Pyroar Fire Normal 6 False 86 \n",
"740 672 Skiddo Grass NaN 6 False 66 \n",
"741 673 Gogoat Grass NaN 6 False 123 \n",
"799 721 Volcanion Fire Water 6 True 80 \n",
"\n",
" Attack Defense Sp. Atk Sp. Def Speed Total \n",
"0 49 49 65 65 45 318 \n",
"1 62 63 80 80 60 405 \n",
"2 82 83 100 100 80 525 \n",
"3 100 123 122 120 80 625 \n",
"4 52 43 60 50 65 309 \n",
".. ... ... ... ... ... ... \n",
"735 50 58 73 54 72 369 \n",
"736 68 72 109 66 106 507 \n",
"740 65 48 62 57 52 350 \n",
"741 100 62 97 81 68 531 \n",
"799 110 120 130 90 70 600 \n",
"\n",
"[122 rows x 13 columns]"
]
},
"execution_count": 121,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import re\n",
"\n",
"df.loc[df['Type 1'].str.contains('Fire|Grass', regex = True)]"
]
},
{
"cell_type": "markdown",
"id": "ae891037",
"metadata": {},
"source": [
"- **regex means that regular expressions are used in the script**"
]
},
{
"cell_type": "markdown",
"id": "72e7ad05",
"metadata": {},
"source": [
"- **'Fire|Grass' is very Case-sensetive**"
]
},
{
"cell_type": "code",
"execution_count": 122,
"id": "24a59e65",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" Bulbasaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 45 | \n",
" 49 | \n",
" 49 | \n",
" 65 | \n",
" 65 | \n",
" 45 | \n",
" 318 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" Ivysaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 60 | \n",
" 62 | \n",
" 63 | \n",
" 80 | \n",
" 80 | \n",
" 60 | \n",
" 405 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 82 | \n",
" 83 | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
" 525 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" VenusaurMega Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 100 | \n",
" 123 | \n",
" 122 | \n",
" 120 | \n",
" 80 | \n",
" 625 | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" Charmander | \n",
" Fire | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 39 | \n",
" 52 | \n",
" 43 | \n",
" 60 | \n",
" 50 | \n",
" 65 | \n",
" 309 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 735 | \n",
" 667 | \n",
" Litleo | \n",
" Fire | \n",
" Normal | \n",
" 6 | \n",
" False | \n",
" 62 | \n",
" 50 | \n",
" 58 | \n",
" 73 | \n",
" 54 | \n",
" 72 | \n",
" 369 | \n",
"
\n",
" \n",
" 736 | \n",
" 668 | \n",
" Pyroar | \n",
" Fire | \n",
" Normal | \n",
" 6 | \n",
" False | \n",
" 86 | \n",
" 68 | \n",
" 72 | \n",
" 109 | \n",
" 66 | \n",
" 106 | \n",
" 507 | \n",
"
\n",
" \n",
" 740 | \n",
" 672 | \n",
" Skiddo | \n",
" Grass | \n",
" NaN | \n",
" 6 | \n",
" False | \n",
" 66 | \n",
" 65 | \n",
" 48 | \n",
" 62 | \n",
" 57 | \n",
" 52 | \n",
" 350 | \n",
"
\n",
" \n",
" 741 | \n",
" 673 | \n",
" Gogoat | \n",
" Grass | \n",
" NaN | \n",
" 6 | \n",
" False | \n",
" 123 | \n",
" 100 | \n",
" 62 | \n",
" 97 | \n",
" 81 | \n",
" 68 | \n",
" 531 | \n",
"
\n",
" \n",
" 799 | \n",
" 721 | \n",
" Volcanion | \n",
" Fire | \n",
" Water | \n",
" 6 | \n",
" True | \n",
" 80 | \n",
" 110 | \n",
" 120 | \n",
" 130 | \n",
" 90 | \n",
" 70 | \n",
" 600 | \n",
"
\n",
" \n",
"
\n",
"
122 rows × 13 columns
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary HP \\\n",
"0 1 Bulbasaur Grass Poison 1 False 45 \n",
"1 2 Ivysaur Grass Poison 1 False 60 \n",
"2 3 Venusaur Grass Poison 1 False 80 \n",
"3 3 VenusaurMega Venusaur Grass Poison 1 False 80 \n",
"4 4 Charmander Fire NaN 1 False 39 \n",
".. ... ... ... ... ... ... ... \n",
"735 667 Litleo Fire Normal 6 False 62 \n",
"736 668 Pyroar Fire Normal 6 False 86 \n",
"740 672 Skiddo Grass NaN 6 False 66 \n",
"741 673 Gogoat Grass NaN 6 False 123 \n",
"799 721 Volcanion Fire Water 6 True 80 \n",
"\n",
" Attack Defense Sp. Atk Sp. Def Speed Total \n",
"0 49 49 65 65 45 318 \n",
"1 62 63 80 80 60 405 \n",
"2 82 83 100 100 80 525 \n",
"3 100 123 122 120 80 625 \n",
"4 52 43 60 50 65 309 \n",
".. ... ... ... ... ... ... \n",
"735 50 58 73 54 72 369 \n",
"736 68 72 109 66 106 507 \n",
"740 65 48 62 57 52 350 \n",
"741 100 62 97 81 68 531 \n",
"799 110 120 130 90 70 600 \n",
"\n",
"[122 rows x 13 columns]"
]
},
"execution_count": 122,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[df['Type 1'].str.contains('fire|grass', flags = re.I, regex = True)]"
]
},
{
"cell_type": "markdown",
"id": "6750e7be",
"metadata": {},
"source": [
"- **'flags = re.I' ignores the Case of the Data**"
]
},
{
"cell_type": "code",
"execution_count": 125,
"id": "53961378",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" \n",
" \n",
" 20 | \n",
" 16 | \n",
" Pidgey | \n",
" Normal | \n",
" Flying | \n",
" 1 | \n",
" False | \n",
" 40 | \n",
" 45 | \n",
" 40 | \n",
" 35 | \n",
" 35 | \n",
" 56 | \n",
" 251 | \n",
"
\n",
" \n",
" 21 | \n",
" 17 | \n",
" Pidgeotto | \n",
" Normal | \n",
" Flying | \n",
" 1 | \n",
" False | \n",
" 63 | \n",
" 60 | \n",
" 55 | \n",
" 50 | \n",
" 50 | \n",
" 71 | \n",
" 349 | \n",
"
\n",
" \n",
" 22 | \n",
" 18 | \n",
" Pidgeot | \n",
" Normal | \n",
" Flying | \n",
" 1 | \n",
" False | \n",
" 83 | \n",
" 80 | \n",
" 75 | \n",
" 70 | \n",
" 70 | \n",
" 101 | \n",
" 479 | \n",
"
\n",
" \n",
" 23 | \n",
" 18 | \n",
" PidgeotMega Pidgeot | \n",
" Normal | \n",
" Flying | \n",
" 1 | \n",
" False | \n",
" 83 | \n",
" 80 | \n",
" 80 | \n",
" 135 | \n",
" 80 | \n",
" 121 | \n",
" 579 | \n",
"
\n",
" \n",
" 30 | \n",
" 25 | \n",
" Pikachu | \n",
" Electric | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 35 | \n",
" 55 | \n",
" 40 | \n",
" 50 | \n",
" 50 | \n",
" 90 | \n",
" 320 | \n",
"
\n",
" \n",
" 136 | \n",
" 127 | \n",
" Pinsir | \n",
" Bug | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 65 | \n",
" 125 | \n",
" 100 | \n",
" 55 | \n",
" 70 | \n",
" 85 | \n",
" 500 | \n",
"
\n",
" \n",
" 137 | \n",
" 127 | \n",
" PinsirMega Pinsir | \n",
" Bug | \n",
" Flying | \n",
" 1 | \n",
" False | \n",
" 65 | \n",
" 155 | \n",
" 120 | \n",
" 65 | \n",
" 90 | \n",
" 105 | \n",
" 600 | \n",
"
\n",
" \n",
" 186 | \n",
" 172 | \n",
" Pichu | \n",
" Electric | \n",
" NaN | \n",
" 2 | \n",
" False | \n",
" 20 | \n",
" 40 | \n",
" 15 | \n",
" 35 | \n",
" 35 | \n",
" 60 | \n",
" 205 | \n",
"
\n",
" \n",
" 219 | \n",
" 204 | \n",
" Pineco | \n",
" Bug | \n",
" NaN | \n",
" 2 | \n",
" False | \n",
" 50 | \n",
" 65 | \n",
" 90 | \n",
" 35 | \n",
" 35 | \n",
" 15 | \n",
" 290 | \n",
"
\n",
" \n",
" 239 | \n",
" 221 | \n",
" Piloswine | \n",
" Ice | \n",
" Ground | \n",
" 2 | \n",
" False | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
" 60 | \n",
" 60 | \n",
" 50 | \n",
" 450 | \n",
"
\n",
" \n",
" 438 | \n",
" 393 | \n",
" Piplup | \n",
" Water | \n",
" NaN | \n",
" 4 | \n",
" False | \n",
" 53 | \n",
" 51 | \n",
" 53 | \n",
" 61 | \n",
" 56 | \n",
" 40 | \n",
" 314 | \n",
"
\n",
" \n",
" 558 | \n",
" 499 | \n",
" Pignite | \n",
" Fire | \n",
" Fighting | \n",
" 5 | \n",
" False | \n",
" 90 | \n",
" 93 | \n",
" 55 | \n",
" 70 | \n",
" 55 | \n",
" 55 | \n",
" 418 | \n",
"
\n",
" \n",
" 578 | \n",
" 519 | \n",
" Pidove | \n",
" Normal | \n",
" Flying | \n",
" 5 | \n",
" False | \n",
" 50 | \n",
" 55 | \n",
" 50 | \n",
" 36 | \n",
" 30 | \n",
" 43 | \n",
" 264 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary HP \\\n",
"20 16 Pidgey Normal Flying 1 False 40 \n",
"21 17 Pidgeotto Normal Flying 1 False 63 \n",
"22 18 Pidgeot Normal Flying 1 False 83 \n",
"23 18 PidgeotMega Pidgeot Normal Flying 1 False 83 \n",
"30 25 Pikachu Electric NaN 1 False 35 \n",
"136 127 Pinsir Bug NaN 1 False 65 \n",
"137 127 PinsirMega Pinsir Bug Flying 1 False 65 \n",
"186 172 Pichu Electric NaN 2 False 20 \n",
"219 204 Pineco Bug NaN 2 False 50 \n",
"239 221 Piloswine Ice Ground 2 False 100 \n",
"438 393 Piplup Water NaN 4 False 53 \n",
"558 499 Pignite Fire Fighting 5 False 90 \n",
"578 519 Pidove Normal Flying 5 False 50 \n",
"\n",
" Attack Defense Sp. Atk Sp. Def Speed Total \n",
"20 45 40 35 35 56 251 \n",
"21 60 55 50 50 71 349 \n",
"22 80 75 70 70 101 479 \n",
"23 80 80 135 80 121 579 \n",
"30 55 40 50 50 90 320 \n",
"136 125 100 55 70 85 500 \n",
"137 155 120 65 90 105 600 \n",
"186 40 15 35 35 60 205 \n",
"219 65 90 35 35 15 290 \n",
"239 100 80 60 60 50 450 \n",
"438 51 53 61 56 40 314 \n",
"558 93 55 70 55 55 418 \n",
"578 55 50 36 30 43 264 "
]
},
"execution_count": 125,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[df['Name'].str.contains('^pi[a-z]*', flags = re.I, regex = True)]"
]
},
{
"cell_type": "markdown",
"id": "3d6a21b0",
"metadata": {},
"source": [
"# Conditional Changes"
]
},
{
"cell_type": "code",
"execution_count": 132,
"id": "bdea1c3c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" Bulbasaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 45 | \n",
" 49 | \n",
" 49 | \n",
" 65 | \n",
" 65 | \n",
" 45 | \n",
" 318 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" Ivysaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 60 | \n",
" 62 | \n",
" 63 | \n",
" 80 | \n",
" 80 | \n",
" 60 | \n",
" 405 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 82 | \n",
" 83 | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
" 525 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" VenusaurMega Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 100 | \n",
" 123 | \n",
" 122 | \n",
" 120 | \n",
" 80 | \n",
" 625 | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" Charmander | \n",
" Flamer | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 39 | \n",
" 52 | \n",
" 43 | \n",
" 60 | \n",
" 50 | \n",
" 65 | \n",
" 309 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 795 | \n",
" 719 | \n",
" Diancie | \n",
" Rock | \n",
" Fairy | \n",
" 6 | \n",
" True | \n",
" 50 | \n",
" 100 | \n",
" 150 | \n",
" 100 | \n",
" 150 | \n",
" 50 | \n",
" 600 | \n",
"
\n",
" \n",
" 796 | \n",
" 719 | \n",
" DiancieMega Diancie | \n",
" Rock | \n",
" Fairy | \n",
" 6 | \n",
" True | \n",
" 50 | \n",
" 160 | \n",
" 110 | \n",
" 160 | \n",
" 110 | \n",
" 110 | \n",
" 700 | \n",
"
\n",
" \n",
" 797 | \n",
" 720 | \n",
" HoopaHoopa Confined | \n",
" Psychic | \n",
" Ghost | \n",
" 6 | \n",
" True | \n",
" 80 | \n",
" 110 | \n",
" 60 | \n",
" 150 | \n",
" 130 | \n",
" 70 | \n",
" 600 | \n",
"
\n",
" \n",
" 798 | \n",
" 720 | \n",
" HoopaHoopa Unbound | \n",
" Psychic | \n",
" Dark | \n",
" 6 | \n",
" True | \n",
" 80 | \n",
" 160 | \n",
" 60 | \n",
" 170 | \n",
" 130 | \n",
" 80 | \n",
" 680 | \n",
"
\n",
" \n",
" 799 | \n",
" 721 | \n",
" Volcanion | \n",
" Flamer | \n",
" Water | \n",
" 6 | \n",
" True | \n",
" 80 | \n",
" 110 | \n",
" 120 | \n",
" 130 | \n",
" 90 | \n",
" 70 | \n",
" 600 | \n",
"
\n",
" \n",
"
\n",
"
800 rows × 13 columns
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary HP \\\n",
"0 1 Bulbasaur Grass Poison 1 False 45 \n",
"1 2 Ivysaur Grass Poison 1 False 60 \n",
"2 3 Venusaur Grass Poison 1 False 80 \n",
"3 3 VenusaurMega Venusaur Grass Poison 1 False 80 \n",
"4 4 Charmander Flamer NaN 1 False 39 \n",
".. ... ... ... ... ... ... .. \n",
"795 719 Diancie Rock Fairy 6 True 50 \n",
"796 719 DiancieMega Diancie Rock Fairy 6 True 50 \n",
"797 720 HoopaHoopa Confined Psychic Ghost 6 True 80 \n",
"798 720 HoopaHoopa Unbound Psychic Dark 6 True 80 \n",
"799 721 Volcanion Flamer Water 6 True 80 \n",
"\n",
" Attack Defense Sp. Atk Sp. Def Speed Total \n",
"0 49 49 65 65 45 318 \n",
"1 62 63 80 80 60 405 \n",
"2 82 83 100 100 80 525 \n",
"3 100 123 122 120 80 625 \n",
"4 52 43 60 50 65 309 \n",
".. ... ... ... ... ... ... \n",
"795 100 150 100 150 50 600 \n",
"796 160 110 160 110 110 700 \n",
"797 110 60 150 130 70 600 \n",
"798 160 60 170 130 80 680 \n",
"799 110 120 130 90 70 600 \n",
"\n",
"[800 rows x 13 columns]"
]
},
"execution_count": 132,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[df['Type 1'] == 'Fire', 'Type 1'] = 'Flamer'\n",
"\n",
"df"
]
},
{
"cell_type": "markdown",
"id": "f5049088",
"metadata": {},
"source": [
"- **This script changes Fire into Flamer and change it back to Fire, we write the following code:**"
]
},
{
"cell_type": "code",
"execution_count": 133,
"id": "aade68a1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" Bulbasaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 45 | \n",
" 49 | \n",
" 49 | \n",
" 65 | \n",
" 65 | \n",
" 45 | \n",
" 318 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" Ivysaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 60 | \n",
" 62 | \n",
" 63 | \n",
" 80 | \n",
" 80 | \n",
" 60 | \n",
" 405 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 82 | \n",
" 83 | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
" 525 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" VenusaurMega Venusaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 80 | \n",
" 100 | \n",
" 123 | \n",
" 122 | \n",
" 120 | \n",
" 80 | \n",
" 625 | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" Charmander | \n",
" Fire | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 39 | \n",
" 52 | \n",
" 43 | \n",
" 60 | \n",
" 50 | \n",
" 65 | \n",
" 309 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 795 | \n",
" 719 | \n",
" Diancie | \n",
" Rock | \n",
" Fairy | \n",
" 6 | \n",
" True | \n",
" 50 | \n",
" 100 | \n",
" 150 | \n",
" 100 | \n",
" 150 | \n",
" 50 | \n",
" 600 | \n",
"
\n",
" \n",
" 796 | \n",
" 719 | \n",
" DiancieMega Diancie | \n",
" Rock | \n",
" Fairy | \n",
" 6 | \n",
" True | \n",
" 50 | \n",
" 160 | \n",
" 110 | \n",
" 160 | \n",
" 110 | \n",
" 110 | \n",
" 700 | \n",
"
\n",
" \n",
" 797 | \n",
" 720 | \n",
" HoopaHoopa Confined | \n",
" Psychic | \n",
" Ghost | \n",
" 6 | \n",
" True | \n",
" 80 | \n",
" 110 | \n",
" 60 | \n",
" 150 | \n",
" 130 | \n",
" 70 | \n",
" 600 | \n",
"
\n",
" \n",
" 798 | \n",
" 720 | \n",
" HoopaHoopa Unbound | \n",
" Psychic | \n",
" Dark | \n",
" 6 | \n",
" True | \n",
" 80 | \n",
" 160 | \n",
" 60 | \n",
" 170 | \n",
" 130 | \n",
" 80 | \n",
" 680 | \n",
"
\n",
" \n",
" 799 | \n",
" 721 | \n",
" Volcanion | \n",
" Fire | \n",
" Water | \n",
" 6 | \n",
" True | \n",
" 80 | \n",
" 110 | \n",
" 120 | \n",
" 130 | \n",
" 90 | \n",
" 70 | \n",
" 600 | \n",
"
\n",
" \n",
"
\n",
"
800 rows × 13 columns
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary HP \\\n",
"0 1 Bulbasaur Grass Poison 1 False 45 \n",
"1 2 Ivysaur Grass Poison 1 False 60 \n",
"2 3 Venusaur Grass Poison 1 False 80 \n",
"3 3 VenusaurMega Venusaur Grass Poison 1 False 80 \n",
"4 4 Charmander Fire NaN 1 False 39 \n",
".. ... ... ... ... ... ... .. \n",
"795 719 Diancie Rock Fairy 6 True 50 \n",
"796 719 DiancieMega Diancie Rock Fairy 6 True 50 \n",
"797 720 HoopaHoopa Confined Psychic Ghost 6 True 80 \n",
"798 720 HoopaHoopa Unbound Psychic Dark 6 True 80 \n",
"799 721 Volcanion Fire Water 6 True 80 \n",
"\n",
" Attack Defense Sp. Atk Sp. Def Speed Total \n",
"0 49 49 65 65 45 318 \n",
"1 62 63 80 80 60 405 \n",
"2 82 83 100 100 80 525 \n",
"3 100 123 122 120 80 625 \n",
"4 52 43 60 50 65 309 \n",
".. ... ... ... ... ... ... \n",
"795 100 150 100 150 50 600 \n",
"796 160 110 160 110 110 700 \n",
"797 110 60 150 130 70 600 \n",
"798 160 60 170 130 80 680 \n",
"799 110 120 130 90 70 600 \n",
"\n",
"[800 rows x 13 columns]"
]
},
"execution_count": 133,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[df['Type 1'] == 'Flamer', 'Type 1'] = 'Fire'\n",
"\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 140,
"id": "62c4458a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Name | \n",
" Type 1 | \n",
" Type 2 | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" Bulbasaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 45 | \n",
" 49 | \n",
" 49 | \n",
" 65 | \n",
" 65 | \n",
" 45 | \n",
" 318 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" Ivysaur | \n",
" Grass | \n",
" Poison | \n",
" 1 | \n",
" False | \n",
" 60 | \n",
" 62 | \n",
" 63 | \n",
" 80 | \n",
" 80 | \n",
" 60 | \n",
" 405 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Venusaur | \n",
" Grass | \n",
" Poison | \n",
" Good | \n",
" Great | \n",
" 80 | \n",
" 82 | \n",
" 83 | \n",
" 100 | \n",
" 100 | \n",
" 80 | \n",
" 525 | \n",
"
\n",
" \n",
" 3 | \n",
" 3 | \n",
" VenusaurMega Venusaur | \n",
" Grass | \n",
" Poison | \n",
" Good | \n",
" Great | \n",
" 80 | \n",
" 100 | \n",
" 123 | \n",
" 122 | \n",
" 120 | \n",
" 80 | \n",
" 625 | \n",
"
\n",
" \n",
" 4 | \n",
" 4 | \n",
" Charmander | \n",
" Fire | \n",
" NaN | \n",
" 1 | \n",
" False | \n",
" 39 | \n",
" 52 | \n",
" 43 | \n",
" 60 | \n",
" 50 | \n",
" 65 | \n",
" 309 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 795 | \n",
" 719 | \n",
" Diancie | \n",
" Rock | \n",
" Fairy | \n",
" Good | \n",
" Great | \n",
" 50 | \n",
" 100 | \n",
" 150 | \n",
" 100 | \n",
" 150 | \n",
" 50 | \n",
" 600 | \n",
"
\n",
" \n",
" 796 | \n",
" 719 | \n",
" DiancieMega Diancie | \n",
" Rock | \n",
" Fairy | \n",
" Good | \n",
" Great | \n",
" 50 | \n",
" 160 | \n",
" 110 | \n",
" 160 | \n",
" 110 | \n",
" 110 | \n",
" 700 | \n",
"
\n",
" \n",
" 797 | \n",
" 720 | \n",
" HoopaHoopa Confined | \n",
" Psychic | \n",
" Ghost | \n",
" Good | \n",
" Great | \n",
" 80 | \n",
" 110 | \n",
" 60 | \n",
" 150 | \n",
" 130 | \n",
" 70 | \n",
" 600 | \n",
"
\n",
" \n",
" 798 | \n",
" 720 | \n",
" HoopaHoopa Unbound | \n",
" Psychic | \n",
" Dark | \n",
" Good | \n",
" Great | \n",
" 80 | \n",
" 160 | \n",
" 60 | \n",
" 170 | \n",
" 130 | \n",
" 80 | \n",
" 680 | \n",
"
\n",
" \n",
" 799 | \n",
" 721 | \n",
" Volcanion | \n",
" Fire | \n",
" Water | \n",
" Good | \n",
" Great | \n",
" 80 | \n",
" 110 | \n",
" 120 | \n",
" 130 | \n",
" 90 | \n",
" 70 | \n",
" 600 | \n",
"
\n",
" \n",
"
\n",
"
800 rows × 13 columns
\n",
"
"
],
"text/plain": [
" # Name Type 1 Type 2 Generation Legendary HP \\\n",
"0 1 Bulbasaur Grass Poison 1 False 45 \n",
"1 2 Ivysaur Grass Poison 1 False 60 \n",
"2 3 Venusaur Grass Poison Good Great 80 \n",
"3 3 VenusaurMega Venusaur Grass Poison Good Great 80 \n",
"4 4 Charmander Fire NaN 1 False 39 \n",
".. ... ... ... ... ... ... .. \n",
"795 719 Diancie Rock Fairy Good Great 50 \n",
"796 719 DiancieMega Diancie Rock Fairy Good Great 50 \n",
"797 720 HoopaHoopa Confined Psychic Ghost Good Great 80 \n",
"798 720 HoopaHoopa Unbound Psychic Dark Good Great 80 \n",
"799 721 Volcanion Fire Water Good Great 80 \n",
"\n",
" Attack Defense Sp. Atk Sp. Def Speed Total \n",
"0 49 49 65 65 45 318 \n",
"1 62 63 80 80 60 405 \n",
"2 82 83 100 100 80 525 \n",
"3 100 123 122 120 80 625 \n",
"4 52 43 60 50 65 309 \n",
".. ... ... ... ... ... ... \n",
"795 100 150 100 150 50 600 \n",
"796 160 110 160 110 110 700 \n",
"797 110 60 150 130 70 600 \n",
"798 160 60 170 130 80 680 \n",
"799 110 120 130 90 70 600 \n",
"\n",
"[800 rows x 13 columns]"
]
},
"execution_count": 140,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[df['Total'] > 500, ['Generation', 'Legendary']] = ['Good', 'Great']\n",
"\n",
"df"
]
},
{
"cell_type": "markdown",
"id": "bccfed52",
"metadata": {},
"source": [
"# Aggregated Statistics (Group By)"
]
},
{
"cell_type": "code",
"execution_count": 146,
"id": "b345e88e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" Type 1 | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" Dragon | \n",
" 474.375000 | \n",
" 3.875000 | \n",
" 0.375000 | \n",
" 83.312500 | \n",
" 112.125000 | \n",
" 86.375000 | \n",
" 96.843750 | \n",
" 88.843750 | \n",
" 83.031250 | \n",
" 550.531250 | \n",
"
\n",
" \n",
" Normal | \n",
" 319.173469 | \n",
" 3.051020 | \n",
" 0.020408 | \n",
" 77.275510 | \n",
" 73.469388 | \n",
" 59.846939 | \n",
" 55.816327 | \n",
" 63.724490 | \n",
" 71.551020 | \n",
" 401.683673 | \n",
"
\n",
" \n",
" Fairy | \n",
" 449.529412 | \n",
" 4.117647 | \n",
" 0.058824 | \n",
" 74.117647 | \n",
" 61.529412 | \n",
" 65.705882 | \n",
" 78.529412 | \n",
" 84.705882 | \n",
" 48.588235 | \n",
" 413.176471 | \n",
"
\n",
" \n",
" Ground | \n",
" 356.281250 | \n",
" 3.156250 | \n",
" 0.125000 | \n",
" 73.781250 | \n",
" 95.750000 | \n",
" 84.843750 | \n",
" 56.468750 | \n",
" 62.750000 | \n",
" 63.906250 | \n",
" 437.500000 | \n",
"
\n",
" \n",
" Water | \n",
" 303.089286 | \n",
" 2.857143 | \n",
" 0.035714 | \n",
" 72.062500 | \n",
" 74.151786 | \n",
" 72.946429 | \n",
" 74.812500 | \n",
" 70.517857 | \n",
" 65.964286 | \n",
" 430.455357 | \n",
"
\n",
" \n",
" Ice | \n",
" 423.541667 | \n",
" 3.541667 | \n",
" 0.083333 | \n",
" 72.000000 | \n",
" 72.750000 | \n",
" 71.416667 | \n",
" 77.541667 | \n",
" 76.291667 | \n",
" 63.458333 | \n",
" 433.458333 | \n",
"
\n",
" \n",
" Flying | \n",
" 677.750000 | \n",
" 5.500000 | \n",
" 0.500000 | \n",
" 70.750000 | \n",
" 78.750000 | \n",
" 66.250000 | \n",
" 94.250000 | \n",
" 72.500000 | \n",
" 102.500000 | \n",
" 485.000000 | \n",
"
\n",
" \n",
" Psychic | \n",
" 380.807018 | \n",
" 3.385965 | \n",
" 0.245614 | \n",
" 70.631579 | \n",
" 71.456140 | \n",
" 67.684211 | \n",
" 98.403509 | \n",
" 86.280702 | \n",
" 81.491228 | \n",
" 475.947368 | \n",
"
\n",
" \n",
" Fire | \n",
" 327.403846 | \n",
" 3.211538 | \n",
" 0.096154 | \n",
" 69.903846 | \n",
" 84.769231 | \n",
" 67.769231 | \n",
" 88.980769 | \n",
" 72.211538 | \n",
" 74.442308 | \n",
" 458.076923 | \n",
"
\n",
" \n",
" Fighting | \n",
" 363.851852 | \n",
" 3.370370 | \n",
" 0.000000 | \n",
" 69.851852 | \n",
" 96.777778 | \n",
" 65.925926 | \n",
" 53.111111 | \n",
" 64.703704 | \n",
" 66.074074 | \n",
" 416.444444 | \n",
"
\n",
" \n",
" Grass | \n",
" 344.871429 | \n",
" 3.357143 | \n",
" 0.042857 | \n",
" 67.271429 | \n",
" 73.214286 | \n",
" 70.800000 | \n",
" 77.500000 | \n",
" 70.428571 | \n",
" 61.928571 | \n",
" 421.142857 | \n",
"
\n",
" \n",
" Poison | \n",
" 251.785714 | \n",
" 2.535714 | \n",
" 0.000000 | \n",
" 67.250000 | \n",
" 74.678571 | \n",
" 68.821429 | \n",
" 60.428571 | \n",
" 64.392857 | \n",
" 63.571429 | \n",
" 399.142857 | \n",
"
\n",
" \n",
" Dark | \n",
" 461.354839 | \n",
" 4.032258 | \n",
" 0.064516 | \n",
" 66.806452 | \n",
" 88.387097 | \n",
" 70.225806 | \n",
" 74.645161 | \n",
" 69.516129 | \n",
" 76.161290 | \n",
" 445.741935 | \n",
"
\n",
" \n",
" Rock | \n",
" 392.727273 | \n",
" 3.454545 | \n",
" 0.090909 | \n",
" 65.363636 | \n",
" 92.863636 | \n",
" 100.795455 | \n",
" 63.340909 | \n",
" 75.477273 | \n",
" 55.909091 | \n",
" 453.750000 | \n",
"
\n",
" \n",
" Steel | \n",
" 442.851852 | \n",
" 3.851852 | \n",
" 0.148148 | \n",
" 65.222222 | \n",
" 92.703704 | \n",
" 126.370370 | \n",
" 67.518519 | \n",
" 80.629630 | \n",
" 55.259259 | \n",
" 487.703704 | \n",
"
\n",
" \n",
" Ghost | \n",
" 486.500000 | \n",
" 4.187500 | \n",
" 0.062500 | \n",
" 64.437500 | \n",
" 73.781250 | \n",
" 81.187500 | \n",
" 79.343750 | \n",
" 76.468750 | \n",
" 64.343750 | \n",
" 439.562500 | \n",
"
\n",
" \n",
" Electric | \n",
" 363.500000 | \n",
" 3.272727 | \n",
" 0.090909 | \n",
" 59.795455 | \n",
" 69.090909 | \n",
" 66.295455 | \n",
" 90.022727 | \n",
" 73.704545 | \n",
" 84.500000 | \n",
" 443.409091 | \n",
"
\n",
" \n",
" Bug | \n",
" 334.492754 | \n",
" 3.217391 | \n",
" 0.000000 | \n",
" 56.884058 | \n",
" 70.971014 | \n",
" 70.724638 | \n",
" 53.869565 | \n",
" 64.797101 | \n",
" 61.681159 | \n",
" 378.927536 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Generation Legendary HP Attack \\\n",
"Type 1 \n",
"Dragon 474.375000 3.875000 0.375000 83.312500 112.125000 \n",
"Normal 319.173469 3.051020 0.020408 77.275510 73.469388 \n",
"Fairy 449.529412 4.117647 0.058824 74.117647 61.529412 \n",
"Ground 356.281250 3.156250 0.125000 73.781250 95.750000 \n",
"Water 303.089286 2.857143 0.035714 72.062500 74.151786 \n",
"Ice 423.541667 3.541667 0.083333 72.000000 72.750000 \n",
"Flying 677.750000 5.500000 0.500000 70.750000 78.750000 \n",
"Psychic 380.807018 3.385965 0.245614 70.631579 71.456140 \n",
"Fire 327.403846 3.211538 0.096154 69.903846 84.769231 \n",
"Fighting 363.851852 3.370370 0.000000 69.851852 96.777778 \n",
"Grass 344.871429 3.357143 0.042857 67.271429 73.214286 \n",
"Poison 251.785714 2.535714 0.000000 67.250000 74.678571 \n",
"Dark 461.354839 4.032258 0.064516 66.806452 88.387097 \n",
"Rock 392.727273 3.454545 0.090909 65.363636 92.863636 \n",
"Steel 442.851852 3.851852 0.148148 65.222222 92.703704 \n",
"Ghost 486.500000 4.187500 0.062500 64.437500 73.781250 \n",
"Electric 363.500000 3.272727 0.090909 59.795455 69.090909 \n",
"Bug 334.492754 3.217391 0.000000 56.884058 70.971014 \n",
"\n",
" Defense Sp. Atk Sp. Def Speed Total \n",
"Type 1 \n",
"Dragon 86.375000 96.843750 88.843750 83.031250 550.531250 \n",
"Normal 59.846939 55.816327 63.724490 71.551020 401.683673 \n",
"Fairy 65.705882 78.529412 84.705882 48.588235 413.176471 \n",
"Ground 84.843750 56.468750 62.750000 63.906250 437.500000 \n",
"Water 72.946429 74.812500 70.517857 65.964286 430.455357 \n",
"Ice 71.416667 77.541667 76.291667 63.458333 433.458333 \n",
"Flying 66.250000 94.250000 72.500000 102.500000 485.000000 \n",
"Psychic 67.684211 98.403509 86.280702 81.491228 475.947368 \n",
"Fire 67.769231 88.980769 72.211538 74.442308 458.076923 \n",
"Fighting 65.925926 53.111111 64.703704 66.074074 416.444444 \n",
"Grass 70.800000 77.500000 70.428571 61.928571 421.142857 \n",
"Poison 68.821429 60.428571 64.392857 63.571429 399.142857 \n",
"Dark 70.225806 74.645161 69.516129 76.161290 445.741935 \n",
"Rock 100.795455 63.340909 75.477273 55.909091 453.750000 \n",
"Steel 126.370370 67.518519 80.629630 55.259259 487.703704 \n",
"Ghost 81.187500 79.343750 76.468750 64.343750 439.562500 \n",
"Electric 66.295455 90.022727 73.704545 84.500000 443.409091 \n",
"Bug 70.724638 53.869565 64.797101 61.681159 378.927536 "
]
},
"execution_count": 146,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.groupby(['Type 1']).mean().sort_values('HP', ascending = False)"
]
},
{
"cell_type": "code",
"execution_count": 148,
"id": "83e6e674",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" Type 1 | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" Steel | \n",
" 442.851852 | \n",
" 3.851852 | \n",
" 0.148148 | \n",
" 65.222222 | \n",
" 92.703704 | \n",
" 126.370370 | \n",
" 67.518519 | \n",
" 80.629630 | \n",
" 55.259259 | \n",
" 487.703704 | \n",
"
\n",
" \n",
" Rock | \n",
" 392.727273 | \n",
" 3.454545 | \n",
" 0.090909 | \n",
" 65.363636 | \n",
" 92.863636 | \n",
" 100.795455 | \n",
" 63.340909 | \n",
" 75.477273 | \n",
" 55.909091 | \n",
" 453.750000 | \n",
"
\n",
" \n",
" Dragon | \n",
" 474.375000 | \n",
" 3.875000 | \n",
" 0.375000 | \n",
" 83.312500 | \n",
" 112.125000 | \n",
" 86.375000 | \n",
" 96.843750 | \n",
" 88.843750 | \n",
" 83.031250 | \n",
" 550.531250 | \n",
"
\n",
" \n",
" Ground | \n",
" 356.281250 | \n",
" 3.156250 | \n",
" 0.125000 | \n",
" 73.781250 | \n",
" 95.750000 | \n",
" 84.843750 | \n",
" 56.468750 | \n",
" 62.750000 | \n",
" 63.906250 | \n",
" 437.500000 | \n",
"
\n",
" \n",
" Ghost | \n",
" 486.500000 | \n",
" 4.187500 | \n",
" 0.062500 | \n",
" 64.437500 | \n",
" 73.781250 | \n",
" 81.187500 | \n",
" 79.343750 | \n",
" 76.468750 | \n",
" 64.343750 | \n",
" 439.562500 | \n",
"
\n",
" \n",
" Water | \n",
" 303.089286 | \n",
" 2.857143 | \n",
" 0.035714 | \n",
" 72.062500 | \n",
" 74.151786 | \n",
" 72.946429 | \n",
" 74.812500 | \n",
" 70.517857 | \n",
" 65.964286 | \n",
" 430.455357 | \n",
"
\n",
" \n",
" Ice | \n",
" 423.541667 | \n",
" 3.541667 | \n",
" 0.083333 | \n",
" 72.000000 | \n",
" 72.750000 | \n",
" 71.416667 | \n",
" 77.541667 | \n",
" 76.291667 | \n",
" 63.458333 | \n",
" 433.458333 | \n",
"
\n",
" \n",
" Grass | \n",
" 344.871429 | \n",
" 3.357143 | \n",
" 0.042857 | \n",
" 67.271429 | \n",
" 73.214286 | \n",
" 70.800000 | \n",
" 77.500000 | \n",
" 70.428571 | \n",
" 61.928571 | \n",
" 421.142857 | \n",
"
\n",
" \n",
" Bug | \n",
" 334.492754 | \n",
" 3.217391 | \n",
" 0.000000 | \n",
" 56.884058 | \n",
" 70.971014 | \n",
" 70.724638 | \n",
" 53.869565 | \n",
" 64.797101 | \n",
" 61.681159 | \n",
" 378.927536 | \n",
"
\n",
" \n",
" Dark | \n",
" 461.354839 | \n",
" 4.032258 | \n",
" 0.064516 | \n",
" 66.806452 | \n",
" 88.387097 | \n",
" 70.225806 | \n",
" 74.645161 | \n",
" 69.516129 | \n",
" 76.161290 | \n",
" 445.741935 | \n",
"
\n",
" \n",
" Poison | \n",
" 251.785714 | \n",
" 2.535714 | \n",
" 0.000000 | \n",
" 67.250000 | \n",
" 74.678571 | \n",
" 68.821429 | \n",
" 60.428571 | \n",
" 64.392857 | \n",
" 63.571429 | \n",
" 399.142857 | \n",
"
\n",
" \n",
" Fire | \n",
" 327.403846 | \n",
" 3.211538 | \n",
" 0.096154 | \n",
" 69.903846 | \n",
" 84.769231 | \n",
" 67.769231 | \n",
" 88.980769 | \n",
" 72.211538 | \n",
" 74.442308 | \n",
" 458.076923 | \n",
"
\n",
" \n",
" Psychic | \n",
" 380.807018 | \n",
" 3.385965 | \n",
" 0.245614 | \n",
" 70.631579 | \n",
" 71.456140 | \n",
" 67.684211 | \n",
" 98.403509 | \n",
" 86.280702 | \n",
" 81.491228 | \n",
" 475.947368 | \n",
"
\n",
" \n",
" Electric | \n",
" 363.500000 | \n",
" 3.272727 | \n",
" 0.090909 | \n",
" 59.795455 | \n",
" 69.090909 | \n",
" 66.295455 | \n",
" 90.022727 | \n",
" 73.704545 | \n",
" 84.500000 | \n",
" 443.409091 | \n",
"
\n",
" \n",
" Flying | \n",
" 677.750000 | \n",
" 5.500000 | \n",
" 0.500000 | \n",
" 70.750000 | \n",
" 78.750000 | \n",
" 66.250000 | \n",
" 94.250000 | \n",
" 72.500000 | \n",
" 102.500000 | \n",
" 485.000000 | \n",
"
\n",
" \n",
" Fighting | \n",
" 363.851852 | \n",
" 3.370370 | \n",
" 0.000000 | \n",
" 69.851852 | \n",
" 96.777778 | \n",
" 65.925926 | \n",
" 53.111111 | \n",
" 64.703704 | \n",
" 66.074074 | \n",
" 416.444444 | \n",
"
\n",
" \n",
" Fairy | \n",
" 449.529412 | \n",
" 4.117647 | \n",
" 0.058824 | \n",
" 74.117647 | \n",
" 61.529412 | \n",
" 65.705882 | \n",
" 78.529412 | \n",
" 84.705882 | \n",
" 48.588235 | \n",
" 413.176471 | \n",
"
\n",
" \n",
" Normal | \n",
" 319.173469 | \n",
" 3.051020 | \n",
" 0.020408 | \n",
" 77.275510 | \n",
" 73.469388 | \n",
" 59.846939 | \n",
" 55.816327 | \n",
" 63.724490 | \n",
" 71.551020 | \n",
" 401.683673 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Generation Legendary HP Attack \\\n",
"Type 1 \n",
"Steel 442.851852 3.851852 0.148148 65.222222 92.703704 \n",
"Rock 392.727273 3.454545 0.090909 65.363636 92.863636 \n",
"Dragon 474.375000 3.875000 0.375000 83.312500 112.125000 \n",
"Ground 356.281250 3.156250 0.125000 73.781250 95.750000 \n",
"Ghost 486.500000 4.187500 0.062500 64.437500 73.781250 \n",
"Water 303.089286 2.857143 0.035714 72.062500 74.151786 \n",
"Ice 423.541667 3.541667 0.083333 72.000000 72.750000 \n",
"Grass 344.871429 3.357143 0.042857 67.271429 73.214286 \n",
"Bug 334.492754 3.217391 0.000000 56.884058 70.971014 \n",
"Dark 461.354839 4.032258 0.064516 66.806452 88.387097 \n",
"Poison 251.785714 2.535714 0.000000 67.250000 74.678571 \n",
"Fire 327.403846 3.211538 0.096154 69.903846 84.769231 \n",
"Psychic 380.807018 3.385965 0.245614 70.631579 71.456140 \n",
"Electric 363.500000 3.272727 0.090909 59.795455 69.090909 \n",
"Flying 677.750000 5.500000 0.500000 70.750000 78.750000 \n",
"Fighting 363.851852 3.370370 0.000000 69.851852 96.777778 \n",
"Fairy 449.529412 4.117647 0.058824 74.117647 61.529412 \n",
"Normal 319.173469 3.051020 0.020408 77.275510 73.469388 \n",
"\n",
" Defense Sp. Atk Sp. Def Speed Total \n",
"Type 1 \n",
"Steel 126.370370 67.518519 80.629630 55.259259 487.703704 \n",
"Rock 100.795455 63.340909 75.477273 55.909091 453.750000 \n",
"Dragon 86.375000 96.843750 88.843750 83.031250 550.531250 \n",
"Ground 84.843750 56.468750 62.750000 63.906250 437.500000 \n",
"Ghost 81.187500 79.343750 76.468750 64.343750 439.562500 \n",
"Water 72.946429 74.812500 70.517857 65.964286 430.455357 \n",
"Ice 71.416667 77.541667 76.291667 63.458333 433.458333 \n",
"Grass 70.800000 77.500000 70.428571 61.928571 421.142857 \n",
"Bug 70.724638 53.869565 64.797101 61.681159 378.927536 \n",
"Dark 70.225806 74.645161 69.516129 76.161290 445.741935 \n",
"Poison 68.821429 60.428571 64.392857 63.571429 399.142857 \n",
"Fire 67.769231 88.980769 72.211538 74.442308 458.076923 \n",
"Psychic 67.684211 98.403509 86.280702 81.491228 475.947368 \n",
"Electric 66.295455 90.022727 73.704545 84.500000 443.409091 \n",
"Flying 66.250000 94.250000 72.500000 102.500000 485.000000 \n",
"Fighting 65.925926 53.111111 64.703704 66.074074 416.444444 \n",
"Fairy 65.705882 78.529412 84.705882 48.588235 413.176471 \n",
"Normal 59.846939 55.816327 63.724490 71.551020 401.683673 "
]
},
"execution_count": 148,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.groupby(['Type 1']).mean().sort_values('Defense', ascending = False)"
]
},
{
"cell_type": "code",
"execution_count": 147,
"id": "d27a2644",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" # | \n",
" Generation | \n",
" Legendary | \n",
" HP | \n",
" Attack | \n",
" Defense | \n",
" Sp. Atk | \n",
" Sp. Def | \n",
" Speed | \n",
" Total | \n",
"
\n",
" \n",
" Type 1 | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" Dragon | \n",
" 474.375000 | \n",
" 3.875000 | \n",
" 0.375000 | \n",
" 83.312500 | \n",
" 112.125000 | \n",
" 86.375000 | \n",
" 96.843750 | \n",
" 88.843750 | \n",
" 83.031250 | \n",
" 550.531250 | \n",
"
\n",
" \n",
" Fighting | \n",
" 363.851852 | \n",
" 3.370370 | \n",
" 0.000000 | \n",
" 69.851852 | \n",
" 96.777778 | \n",
" 65.925926 | \n",
" 53.111111 | \n",
" 64.703704 | \n",
" 66.074074 | \n",
" 416.444444 | \n",
"
\n",
" \n",
" Ground | \n",
" 356.281250 | \n",
" 3.156250 | \n",
" 0.125000 | \n",
" 73.781250 | \n",
" 95.750000 | \n",
" 84.843750 | \n",
" 56.468750 | \n",
" 62.750000 | \n",
" 63.906250 | \n",
" 437.500000 | \n",
"
\n",
" \n",
" Rock | \n",
" 392.727273 | \n",
" 3.454545 | \n",
" 0.090909 | \n",
" 65.363636 | \n",
" 92.863636 | \n",
" 100.795455 | \n",
" 63.340909 | \n",
" 75.477273 | \n",
" 55.909091 | \n",
" 453.750000 | \n",
"
\n",
" \n",
" Steel | \n",
" 442.851852 | \n",
" 3.851852 | \n",
" 0.148148 | \n",
" 65.222222 | \n",
" 92.703704 | \n",
" 126.370370 | \n",
" 67.518519 | \n",
" 80.629630 | \n",
" 55.259259 | \n",
" 487.703704 | \n",
"
\n",
" \n",
" Dark | \n",
" 461.354839 | \n",
" 4.032258 | \n",
" 0.064516 | \n",
" 66.806452 | \n",
" 88.387097 | \n",
" 70.225806 | \n",
" 74.645161 | \n",
" 69.516129 | \n",
" 76.161290 | \n",
" 445.741935 | \n",
"
\n",
" \n",
" Fire | \n",
" 327.403846 | \n",
" 3.211538 | \n",
" 0.096154 | \n",
" 69.903846 | \n",
" 84.769231 | \n",
" 67.769231 | \n",
" 88.980769 | \n",
" 72.211538 | \n",
" 74.442308 | \n",
" 458.076923 | \n",
"
\n",
" \n",
" Flying | \n",
" 677.750000 | \n",
" 5.500000 | \n",
" 0.500000 | \n",
" 70.750000 | \n",
" 78.750000 | \n",
" 66.250000 | \n",
" 94.250000 | \n",
" 72.500000 | \n",
" 102.500000 | \n",
" 485.000000 | \n",
"
\n",
" \n",
" Poison | \n",
" 251.785714 | \n",
" 2.535714 | \n",
" 0.000000 | \n",
" 67.250000 | \n",
" 74.678571 | \n",
" 68.821429 | \n",
" 60.428571 | \n",
" 64.392857 | \n",
" 63.571429 | \n",
" 399.142857 | \n",
"
\n",
" \n",
" Water | \n",
" 303.089286 | \n",
" 2.857143 | \n",
" 0.035714 | \n",
" 72.062500 | \n",
" 74.151786 | \n",
" 72.946429 | \n",
" 74.812500 | \n",
" 70.517857 | \n",
" 65.964286 | \n",
" 430.455357 | \n",
"
\n",
" \n",
" Ghost | \n",
" 486.500000 | \n",
" 4.187500 | \n",
" 0.062500 | \n",
" 64.437500 | \n",
" 73.781250 | \n",
" 81.187500 | \n",
" 79.343750 | \n",
" 76.468750 | \n",
" 64.343750 | \n",
" 439.562500 | \n",
"
\n",
" \n",
" Normal | \n",
" 319.173469 | \n",
" 3.051020 | \n",
" 0.020408 | \n",
" 77.275510 | \n",
" 73.469388 | \n",
" 59.846939 | \n",
" 55.816327 | \n",
" 63.724490 | \n",
" 71.551020 | \n",
" 401.683673 | \n",
"
\n",
" \n",
" Grass | \n",
" 344.871429 | \n",
" 3.357143 | \n",
" 0.042857 | \n",
" 67.271429 | \n",
" 73.214286 | \n",
" 70.800000 | \n",
" 77.500000 | \n",
" 70.428571 | \n",
" 61.928571 | \n",
" 421.142857 | \n",
"
\n",
" \n",
" Ice | \n",
" 423.541667 | \n",
" 3.541667 | \n",
" 0.083333 | \n",
" 72.000000 | \n",
" 72.750000 | \n",
" 71.416667 | \n",
" 77.541667 | \n",
" 76.291667 | \n",
" 63.458333 | \n",
" 433.458333 | \n",
"
\n",
" \n",
" Psychic | \n",
" 380.807018 | \n",
" 3.385965 | \n",
" 0.245614 | \n",
" 70.631579 | \n",
" 71.456140 | \n",
" 67.684211 | \n",
" 98.403509 | \n",
" 86.280702 | \n",
" 81.491228 | \n",
" 475.947368 | \n",
"
\n",
" \n",
" Bug | \n",
" 334.492754 | \n",
" 3.217391 | \n",
" 0.000000 | \n",
" 56.884058 | \n",
" 70.971014 | \n",
" 70.724638 | \n",
" 53.869565 | \n",
" 64.797101 | \n",
" 61.681159 | \n",
" 378.927536 | \n",
"
\n",
" \n",
" Electric | \n",
" 363.500000 | \n",
" 3.272727 | \n",
" 0.090909 | \n",
" 59.795455 | \n",
" 69.090909 | \n",
" 66.295455 | \n",
" 90.022727 | \n",
" 73.704545 | \n",
" 84.500000 | \n",
" 443.409091 | \n",
"
\n",
" \n",
" Fairy | \n",
" 449.529412 | \n",
" 4.117647 | \n",
" 0.058824 | \n",
" 74.117647 | \n",
" 61.529412 | \n",
" 65.705882 | \n",
" 78.529412 | \n",
" 84.705882 | \n",
" 48.588235 | \n",
" 413.176471 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" # Generation Legendary HP Attack \\\n",
"Type 1 \n",
"Dragon 474.375000 3.875000 0.375000 83.312500 112.125000 \n",
"Fighting 363.851852 3.370370 0.000000 69.851852 96.777778 \n",
"Ground 356.281250 3.156250 0.125000 73.781250 95.750000 \n",
"Rock 392.727273 3.454545 0.090909 65.363636 92.863636 \n",
"Steel 442.851852 3.851852 0.148148 65.222222 92.703704 \n",
"Dark 461.354839 4.032258 0.064516 66.806452 88.387097 \n",
"Fire 327.403846 3.211538 0.096154 69.903846 84.769231 \n",
"Flying 677.750000 5.500000 0.500000 70.750000 78.750000 \n",
"Poison 251.785714 2.535714 0.000000 67.250000 74.678571 \n",
"Water 303.089286 2.857143 0.035714 72.062500 74.151786 \n",
"Ghost 486.500000 4.187500 0.062500 64.437500 73.781250 \n",
"Normal 319.173469 3.051020 0.020408 77.275510 73.469388 \n",
"Grass 344.871429 3.357143 0.042857 67.271429 73.214286 \n",
"Ice 423.541667 3.541667 0.083333 72.000000 72.750000 \n",
"Psychic 380.807018 3.385965 0.245614 70.631579 71.456140 \n",
"Bug 334.492754 3.217391 0.000000 56.884058 70.971014 \n",
"Electric 363.500000 3.272727 0.090909 59.795455 69.090909 \n",
"Fairy 449.529412 4.117647 0.058824 74.117647 61.529412 \n",
"\n",
" Defense Sp. Atk Sp. Def Speed Total \n",
"Type 1 \n",
"Dragon 86.375000 96.843750 88.843750 83.031250 550.531250 \n",
"Fighting 65.925926 53.111111 64.703704 66.074074 416.444444 \n",
"Ground 84.843750 56.468750 62.750000 63.906250 437.500000 \n",
"Rock 100.795455 63.340909 75.477273 55.909091 453.750000 \n",
"Steel 126.370370 67.518519 80.629630 55.259259 487.703704 \n",
"Dark 70.225806 74.645161 69.516129 76.161290 445.741935 \n",
"Fire 67.769231 88.980769 72.211538 74.442308 458.076923 \n",
"Flying 66.250000 94.250000 72.500000 102.500000 485.000000 \n",
"Poison 68.821429 60.428571 64.392857 63.571429 399.142857 \n",
"Water 72.946429 74.812500 70.517857 65.964286 430.455357 \n",
"Ghost 81.187500 79.343750 76.468750 64.343750 439.562500 \n",
"Normal 59.846939 55.816327 63.724490 71.551020 401.683673 \n",
"Grass 70.800000 77.500000 70.428571 61.928571 421.142857 \n",
"Ice 71.416667 77.541667 76.291667 63.458333 433.458333 \n",
"Psychic 67.684211 98.403509 86.280702 81.491228 475.947368 \n",
"Bug 70.724638 53.869565 64.797101 61.681159 378.927536 \n",
"Electric 66.295455 90.022727 73.704545 84.500000 443.409091 \n",
"Fairy 65.705882 78.529412 84.705882 48.588235 413.176471 "
]
},
"execution_count": 147,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.groupby(['Type 1']).mean().sort_values('Attack', ascending = False)"
]
},
{
"cell_type": "code",
"execution_count": 152,
"id": "42cbca76",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Type 1\n",
"Bug 69\n",
"Dark 31\n",
"Dragon 32\n",
"Electric 44\n",
"Fairy 17\n",
"Fighting 27\n",
"Fire 52\n",
"Flying 4\n",
"Ghost 32\n",
"Grass 70\n",
"Ground 32\n",
"Ice 24\n",
"Normal 98\n",
"Poison 28\n",
"Psychic 57\n",
"Rock 44\n",
"Steel 27\n",
"Water 112\n",
"Name: Count, dtype: int64"
]
},
"execution_count": 152,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['Count'] = 1\n",
"\n",
"df.groupby(['Type 1']).count()['Count']"
]
},
{
"cell_type": "code",
"execution_count": 156,
"id": "a2fd0a44",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Type 1 Type 2 \n",
"Bug Electric 2\n",
" Fighting 2\n",
" Fire 2\n",
" Flying 14\n",
" Ghost 1\n",
" ..\n",
"Water Ice 3\n",
" Poison 3\n",
" Psychic 5\n",
" Rock 4\n",
" Steel 1\n",
"Name: Count, Length: 136, dtype: int64"
]
},
"execution_count": 156,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.groupby(['Type 1', 'Type 2']).count()['Count']"
]
},
{
"cell_type": "markdown",
"id": "62b4dbe0",
"metadata": {},
"source": [
"# Working with Large Amounts of Data"
]
},
{
"cell_type": "code",
"execution_count": 160,
"id": "cf6078f7",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" # Name Type 1 Type 2 Generation Legendary HP Attack Defense Sp. Atk \\\n",
"Fire 1 1 NaN 0 1 1 1 1 1 1 \n",
"Grass 4 4 NaN 4 4 4 4 4 4 4 \n",
"Fire 4 4 NaN 3 4 4 4 4 4 4 \n",
"Water 1 1 NaN 0 1 1 1 1 1 1 \n",
"Bug 2 2 NaN 0 2 2 2 2 2 2 \n",
"... .. ... ... ... ... ... .. ... ... ... \n",
"Fairy 1 1 NaN 0 1 1 1 1 1 1 \n",
"Flying 2 2 NaN 2 2 2 2 2 2 2 \n",
"Fire 1 1 NaN 1 1 1 1 1 1 1 \n",
"Psychic 2 2 NaN 2 2 2 2 2 2 2 \n",
"Rock 2 2 NaN 2 2 2 2 2 2 2 \n",
"\n",
" Sp. Def Speed Total \n",
"Fire 1 1 1 \n",
"Grass 4 4 4 \n",
"Fire 4 4 4 \n",
"Water 1 1 1 \n",
"Bug 2 2 2 \n",
"... ... ... ... \n",
"Fairy 1 1 1 \n",
"Flying 2 2 2 \n",
"Fire 1 1 1 \n",
"Psychic 2 2 2 \n",
"Rock 2 2 2 \n",
"\n",
"[433 rows x 13 columns]\n"
]
}
],
"source": [
"big_df = pd.DataFrame(columns = df.columns)\n",
"\n",
"for df in pd.read_csv('modified_pokemon.csv', chunksize = 5):\n",
" chunks = df.groupby(['Type 1']).count()\n",
" \n",
" big_df = pd.concat([big_df, chunks])\n",
" \n",
"print(big_df)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}