Skip to content

Instantly share code, notes, and snippets.

@rolangom
Created October 20, 2021 21:20
Show Gist options
  • Save rolangom/d8d2464bbed67d034230f18ecf3bfad1 to your computer and use it in GitHub Desktop.
Save rolangom/d8d2464bbed67d034230f18ecf3bfad1 to your computer and use it in GitHub Desktop.
video game sales analysis
Display the source blob
Display the rendered blob
Raw
{
"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 &amp; 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