Created
October 20, 2021 21:20
-
-
Save rolangom/d8d2464bbed67d034230f18ecf3bfad1 to your computer and use it in GitHub Desktop.
video game sales analysis
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import pandas as pd\n", | |
| "import numpy as np" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 28, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>Rank</th>\n", | |
| " <th>Name</th>\n", | |
| " <th>Platform</th>\n", | |
| " <th>Year</th>\n", | |
| " <th>Genre</th>\n", | |
| " <th>Publisher</th>\n", | |
| " <th>NA_Sales</th>\n", | |
| " <th>EU_Sales</th>\n", | |
| " <th>JP_Sales</th>\n", | |
| " <th>Other_Sales</th>\n", | |
| " <th>Global_Sales</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>1</td>\n", | |
| " <td>Wii Sports</td>\n", | |
| " <td>Wii</td>\n", | |
| " <td>2006.0</td>\n", | |
| " <td>Sports</td>\n", | |
| " <td>Nintendo</td>\n", | |
| " <td>41.49</td>\n", | |
| " <td>29.02</td>\n", | |
| " <td>3.77</td>\n", | |
| " <td>8.46</td>\n", | |
| " <td>82.74</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>2</td>\n", | |
| " <td>Super Mario Bros.</td>\n", | |
| " <td>NES</td>\n", | |
| " <td>1985.0</td>\n", | |
| " <td>Platform</td>\n", | |
| " <td>Nintendo</td>\n", | |
| " <td>29.08</td>\n", | |
| " <td>3.58</td>\n", | |
| " <td>6.81</td>\n", | |
| " <td>0.77</td>\n", | |
| " <td>40.24</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>3</td>\n", | |
| " <td>Mario Kart Wii</td>\n", | |
| " <td>Wii</td>\n", | |
| " <td>2008.0</td>\n", | |
| " <td>Racing</td>\n", | |
| " <td>Nintendo</td>\n", | |
| " <td>15.85</td>\n", | |
| " <td>12.88</td>\n", | |
| " <td>3.79</td>\n", | |
| " <td>3.31</td>\n", | |
| " <td>35.82</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>4</td>\n", | |
| " <td>Wii Sports Resort</td>\n", | |
| " <td>Wii</td>\n", | |
| " <td>2009.0</td>\n", | |
| " <td>Sports</td>\n", | |
| " <td>Nintendo</td>\n", | |
| " <td>15.75</td>\n", | |
| " <td>11.01</td>\n", | |
| " <td>3.28</td>\n", | |
| " <td>2.96</td>\n", | |
| " <td>33.00</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>5</td>\n", | |
| " <td>Pokemon Red/Pokemon Blue</td>\n", | |
| " <td>GB</td>\n", | |
| " <td>1996.0</td>\n", | |
| " <td>Role-Playing</td>\n", | |
| " <td>Nintendo</td>\n", | |
| " <td>11.27</td>\n", | |
| " <td>8.89</td>\n", | |
| " <td>10.22</td>\n", | |
| " <td>1.00</td>\n", | |
| " <td>31.37</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16593</th>\n", | |
| " <td>16596</td>\n", | |
| " <td>Woody Woodpecker in Crazy Castle 5</td>\n", | |
| " <td>GBA</td>\n", | |
| " <td>2002.0</td>\n", | |
| " <td>Platform</td>\n", | |
| " <td>Kemco</td>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.01</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16594</th>\n", | |
| " <td>16597</td>\n", | |
| " <td>Men in Black II: Alien Escape</td>\n", | |
| " <td>GC</td>\n", | |
| " <td>2003.0</td>\n", | |
| " <td>Shooter</td>\n", | |
| " <td>Infogrames</td>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.01</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16595</th>\n", | |
| " <td>16598</td>\n", | |
| " <td>SCORE International Baja 1000: The Official Game</td>\n", | |
| " <td>PS2</td>\n", | |
| " <td>2008.0</td>\n", | |
| " <td>Racing</td>\n", | |
| " <td>Activision</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.01</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16596</th>\n", | |
| " <td>16599</td>\n", | |
| " <td>Know How 2</td>\n", | |
| " <td>DS</td>\n", | |
| " <td>2010.0</td>\n", | |
| " <td>Puzzle</td>\n", | |
| " <td>7G//AMES</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.01</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16597</th>\n", | |
| " <td>16600</td>\n", | |
| " <td>Spirits & Spells</td>\n", | |
| " <td>GBA</td>\n", | |
| " <td>2003.0</td>\n", | |
| " <td>Platform</td>\n", | |
| " <td>Wanadoo</td>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.01</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>16598 rows × 11 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " Rank Name Platform \\\n", | |
| "0 1 Wii Sports Wii \n", | |
| "1 2 Super Mario Bros. NES \n", | |
| "2 3 Mario Kart Wii Wii \n", | |
| "3 4 Wii Sports Resort Wii \n", | |
| "4 5 Pokemon Red/Pokemon Blue GB \n", | |
| "... ... ... ... \n", | |
| "16593 16596 Woody Woodpecker in Crazy Castle 5 GBA \n", | |
| "16594 16597 Men in Black II: Alien Escape GC \n", | |
| "16595 16598 SCORE International Baja 1000: The Official Game PS2 \n", | |
| "16596 16599 Know How 2 DS \n", | |
| "16597 16600 Spirits & Spells GBA \n", | |
| "\n", | |
| " Year Genre Publisher NA_Sales EU_Sales JP_Sales \\\n", | |
| "0 2006.0 Sports Nintendo 41.49 29.02 3.77 \n", | |
| "1 1985.0 Platform Nintendo 29.08 3.58 6.81 \n", | |
| "2 2008.0 Racing Nintendo 15.85 12.88 3.79 \n", | |
| "3 2009.0 Sports Nintendo 15.75 11.01 3.28 \n", | |
| "4 1996.0 Role-Playing Nintendo 11.27 8.89 10.22 \n", | |
| "... ... ... ... ... ... ... \n", | |
| "16593 2002.0 Platform Kemco 0.01 0.00 0.00 \n", | |
| "16594 2003.0 Shooter Infogrames 0.01 0.00 0.00 \n", | |
| "16595 2008.0 Racing Activision 0.00 0.00 0.00 \n", | |
| "16596 2010.0 Puzzle 7G//AMES 0.00 0.01 0.00 \n", | |
| "16597 2003.0 Platform Wanadoo 0.01 0.00 0.00 \n", | |
| "\n", | |
| " Other_Sales Global_Sales \n", | |
| "0 8.46 82.74 \n", | |
| "1 0.77 40.24 \n", | |
| "2 3.31 35.82 \n", | |
| "3 2.96 33.00 \n", | |
| "4 1.00 31.37 \n", | |
| "... ... ... \n", | |
| "16593 0.00 0.01 \n", | |
| "16594 0.00 0.01 \n", | |
| "16595 0.00 0.01 \n", | |
| "16596 0.00 0.01 \n", | |
| "16597 0.00 0.01 \n", | |
| "\n", | |
| "[16598 rows x 11 columns]" | |
| ] | |
| }, | |
| "execution_count": 28, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "# source file from https://www.kaggle.com/gregorut/videogamesales\n", | |
| "df = pd.read_csv('./vgsales.csv')\n", | |
| "df" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 30, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead tr th {\n", | |
| " text-align: left;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead tr:last-of-type th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th colspan=\"12\" halign=\"left\">Global_Sales</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th></th>\n", | |
| " <th>Genre</th>\n", | |
| " <th>Action</th>\n", | |
| " <th>Adventure</th>\n", | |
| " <th>Fighting</th>\n", | |
| " <th>Misc</th>\n", | |
| " <th>Platform</th>\n", | |
| " <th>Puzzle</th>\n", | |
| " <th>Racing</th>\n", | |
| " <th>Role-Playing</th>\n", | |
| " <th>Shooter</th>\n", | |
| " <th>Simulation</th>\n", | |
| " <th>Sports</th>\n", | |
| " <th>Strategy</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Year</th>\n", | |
| " <th>Publisher</th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th rowspan=\"2\" valign=\"top\">1980.0</th>\n", | |
| " <th>Activision</th>\n", | |
| " <td>0.34</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.77</td>\n", | |
| " <td>1.42</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.49</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Atari</th>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>1.29</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>7.07</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th rowspan=\"3\" valign=\"top\">1981.0</th>\n", | |
| " <th>Activision</th>\n", | |
| " <td>0.82</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>4.50</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.48</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>2.70</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Atari</th>\n", | |
| " <td>2.69</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.97</td>\n", | |
| " <td>1.65</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>2.09</td>\n", | |
| " <td>0.45</td>\n", | |
| " <td>0.60</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>20th Century Fox Video Games</th>\n", | |
| " <td>1.13</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.22</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th rowspan=\"2\" valign=\"top\">2016.0</th>\n", | |
| " <th>Stainless Games</th>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>UIG Entertainment</th>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th rowspan=\"2\" valign=\"top\">2017.0</th>\n", | |
| " <th>Sega</th>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.04</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Idea Factory</th>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2020.0</th>\n", | |
| " <th>Ubisoft</th>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.29</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>2321 rows × 12 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " Global_Sales \\\n", | |
| "Genre Action Adventure Fighting Misc \n", | |
| "Year Publisher \n", | |
| "1980.0 Activision 0.34 0.0 0.77 1.42 \n", | |
| " Atari 0.00 0.0 0.00 1.29 \n", | |
| "1981.0 Activision 0.82 0.0 0.00 0.00 \n", | |
| " Atari 2.69 0.0 0.00 0.00 \n", | |
| " 20th Century Fox Video Games 1.13 0.0 0.00 0.00 \n", | |
| "... ... ... ... ... \n", | |
| "2016.0 Stainless Games 0.01 0.0 0.00 0.00 \n", | |
| " UIG Entertainment 0.00 0.0 0.00 0.00 \n", | |
| "2017.0 Sega 0.00 0.0 0.00 0.00 \n", | |
| " Idea Factory 0.01 0.0 0.00 0.00 \n", | |
| "2020.0 Ubisoft 0.00 0.0 0.00 0.00 \n", | |
| "\n", | |
| " \\\n", | |
| "Genre Platform Puzzle Racing Role-Playing \n", | |
| "Year Publisher \n", | |
| "1980.0 Activision 0.00 0.00 0.00 0.00 \n", | |
| " Atari 0.00 0.00 0.00 0.00 \n", | |
| "1981.0 Activision 4.50 0.00 0.48 0.00 \n", | |
| " Atari 0.97 1.65 0.00 0.00 \n", | |
| " 20th Century Fox Video Games 0.00 0.00 0.00 0.00 \n", | |
| "... ... ... ... ... \n", | |
| "2016.0 Stainless Games 0.00 0.00 0.00 0.00 \n", | |
| " UIG Entertainment 0.00 0.00 0.00 0.00 \n", | |
| "2017.0 Sega 0.00 0.00 0.00 0.04 \n", | |
| " Idea Factory 0.00 0.00 0.00 0.00 \n", | |
| "2020.0 Ubisoft 0.00 0.00 0.00 0.00 \n", | |
| "\n", | |
| " \n", | |
| "Genre Shooter Simulation Sports Strategy \n", | |
| "Year Publisher \n", | |
| "1980.0 Activision 0.00 0.00 0.49 0.0 \n", | |
| " Atari 7.07 0.00 0.00 0.0 \n", | |
| "1981.0 Activision 2.70 0.00 0.00 0.0 \n", | |
| " Atari 2.09 0.45 0.60 0.0 \n", | |
| " 20th Century Fox Video Games 0.22 0.00 0.00 0.0 \n", | |
| "... ... ... ... ... \n", | |
| "2016.0 Stainless Games 0.00 0.00 0.00 0.0 \n", | |
| " UIG Entertainment 0.00 0.01 0.00 0.0 \n", | |
| "2017.0 Sega 0.00 0.00 0.00 0.0 \n", | |
| " Idea Factory 0.00 0.00 0.00 0.0 \n", | |
| "2020.0 Ubisoft 0.00 0.29 0.00 0.0 \n", | |
| "\n", | |
| "[2321 rows x 12 columns]" | |
| ] | |
| }, | |
| "execution_count": 30, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "pivot_df = df.pivot_table(index=['Year', 'Publisher'], columns=['Genre'], values=['Global_Sales'], aggfunc=np.sum, fill_value=0)\n", | |
| "pivot_df" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 31, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead tr th {\n", | |
| " text-align: left;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <th></th>\n", | |
| " <th>Year</th>\n", | |
| " <th>Publisher</th>\n", | |
| " <th colspan=\"12\" halign=\"left\">Global_Sales</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Genre</th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th>Action</th>\n", | |
| " <th>Adventure</th>\n", | |
| " <th>Fighting</th>\n", | |
| " <th>Misc</th>\n", | |
| " <th>Platform</th>\n", | |
| " <th>Puzzle</th>\n", | |
| " <th>Racing</th>\n", | |
| " <th>Role-Playing</th>\n", | |
| " <th>Shooter</th>\n", | |
| " <th>Simulation</th>\n", | |
| " <th>Sports</th>\n", | |
| " <th>Strategy</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>1980.0</td>\n", | |
| " <td>Activision</td>\n", | |
| " <td>0.34</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.77</td>\n", | |
| " <td>1.42</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.49</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>1980.0</td>\n", | |
| " <td>Atari</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>1.29</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>7.07</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>1981.0</td>\n", | |
| " <td>Activision</td>\n", | |
| " <td>0.82</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>4.50</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.48</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>2.70</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>1981.0</td>\n", | |
| " <td>Atari</td>\n", | |
| " <td>2.69</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.97</td>\n", | |
| " <td>1.65</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>2.09</td>\n", | |
| " <td>0.45</td>\n", | |
| " <td>0.60</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>1981.0</td>\n", | |
| " <td>20th Century Fox Video Games</td>\n", | |
| " <td>1.13</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.22</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2316</th>\n", | |
| " <td>2016.0</td>\n", | |
| " <td>Stainless Games</td>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2317</th>\n", | |
| " <td>2016.0</td>\n", | |
| " <td>UIG Entertainment</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2318</th>\n", | |
| " <td>2017.0</td>\n", | |
| " <td>Sega</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.04</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2319</th>\n", | |
| " <td>2017.0</td>\n", | |
| " <td>Idea Factory</td>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2320</th>\n", | |
| " <td>2020.0</td>\n", | |
| " <td>Ubisoft</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.29</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>2321 rows × 14 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " Year Publisher Global_Sales \\\n", | |
| "Genre Action Adventure Fighting \n", | |
| "0 1980.0 Activision 0.34 0.0 0.77 \n", | |
| "1 1980.0 Atari 0.00 0.0 0.00 \n", | |
| "2 1981.0 Activision 0.82 0.0 0.00 \n", | |
| "3 1981.0 Atari 2.69 0.0 0.00 \n", | |
| "4 1981.0 20th Century Fox Video Games 1.13 0.0 0.00 \n", | |
| "... ... ... ... ... ... \n", | |
| "2316 2016.0 Stainless Games 0.01 0.0 0.00 \n", | |
| "2317 2016.0 UIG Entertainment 0.00 0.0 0.00 \n", | |
| "2318 2017.0 Sega 0.00 0.0 0.00 \n", | |
| "2319 2017.0 Idea Factory 0.01 0.0 0.00 \n", | |
| "2320 2020.0 Ubisoft 0.00 0.0 0.00 \n", | |
| "\n", | |
| " \\\n", | |
| "Genre Misc Platform Puzzle Racing Role-Playing Shooter Simulation Sports \n", | |
| "0 1.42 0.00 0.00 0.00 0.00 0.00 0.00 0.49 \n", | |
| "1 1.29 0.00 0.00 0.00 0.00 7.07 0.00 0.00 \n", | |
| "2 0.00 4.50 0.00 0.48 0.00 2.70 0.00 0.00 \n", | |
| "3 0.00 0.97 1.65 0.00 0.00 2.09 0.45 0.60 \n", | |
| "4 0.00 0.00 0.00 0.00 0.00 0.22 0.00 0.00 \n", | |
| "... ... ... ... ... ... ... ... ... \n", | |
| "2316 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", | |
| "2317 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 \n", | |
| "2318 0.00 0.00 0.00 0.00 0.04 0.00 0.00 0.00 \n", | |
| "2319 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", | |
| "2320 0.00 0.00 0.00 0.00 0.00 0.00 0.29 0.00 \n", | |
| "\n", | |
| " \n", | |
| "Genre Strategy \n", | |
| "0 0.0 \n", | |
| "1 0.0 \n", | |
| "2 0.0 \n", | |
| "3 0.0 \n", | |
| "4 0.0 \n", | |
| "... ... \n", | |
| "2316 0.0 \n", | |
| "2317 0.0 \n", | |
| "2318 0.0 \n", | |
| "2319 0.0 \n", | |
| "2320 0.0 \n", | |
| "\n", | |
| "[2321 rows x 14 columns]" | |
| ] | |
| }, | |
| "execution_count": 31, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "mi_pivot_df = pivot_df.reset_index()\n", | |
| "mi_pivot_df" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 32, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "ename": "NotImplementedError", | |
| "evalue": "Writing to Excel with MultiIndex columns and no index ('index'=False) is not yet implemented.", | |
| "output_type": "error", | |
| "traceback": [ | |
| "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", | |
| "\u001b[1;31mNotImplementedError\u001b[0m Traceback (most recent call last)", | |
| "\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_32632/2757024653.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mpivot_df\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mto_excel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'./global_sales_by_publishers_genres.xlsx'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", | |
| "\u001b[1;32m~\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\pandas\\core\\generic.py\u001b[0m in \u001b[0;36mto_excel\u001b[1;34m(self, excel_writer, sheet_name, na_rep, float_format, columns, header, index, index_label, startrow, startcol, engine, merge_cells, encoding, inf_rep, verbose, freeze_panes)\u001b[0m\n\u001b[0;32m 2024\u001b[0m \u001b[0minf_rep\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0minf_rep\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2025\u001b[0m )\n\u001b[1;32m-> 2026\u001b[1;33m formatter.write(\n\u001b[0m\u001b[0;32m 2027\u001b[0m \u001b[0mexcel_writer\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2028\u001b[0m \u001b[0msheet_name\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0msheet_name\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", | |
| "\u001b[1;32m~\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\pandas\\io\\formats\\excel.py\u001b[0m in \u001b[0;36mwrite\u001b[1;34m(self, writer, sheet_name, startrow, startcol, freeze_panes, engine)\u001b[0m\n\u001b[0;32m 732\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 733\u001b[0m \u001b[0mformatted_cells\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_formatted_cells\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 734\u001b[1;33m writer.write_cells(\n\u001b[0m\u001b[0;32m 735\u001b[0m \u001b[0mformatted_cells\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 736\u001b[0m \u001b[0msheet_name\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", | |
| "\u001b[1;32m~\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\pandas\\io\\excel\\_openpyxl.py\u001b[0m in \u001b[0;36mwrite_cells\u001b[1;34m(self, cells, sheet_name, startrow, startcol, freeze_panes)\u001b[0m\n\u001b[0;32m 419\u001b[0m )\n\u001b[0;32m 420\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 421\u001b[1;33m \u001b[1;32mfor\u001b[0m \u001b[0mcell\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mcells\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 422\u001b[0m xcell = wks.cell(\n\u001b[0;32m 423\u001b[0m \u001b[0mrow\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mstartrow\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mcell\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrow\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcolumn\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mstartcol\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mcell\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcol\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", | |
| "\u001b[1;32m~\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\pandas\\io\\formats\\excel.py\u001b[0m in \u001b[0;36mget_formatted_cells\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 686\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 687\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mget_formatted_cells\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 688\u001b[1;33m \u001b[1;32mfor\u001b[0m \u001b[0mcell\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mitertools\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mchain\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_format_header\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_format_body\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 689\u001b[0m \u001b[0mcell\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mval\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_format_value\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcell\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mval\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 690\u001b[0m \u001b[1;32myield\u001b[0m \u001b[0mcell\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", | |
| "\u001b[1;32m~\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\pandas\\io\\formats\\excel.py\u001b[0m in \u001b[0;36m_format_header_mi\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 449\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnlevels\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 450\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 451\u001b[1;33m raise NotImplementedError(\n\u001b[0m\u001b[0;32m 452\u001b[0m \u001b[1;34m\"Writing to Excel with MultiIndex columns and no \"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 453\u001b[0m \u001b[1;34m\"index ('index'=False) is not yet implemented.\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", | |
| "\u001b[1;31mNotImplementedError\u001b[0m: Writing to Excel with MultiIndex columns and no index ('index'=False) is not yet implemented." | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "pivot_df.to_excel('./global_sales_by_publishers_genres.xlsx', index=False)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 34, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>Year</th>\n", | |
| " <th>Publisher</th>\n", | |
| " <th>Action</th>\n", | |
| " <th>Adventure</th>\n", | |
| " <th>Fighting</th>\n", | |
| " <th>Misc</th>\n", | |
| " <th>Platform</th>\n", | |
| " <th>Puzzle</th>\n", | |
| " <th>Racing</th>\n", | |
| " <th>Role-Playing</th>\n", | |
| " <th>Shooter</th>\n", | |
| " <th>Simulation</th>\n", | |
| " <th>Sports</th>\n", | |
| " <th>Strategy</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>1980.0</td>\n", | |
| " <td>Activision</td>\n", | |
| " <td>0.34</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.77</td>\n", | |
| " <td>1.42</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.49</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>1980.0</td>\n", | |
| " <td>Atari</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>1.29</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>7.07</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>1981.0</td>\n", | |
| " <td>Activision</td>\n", | |
| " <td>0.82</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>4.50</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.48</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>2.70</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>1981.0</td>\n", | |
| " <td>Atari</td>\n", | |
| " <td>2.69</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.97</td>\n", | |
| " <td>1.65</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>2.09</td>\n", | |
| " <td>0.45</td>\n", | |
| " <td>0.60</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>1981.0</td>\n", | |
| " <td>20th Century Fox Video Games</td>\n", | |
| " <td>1.13</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.22</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2316</th>\n", | |
| " <td>2016.0</td>\n", | |
| " <td>Stainless Games</td>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2317</th>\n", | |
| " <td>2016.0</td>\n", | |
| " <td>UIG Entertainment</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2318</th>\n", | |
| " <td>2017.0</td>\n", | |
| " <td>Sega</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.04</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2319</th>\n", | |
| " <td>2017.0</td>\n", | |
| " <td>Idea Factory</td>\n", | |
| " <td>0.01</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2320</th>\n", | |
| " <td>2020.0</td>\n", | |
| " <td>Ubisoft</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.29</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>2321 rows × 14 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " Year Publisher Action Adventure Fighting Misc \\\n", | |
| "0 1980.0 Activision 0.34 0.0 0.77 1.42 \n", | |
| "1 1980.0 Atari 0.00 0.0 0.00 1.29 \n", | |
| "2 1981.0 Activision 0.82 0.0 0.00 0.00 \n", | |
| "3 1981.0 Atari 2.69 0.0 0.00 0.00 \n", | |
| "4 1981.0 20th Century Fox Video Games 1.13 0.0 0.00 0.00 \n", | |
| "... ... ... ... ... ... ... \n", | |
| "2316 2016.0 Stainless Games 0.01 0.0 0.00 0.00 \n", | |
| "2317 2016.0 UIG Entertainment 0.00 0.0 0.00 0.00 \n", | |
| "2318 2017.0 Sega 0.00 0.0 0.00 0.00 \n", | |
| "2319 2017.0 Idea Factory 0.01 0.0 0.00 0.00 \n", | |
| "2320 2020.0 Ubisoft 0.00 0.0 0.00 0.00 \n", | |
| "\n", | |
| " Platform Puzzle Racing Role-Playing Shooter Simulation Sports \\\n", | |
| "0 0.00 0.00 0.00 0.00 0.00 0.00 0.49 \n", | |
| "1 0.00 0.00 0.00 0.00 7.07 0.00 0.00 \n", | |
| "2 4.50 0.00 0.48 0.00 2.70 0.00 0.00 \n", | |
| "3 0.97 1.65 0.00 0.00 2.09 0.45 0.60 \n", | |
| "4 0.00 0.00 0.00 0.00 0.22 0.00 0.00 \n", | |
| "... ... ... ... ... ... ... ... \n", | |
| "2316 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", | |
| "2317 0.00 0.00 0.00 0.00 0.00 0.01 0.00 \n", | |
| "2318 0.00 0.00 0.00 0.04 0.00 0.00 0.00 \n", | |
| "2319 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", | |
| "2320 0.00 0.00 0.00 0.00 0.00 0.29 0.00 \n", | |
| "\n", | |
| " Strategy \n", | |
| "0 0.0 \n", | |
| "1 0.0 \n", | |
| "2 0.0 \n", | |
| "3 0.0 \n", | |
| "4 0.0 \n", | |
| "... ... \n", | |
| "2316 0.0 \n", | |
| "2317 0.0 \n", | |
| "2318 0.0 \n", | |
| "2319 0.0 \n", | |
| "2320 0.0 \n", | |
| "\n", | |
| "[2321 rows x 14 columns]" | |
| ] | |
| }, | |
| "execution_count": 34, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "flat_index_pivot_df = pivot_df.copy()\n", | |
| "flat_index_pivot_df.columns = flat_index_pivot_df.columns.droplevel(0)\n", | |
| "flat_index_pivot_df.reset_index(inplace=True)\n", | |
| "flat_index_pivot_df.columns.name = None\n", | |
| "flat_index_pivot_df" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 35, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "flat_index_pivot_df.to_excel('./global_sales_by_publishers_genres.xlsx', index=False)" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "interpreter": { | |
| "hash": "35902a86f051726a4472fa8055a315c781dbc3c6be2d668029bf8d8290fe86ee" | |
| }, | |
| "kernelspec": { | |
| "display_name": "Python 3.9.2 64-bit", | |
| "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" | |
| }, | |
| "orig_nbformat": 4 | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 2 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment