{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Hierachical (Multi-) Indexing\n", "* Contact: Lachlan Deer, [econgit] @ldeer, [github/twitter] @lachlandeer\n", "\n", "In earlier notebooks we were working with our labor market data and importing it to have a multi-index. In this notebook, we explore the notions of multi-indexing in more detail.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Multiply Indexed Data\n", "\n", "We focus on multiply indexed `DataFrames`, and ignore pandas `Series` because we will most often come across `DataFrames`. Most of our discussion carries over.\n", "\n", "Let's import our labour market data in the 'simplest way'" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
stateperiodyearunemployment_rateqty_unemployedqty_employedlabour_force
0AlabamaM0120005.110855120242622132813
1AlabamaM0120015.211003520088762118911
2AlabamaM0120026.513475019538142088564
3AlabamaM0120036.212996619743742104340
4AlabamaM0120046.413467319858862120559
\n", "
" ], "text/plain": [ " state period year unemployment_rate qty_unemployed qty_employed \\\n", "0 Alabama M01 2000 5.1 108551 2024262 \n", "1 Alabama M01 2001 5.2 110035 2008876 \n", "2 Alabama M01 2002 6.5 134750 1953814 \n", "3 Alabama M01 2003 6.2 129966 1974374 \n", "4 Alabama M01 2004 6.4 134673 1985886 \n", "\n", " labour_force \n", "0 2132813 \n", "1 2118911 \n", "2 2088564 \n", "3 2104340 \n", "4 2120559 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = pd.read_csv('out_data/state_labour_statistics.csv')\n", "data.head()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "RangeIndex(start=0, stop=10608, step=1)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.index" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again note that pandas has created an index for us, which is simply a row identifier. We argued earlier that a better way of indexing might be state-year-month. \n", "\n", "To make the shift to our preferred index, we need to reset the index, using the `set_index` function." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
unemployment_rateqty_unemployedqty_employedlabour_force
stateyearperiod
Alabama2000M015.110855120242622132813
2001M015.211003520088762118911
2002M016.513475019538142088564
2003M016.212996619743742104340
2004M016.413467319858862120559
\n", "
" ], "text/plain": [ " unemployment_rate qty_unemployed qty_employed \\\n", "state year period \n", "Alabama 2000 M01 5.1 108551 2024262 \n", " 2001 M01 5.2 110035 2008876 \n", " 2002 M01 6.5 134750 1953814 \n", " 2003 M01 6.2 129966 1974374 \n", " 2004 M01 6.4 134673 1985886 \n", "\n", " labour_force \n", "state year period \n", "Alabama 2000 M01 2132813 \n", " 2001 M01 2118911 \n", " 2002 M01 2088564 \n", " 2003 M01 2104340 \n", " 2004 M01 2120559 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.set_index(['state', 'year', 'period'], inplace=True)\n", "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we want to go back to the original index, we can use `reset_index` and ask that the multi-index we set is returned to columns of the data" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "data.reset_index(drop=False, inplace=True)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
stateyearperiodunemployment_rateqty_unemployedqty_employedlabour_force
0Alabama2000M015.110855120242622132813
1Alabama2001M015.211003520088762118911
2Alabama2002M016.513475019538142088564
3Alabama2003M016.212996619743742104340
4Alabama2004M016.413467319858862120559
\n", "
" ], "text/plain": [ " state year period unemployment_rate qty_unemployed qty_employed \\\n", "0 Alabama 2000 M01 5.1 108551 2024262 \n", "1 Alabama 2001 M01 5.2 110035 2008876 \n", "2 Alabama 2002 M01 6.5 134750 1953814 \n", "3 Alabama 2003 M01 6.2 129966 1974374 \n", "4 Alabama 2004 M01 6.4 134673 1985886 \n", "\n", " labour_force \n", "0 2132813 \n", "1 2118911 \n", "2 2088564 \n", "3 2104340 \n", "4 2120559 " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But let's for now stick with our multi-index data- and see how to use it" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [], "source": [ "data.set_index(['state', 'year', 'period'], inplace=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Selecting Data with a Multi-Index\n", "\n", "One advantage of a multi-index is that we can subset data quite simply:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
unemployment_rateqty_unemployedqty_employedlabour_force
yearperiod
2000M015.110855120242622132813
2001M015.211003520088762118911
2002M016.513475019538142088564
2003M016.212996619743742104340
2004M016.413467319858862120559
2005M015.411431920112192125538
2006M014.49368020488782142558
2007M014.39304620762522169298
2008M014.810465020655832170233
2009M019.720890819551962164104
2010M0112.326337518717802135155
2011M0111.024300119671272210128
2012M018.317798619736522151638
2013M018.217788719881802166067
2014M017.516234119894592151800
2015M016.413584219983882134230
2016M016.313459220070362141628
2000M025.110946420272262136690
2001M025.010546920099042115373
2002M026.313297919665622099541
2003M026.012726519802062107471
2004M026.113029419900822120376
2005M025.411583720149282130765
2006M024.59664320537232150366
2007M024.29176920783002170069
2008M024.910699020605642167554
2009M0210.522782219437072171529
2010M0212.125882518767582135583
2011M0210.523211719727202204837
2012M028.418255519828282165383
..................
2004M115.211161220431522154764
2005M114.08678620788692165655
2006M113.78034721053332185680
2007M113.98521421073742192588
2008M116.714576420301802175944
2009M1111.123855019103262148876
2010M1110.022253620014812224017
2011M118.017536920086042183973
2012M116.914946820233182172786
2013M116.714405220203142164366
2014M115.812417720336982157875
2015M115.712295420352292158183
2016M115.712383420608072184641
2000M124.29011620450592135175
2001M125.812412719988222122949
2002M125.712134020017472123087
2003M125.712127820122592133537
2004M124.910575620413392147095
2005M123.98379420797242163518
2006M123.78204521077482189793
2007M124.39338220966012189983
2008M127.616425820088732173131
2009M1211.424299218949732137965
2010M129.821727219965382213810
2011M127.917200420041512176155
2012M127.215651820162102172728
2013M126.714361820135192157137
2014M125.712128120234272144708
2015M125.912738920307652158154
2016M125.912929520509652180260
\n", "

204 rows × 4 columns

\n", "
" ], "text/plain": [ " unemployment_rate qty_unemployed qty_employed labour_force\n", "year period \n", "2000 M01 5.1 108551 2024262 2132813\n", "2001 M01 5.2 110035 2008876 2118911\n", "2002 M01 6.5 134750 1953814 2088564\n", "2003 M01 6.2 129966 1974374 2104340\n", "2004 M01 6.4 134673 1985886 2120559\n", "2005 M01 5.4 114319 2011219 2125538\n", "2006 M01 4.4 93680 2048878 2142558\n", "2007 M01 4.3 93046 2076252 2169298\n", "2008 M01 4.8 104650 2065583 2170233\n", "2009 M01 9.7 208908 1955196 2164104\n", "2010 M01 12.3 263375 1871780 2135155\n", "2011 M01 11.0 243001 1967127 2210128\n", "2012 M01 8.3 177986 1973652 2151638\n", "2013 M01 8.2 177887 1988180 2166067\n", "2014 M01 7.5 162341 1989459 2151800\n", "2015 M01 6.4 135842 1998388 2134230\n", "2016 M01 6.3 134592 2007036 2141628\n", "2000 M02 5.1 109464 2027226 2136690\n", "2001 M02 5.0 105469 2009904 2115373\n", "2002 M02 6.3 132979 1966562 2099541\n", "2003 M02 6.0 127265 1980206 2107471\n", "2004 M02 6.1 130294 1990082 2120376\n", "2005 M02 5.4 115837 2014928 2130765\n", "2006 M02 4.5 96643 2053723 2150366\n", "2007 M02 4.2 91769 2078300 2170069\n", "2008 M02 4.9 106990 2060564 2167554\n", "2009 M02 10.5 227822 1943707 2171529\n", "2010 M02 12.1 258825 1876758 2135583\n", "2011 M02 10.5 232117 1972720 2204837\n", "2012 M02 8.4 182555 1982828 2165383\n", "... ... ... ... ...\n", "2004 M11 5.2 111612 2043152 2154764\n", "2005 M11 4.0 86786 2078869 2165655\n", "2006 M11 3.7 80347 2105333 2185680\n", "2007 M11 3.9 85214 2107374 2192588\n", "2008 M11 6.7 145764 2030180 2175944\n", "2009 M11 11.1 238550 1910326 2148876\n", "2010 M11 10.0 222536 2001481 2224017\n", "2011 M11 8.0 175369 2008604 2183973\n", "2012 M11 6.9 149468 2023318 2172786\n", "2013 M11 6.7 144052 2020314 2164366\n", "2014 M11 5.8 124177 2033698 2157875\n", "2015 M11 5.7 122954 2035229 2158183\n", "2016 M11 5.7 123834 2060807 2184641\n", "2000 M12 4.2 90116 2045059 2135175\n", "2001 M12 5.8 124127 1998822 2122949\n", "2002 M12 5.7 121340 2001747 2123087\n", "2003 M12 5.7 121278 2012259 2133537\n", "2004 M12 4.9 105756 2041339 2147095\n", "2005 M12 3.9 83794 2079724 2163518\n", "2006 M12 3.7 82045 2107748 2189793\n", "2007 M12 4.3 93382 2096601 2189983\n", "2008 M12 7.6 164258 2008873 2173131\n", "2009 M12 11.4 242992 1894973 2137965\n", "2010 M12 9.8 217272 1996538 2213810\n", "2011 M12 7.9 172004 2004151 2176155\n", "2012 M12 7.2 156518 2016210 2172728\n", "2013 M12 6.7 143618 2013519 2157137\n", "2014 M12 5.7 121281 2023427 2144708\n", "2015 M12 5.9 127389 2030765 2158154\n", "2016 M12 5.9 129295 2050965 2180260\n", "\n", "[204 rows x 4 columns]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.loc['Alabama']" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/lachlan/anaconda3/lib/python3.5/site-packages/ipykernel/__main__.py:1: PerformanceWarning: indexing past lexsort depth may impact performance.\n", " if __name__ == '__main__':\n" ] }, { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
unemployment_rateqty_unemployedqty_employedlabour_force
period
M0112.326337518717802135155
M0212.125882518767582135583
M0311.524556718920062137573
M0410.422968019765522206232
M059.921933919940902213429
M0610.523497219945902229562
M0710.222582619909492216775
M0810.122443519882612212696
M099.821675019902192206969
M109.921922420014832220707
M1110.022253620014812224017
M129.821727219965382213810
\n", "
" ], "text/plain": [ " unemployment_rate qty_unemployed qty_employed labour_force\n", "period \n", "M01 12.3 263375 1871780 2135155\n", "M02 12.1 258825 1876758 2135583\n", "M03 11.5 245567 1892006 2137573\n", "M04 10.4 229680 1976552 2206232\n", "M05 9.9 219339 1994090 2213429\n", "M06 10.5 234972 1994590 2229562\n", "M07 10.2 225826 1990949 2216775\n", "M08 10.1 224435 1988261 2212696\n", "M09 9.8 216750 1990219 2206969\n", "M10 9.9 219224 2001483 2220707\n", "M11 10.0 222536 2001481 2224017\n", "M12 9.8 217272 1996538 2213810" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.loc['Alabama', 2010]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "unemployment_rate 9.9\n", "qty_unemployed 219224.0\n", "qty_employed 2001483.0\n", "labour_force 2220707.0\n", "Name: (Alabama, 2010, M10), dtype: float64" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.loc['Alabama', 2010, 'M10']" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "ename": "KeyError", "evalue": "'MultiIndex Slicing requires the index to be fully lexsorted tuple len (3), lexsort depth (1)'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Alabama'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'M10'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/home/lachlan/anaconda3/lib/python3.5/site-packages/pandas/core/indexing.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 1292\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1293\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mtuple\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1294\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_tuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1295\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1296\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/lachlan/anaconda3/lib/python3.5/site-packages/pandas/core/indexing.py\u001b[0m in \u001b[0;36m_getitem_tuple\u001b[0;34m(self, tup)\u001b[0m\n\u001b[1;32m 782\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_getitem_tuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtup\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 783\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 784\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_lowerdim\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtup\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 785\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mIndexingError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 786\u001b[0m \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/lachlan/anaconda3/lib/python3.5/site-packages/pandas/core/indexing.py\u001b[0m in \u001b[0;36m_getitem_lowerdim\u001b[0;34m(self, tup)\u001b[0m\n\u001b[1;32m 889\u001b[0m \u001b[0;31m# we may have a nested tuples indexer here\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 890\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_is_nested_tuple_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtup\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 891\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_nested_tuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtup\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 892\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 893\u001b[0m \u001b[0;31m# we maybe be using a tuple to represent multiple dimensions here\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/lachlan/anaconda3/lib/python3.5/site-packages/pandas/core/indexing.py\u001b[0m in \u001b[0;36m_getitem_nested_tuple\u001b[0;34m(self, tup)\u001b[0m\n\u001b[1;32m 949\u001b[0m \u001b[0;31m# this is a series with a multi-index specified a tuple of\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 950\u001b[0m \u001b[0;31m# selectors\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 951\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtup\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 952\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 953\u001b[0m \u001b[0;31m# handle the multi-axis by taking sections and reducing\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/lachlan/anaconda3/lib/python3.5/site-packages/pandas/core/indexing.py\u001b[0m in \u001b[0;36m_getitem_axis\u001b[0;34m(self, key, axis)\u001b[0m\n\u001b[1;32m 1458\u001b[0m \u001b[0;31m# nested tuple slicing\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1459\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_nested_tuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1460\u001b[0;31m \u001b[0mlocs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_locs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1461\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mslice\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1462\u001b[0m \u001b[0mindexer\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlocs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/lachlan/anaconda3/lib/python3.5/site-packages/pandas/indexes/multi.py\u001b[0m in \u001b[0;36mget_locs\u001b[0;34m(self, tup)\u001b[0m\n\u001b[1;32m 1836\u001b[0m raise KeyError('MultiIndex Slicing requires the index to be fully '\n\u001b[1;32m 1837\u001b[0m \u001b[0;34m'lexsorted tuple len ({0}), lexsort depth '\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1838\u001b[0;31m '({1})'.format(len(tup), self.lexsort_depth))\n\u001b[0m\u001b[1;32m 1839\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1840\u001b[0m \u001b[0;31m# indexer\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: 'MultiIndex Slicing requires the index to be fully lexsorted tuple len (3), lexsort depth (1)'" ] } ], "source": [ "# we hope this may work...\n", "data.loc['Alabama', :, 'M10']" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
unemployment_rateqty_unemployedqty_employedlabour_force
stateyearperiod
Alabama2000M015.110855120242622132813
M025.110946420272262136690
M034.59544920386542134103
M043.88021520451712125386
M054.18630820377872124095
\n", "
" ], "text/plain": [ " unemployment_rate qty_unemployed qty_employed \\\n", "state year period \n", "Alabama 2000 M01 5.1 108551 2024262 \n", " M02 5.1 109464 2027226 \n", " M03 4.5 95449 2038654 \n", " M04 3.8 80215 2045171 \n", " M05 4.1 86308 2037787 \n", "\n", " labour_force \n", "state year period \n", "Alabama 2000 M01 2132813 \n", " M02 2136690 \n", " M03 2134103 \n", " M04 2125386 \n", " M05 2124095 " ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# we need to sort the index first\n", "data = data.sort_index()\n", "data.head()" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
unemployment_rateqty_unemployedqty_employedlabour_force
stateyearperiod
Alabama2010M109.921922420014832220707
M1110.022253620014812224017
M129.821727219965382213810
2011M108.919491720056892200606
M118.017536920086042183973
M127.917200420041512176155
2012M107.516516420251142190278
M116.914946820233182172786
M127.215651820162102172728
2013M107.015230020120012164301
M116.714405220203142164366
M126.714361820135192157137
2014M106.013088120353452166226
M115.812417720336982157875
M125.712128120234272144708
2015M105.912642420324552158879
M115.712295420352292158183
M125.912738920307652158154
2016M106.213633620571512193487
M115.712383420608072184641
M125.912929520509652180260
\n", "
" ], "text/plain": [ " unemployment_rate qty_unemployed qty_employed \\\n", "state year period \n", "Alabama 2010 M10 9.9 219224 2001483 \n", " M11 10.0 222536 2001481 \n", " M12 9.8 217272 1996538 \n", " 2011 M10 8.9 194917 2005689 \n", " M11 8.0 175369 2008604 \n", " M12 7.9 172004 2004151 \n", " 2012 M10 7.5 165164 2025114 \n", " M11 6.9 149468 2023318 \n", " M12 7.2 156518 2016210 \n", " 2013 M10 7.0 152300 2012001 \n", " M11 6.7 144052 2020314 \n", " M12 6.7 143618 2013519 \n", " 2014 M10 6.0 130881 2035345 \n", " M11 5.8 124177 2033698 \n", " M12 5.7 121281 2023427 \n", " 2015 M10 5.9 126424 2032455 \n", " M11 5.7 122954 2035229 \n", " M12 5.9 127389 2030765 \n", " 2016 M10 6.2 136336 2057151 \n", " M11 5.7 123834 2060807 \n", " M12 5.9 129295 2050965 \n", "\n", " labour_force \n", "state year period \n", "Alabama 2010 M10 2220707 \n", " M11 2224017 \n", " M12 2213810 \n", " 2011 M10 2200606 \n", " M11 2183973 \n", " M12 2176155 \n", " 2012 M10 2190278 \n", " M11 2172786 \n", " M12 2172728 \n", " 2013 M10 2164301 \n", " M11 2164366 \n", " M12 2157137 \n", " 2014 M10 2166226 \n", " M11 2157875 \n", " M12 2144708 \n", " 2015 M10 2158879 \n", " M11 2158183 \n", " M12 2158154 \n", " 2016 M10 2193487 \n", " M11 2184641 \n", " M12 2180260 " ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.loc['Alabama', 2010:2016, 'M10':'M12']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Challenge\n", "\n", "1. Extract all the data for the Carolinas (Help: you need to do a partial string match on the index `data.index.get_level_values(XX).str.contains(YY)` )\n", "2. Extract all the data for the Carolinas in 2007\n", "3. Extract all the data for the Carolinas between 2007-2010\n", "4. Extract all the data in the summer months for the Carolina between 2007 and 2010\n", "\n", "#### Partial Solution:" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
unemployment_rateqty_unemployedqty_employedlabour_force
stateyearperiod
North Carolina2007M064.922049943233324543831
M075.123108343363754567458
M084.721250842991714511679
M094.520189043219204523810
2008M065.927117343137814584954
M076.328901843241634613181
M086.328855342826514571204
M095.926860742929284561535
2009M0610.849890841028354601743
M0710.849854141215284620069
M0810.648580240834024569204
M0910.447223140763224548553
2010M0610.950387141372914641162
M0710.850370441507394654443
M0810.548625341377324623985
M0910.045913341525844611717
South Carolina2007M065.912647620331792159655
M075.812535820318892157247
M085.712198920158752137864
M095.611981620082342128050
2008M066.614384220284772172319
M076.914977420223932172167
M087.516287720030862165963
M097.516031819908712151189
2009M0611.926068219325132193195
M0711.625347119325182185989
M0811.524796519146872162652
M0911.524569418951412140835
2010M0611.224420819404232184631
M0711.024010619442232184329
M0811.224474919347862179535
M0910.723157819239862155564
\n", "
" ], "text/plain": [ " unemployment_rate qty_unemployed qty_employed \\\n", "state year period \n", "North Carolina 2007 M06 4.9 220499 4323332 \n", " M07 5.1 231083 4336375 \n", " M08 4.7 212508 4299171 \n", " M09 4.5 201890 4321920 \n", " 2008 M06 5.9 271173 4313781 \n", " M07 6.3 289018 4324163 \n", " M08 6.3 288553 4282651 \n", " M09 5.9 268607 4292928 \n", " 2009 M06 10.8 498908 4102835 \n", " M07 10.8 498541 4121528 \n", " M08 10.6 485802 4083402 \n", " M09 10.4 472231 4076322 \n", " 2010 M06 10.9 503871 4137291 \n", " M07 10.8 503704 4150739 \n", " M08 10.5 486253 4137732 \n", " M09 10.0 459133 4152584 \n", "South Carolina 2007 M06 5.9 126476 2033179 \n", " M07 5.8 125358 2031889 \n", " M08 5.7 121989 2015875 \n", " M09 5.6 119816 2008234 \n", " 2008 M06 6.6 143842 2028477 \n", " M07 6.9 149774 2022393 \n", " M08 7.5 162877 2003086 \n", " M09 7.5 160318 1990871 \n", " 2009 M06 11.9 260682 1932513 \n", " M07 11.6 253471 1932518 \n", " M08 11.5 247965 1914687 \n", " M09 11.5 245694 1895141 \n", " 2010 M06 11.2 244208 1940423 \n", " M07 11.0 240106 1944223 \n", " M08 11.2 244749 1934786 \n", " M09 10.7 231578 1923986 \n", "\n", " labour_force \n", "state year period \n", "North Carolina 2007 M06 4543831 \n", " M07 4567458 \n", " M08 4511679 \n", " M09 4523810 \n", " 2008 M06 4584954 \n", " M07 4613181 \n", " M08 4571204 \n", " M09 4561535 \n", " 2009 M06 4601743 \n", " M07 4620069 \n", " M08 4569204 \n", " M09 4548553 \n", " 2010 M06 4641162 \n", " M07 4654443 \n", " M08 4623985 \n", " M09 4611717 \n", "South Carolina 2007 M06 2159655 \n", " M07 2157247 \n", " M08 2137864 \n", " M09 2128050 \n", " 2008 M06 2172319 \n", " M07 2172167 \n", " M08 2165963 \n", " M09 2151189 \n", " 2009 M06 2193195 \n", " M07 2185989 \n", " M08 2162652 \n", " M09 2140835 \n", " 2010 M06 2184631 \n", " M07 2184329 \n", " M08 2179535 \n", " M09 2155564 " ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.loc[data.index.get_level_values(0).str.contains(\"Carolina\"), \n", " 2007:2010, 'M06':'M09']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Index (Un-)Stacking" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One potentially cool use for multi-indexing is using the indexes across *two* dimensions. This is *unstacking*, and often allows for simple ways to view patterns in the data.\n", "\n", "For example, we could translate the year-index across to a column axis, so that we could can easily see patterns in labor force statistics in a given month, but over various years:" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
unemployment_rate...labour_force
year2000200120022003200420052006200720082009...2007200820092010201120122013201420152016
stateperiod
AlabamaM015.15.26.56.26.45.44.44.34.89.7...2169298217023321641042135155221012821516382166067215180021342302141628
M025.15.06.36.06.15.44.54.24.910.5...2170069216755421715292135583220483721653832170603216510421362842152446
M034.54.76.05.65.94.63.93.84.710.4...2176156217049921664232137573220665021715892164327217236921397762160907
M043.84.25.35.35.23.93.53.34.09.9...2156839216267421620162206232220416221638332158996215364621442722154477
M054.14.05.25.65.44.03.63.34.910.6...2158625217448521648032213429220591821785712171580216405521624232159095
M064.95.26.36.96.15.04.64.25.911.9...2184718219525921898362229562222191322034892188077218103421702132177701
M074.95.16.26.36.04.74.64.46.011.8...2182352219230721787132216775221335221959412180234217948421661302173465
M085.05.66.26.45.94.54.44.36.211.9...2170686218077021665912212696220272721772942167203216107621548212168460
M094.55.35.76.05.64.33.94.05.911.5...2174850216995321464062206969220161421725122168032215125221441022176728
M104.55.65.66.15.54.23.63.86.311.7...2181178218504921587262220707220060621902782164301216622621588792193487
M114.45.85.86.15.24.03.73.96.711.1...2192588217594421488762224017218397321727862164366215787521581832184641
M124.25.85.75.74.93.93.74.37.611.4...2189983217313121379652213810217615521727282157137214470821581542180260
AlaskaM017.47.57.88.78.88.17.97.37.48.0...345579349267353287356118360755361338360146361268359313356376
M027.57.48.09.08.98.27.97.37.68.3...346089350568354740357061361511362206360707361940359707357339
M037.27.18.08.78.57.77.57.17.38.3...346333351093355085357402361503362360360341362052359477357230
M046.76.77.68.27.87.07.06.56.97.9...345090350951355025356659360268360842359701361485358214356340
M056.46.47.27.77.46.76.66.26.67.7...350961357618360406361477365295366292365543367332364021361669
M066.46.57.47.97.66.86.56.46.77.9...357854364161367342368539372776372708372251373662370528367755
M075.55.66.67.16.56.05.85.66.07.1...361263367756370991372360376479375658375567377041373613371272
M085.25.36.36.76.25.75.55.45.86.9...356641362908366043367761372217370567371313371586368155366325
M095.65.56.66.96.56.05.75.65.97.2...351903357059360500363039367706365772366534366000362931360761
M105.85.96.97.26.86.46.05.86.37.6...349686354710358511360922364639364223363324362629360163357474
M116.36.57.47.87.26.96.46.36.88.0...349338353954357869360864364224362601362911361195358575356778
M126.56.87.78.07.37.16.66.57.08.0...348689353273355967360758363580361654361373359599357258355793
ArizonaM014.24.36.16.15.54.94.54.14.78.5...3023595306180731165563107217303941530126953016658305041431367573197977
M023.93.95.75.85.14.74.43.74.58.6...3019018305547531202363105393303519630207473013596306068631377743214959
M033.94.15.95.75.24.74.23.64.78.9...3022680306552831150103097065303677230212503010932307574731377703223314
M043.64.15.95.65.14.64.13.54.78.9...3008613307258431267473113311303393130171363019931306402131485013220117
M053.84.15.95.64.94.44.03.45.49.3...3006195308044131191013091206302226330242153027720307473131589893220802
M064.35.06.56.35.44.94.53.86.110.1...3034911311346231445443096351305696130439763051207310092831694003239204
.....................................................................
West VirginiaM075.14.65.86.15.15.15.24.53.98.0...821068819438825970816453808138816043806468795817794186791694
M085.24.75.76.05.15.15.34.63.98.0...814483812898818198814502809132810068800613789203787186787513
M094.84.25.35.34.44.74.74.23.67.5...817313815060815372816165811911812127799428786872782634787174
M104.84.25.25.14.44.44.34.03.77.6...816779816165814200813557811912813548797058788898783633788123
M115.04.65.55.14.54.44.34.04.07.6...813431809560808199808559805724804246791811779068777074779129
M125.14.85.75.24.74.34.24.34.78.1...807619803663800282804033801402799724786333772321773280771785
WisconsinM013.84.56.16.46.05.55.25.55.27.7...3060928306559230850783061794305577230428003057850304863830681523084452
M024.25.16.56.86.35.95.86.05.58.8...3074766306976331057993077511307052730628563069631306705030779543106527
M034.25.16.46.76.35.55.65.65.29.3...3070414306704731000953077035306903830572063058221306817430705043103663
M043.44.65.76.05.34.84.95.24.58.7...3067071306962030994133078882306232630507933068832305742630681743098029
M053.34.15.05.54.94.54.54.74.38.5...3068194307230530996733074285306945830686603073725306953330894193106700
M063.94.85.66.25.34.94.95.14.89.0...3136599313302231580793120226312189731259203134678312499231352473164710
M073.74.45.35.84.94.64.74.94.78.8...3135103313574931527533118308311719731163913130827312934331316483164480
M083.54.35.05.54.64.34.54.74.78.6...3103563311287031220683102723310078030849603100786310626731094773144447
M093.03.94.55.04.14.14.14.34.38.1...3088638308916530764683072257307955930666293083361308825730891773127214
M102.84.14.44.74.03.93.94.14.58.2...3083927310009930745843069318307848130765943071460309788031008453127427
M113.24.64.94.94.24.44.34.25.28.3...3086014309540330703263066617306985730686003076073309002531008853116760
M123.34.85.14.94.44.54.54.56.08.9...3078715309091730598413059191306221730663573066070307348630967983098335
WyomingM015.14.84.85.44.94.44.13.53.75.2...280655287962294670299388303903305451303988304065302808300160
M024.74.44.55.14.54.03.73.23.45.5...280755288225294997299182303474304974303316303633302822299963
M034.44.44.65.04.33.93.63.23.46.3...282920289456297893300782304846306071304385304626304636301721
M043.93.84.24.53.83.53.23.03.06.8...282916289203299650301054304293305671304429304608304429301994
M053.63.63.84.13.63.53.12.82.76.5...284791290627300307302103304630305878304599305415305204302387
M063.73.83.94.23.73.73.23.03.06.7...292137298014305996307449310674312119311450311972311380308256
M073.43.43.53.83.43.32.92.72.76.3...292045298278304603306184310751311440310830311218310245306926
M083.43.33.43.73.33.22.82.52.66.1...290133296658302187305471309004309559308650308852307846304511
M093.43.33.53.63.43.22.82.42.56.0...287821294561299774303557307206306748306052306169304353301548
M103.43.43.63.63.43.32.82.42.76.3...288442295880300205304878307938307263306560306735304311300979
M114.03.84.24.13.73.53.02.63.26.7...288931295690300575305384308172306948306599306418302892300414
M123.93.94.54.23.73.52.92.53.77.5...287174294792300582304124306890305084305285303753300859299114
\n", "

624 rows × 68 columns

\n", "
" ], "text/plain": [ " unemployment_rate \\\n", "year 2000 2001 2002 2003 2004 2005 2006 2007 \n", "state period \n", "Alabama M01 5.1 5.2 6.5 6.2 6.4 5.4 4.4 4.3 \n", " M02 5.1 5.0 6.3 6.0 6.1 5.4 4.5 4.2 \n", " M03 4.5 4.7 6.0 5.6 5.9 4.6 3.9 3.8 \n", " M04 3.8 4.2 5.3 5.3 5.2 3.9 3.5 3.3 \n", " M05 4.1 4.0 5.2 5.6 5.4 4.0 3.6 3.3 \n", " M06 4.9 5.2 6.3 6.9 6.1 5.0 4.6 4.2 \n", " M07 4.9 5.1 6.2 6.3 6.0 4.7 4.6 4.4 \n", " M08 5.0 5.6 6.2 6.4 5.9 4.5 4.4 4.3 \n", " M09 4.5 5.3 5.7 6.0 5.6 4.3 3.9 4.0 \n", " M10 4.5 5.6 5.6 6.1 5.5 4.2 3.6 3.8 \n", " M11 4.4 5.8 5.8 6.1 5.2 4.0 3.7 3.9 \n", " M12 4.2 5.8 5.7 5.7 4.9 3.9 3.7 4.3 \n", "Alaska M01 7.4 7.5 7.8 8.7 8.8 8.1 7.9 7.3 \n", " M02 7.5 7.4 8.0 9.0 8.9 8.2 7.9 7.3 \n", " M03 7.2 7.1 8.0 8.7 8.5 7.7 7.5 7.1 \n", " M04 6.7 6.7 7.6 8.2 7.8 7.0 7.0 6.5 \n", " M05 6.4 6.4 7.2 7.7 7.4 6.7 6.6 6.2 \n", " M06 6.4 6.5 7.4 7.9 7.6 6.8 6.5 6.4 \n", " M07 5.5 5.6 6.6 7.1 6.5 6.0 5.8 5.6 \n", " M08 5.2 5.3 6.3 6.7 6.2 5.7 5.5 5.4 \n", " M09 5.6 5.5 6.6 6.9 6.5 6.0 5.7 5.6 \n", " M10 5.8 5.9 6.9 7.2 6.8 6.4 6.0 5.8 \n", " M11 6.3 6.5 7.4 7.8 7.2 6.9 6.4 6.3 \n", " M12 6.5 6.8 7.7 8.0 7.3 7.1 6.6 6.5 \n", "Arizona M01 4.2 4.3 6.1 6.1 5.5 4.9 4.5 4.1 \n", " M02 3.9 3.9 5.7 5.8 5.1 4.7 4.4 3.7 \n", " M03 3.9 4.1 5.9 5.7 5.2 4.7 4.2 3.6 \n", " M04 3.6 4.1 5.9 5.6 5.1 4.6 4.1 3.5 \n", " M05 3.8 4.1 5.9 5.6 4.9 4.4 4.0 3.4 \n", " M06 4.3 5.0 6.5 6.3 5.4 4.9 4.5 3.8 \n", "... ... ... ... ... ... ... ... ... \n", "West Virginia M07 5.1 4.6 5.8 6.1 5.1 5.1 5.2 4.5 \n", " M08 5.2 4.7 5.7 6.0 5.1 5.1 5.3 4.6 \n", " M09 4.8 4.2 5.3 5.3 4.4 4.7 4.7 4.2 \n", " M10 4.8 4.2 5.2 5.1 4.4 4.4 4.3 4.0 \n", " M11 5.0 4.6 5.5 5.1 4.5 4.4 4.3 4.0 \n", " M12 5.1 4.8 5.7 5.2 4.7 4.3 4.2 4.3 \n", "Wisconsin M01 3.8 4.5 6.1 6.4 6.0 5.5 5.2 5.5 \n", " M02 4.2 5.1 6.5 6.8 6.3 5.9 5.8 6.0 \n", " M03 4.2 5.1 6.4 6.7 6.3 5.5 5.6 5.6 \n", " M04 3.4 4.6 5.7 6.0 5.3 4.8 4.9 5.2 \n", " M05 3.3 4.1 5.0 5.5 4.9 4.5 4.5 4.7 \n", " M06 3.9 4.8 5.6 6.2 5.3 4.9 4.9 5.1 \n", " M07 3.7 4.4 5.3 5.8 4.9 4.6 4.7 4.9 \n", " M08 3.5 4.3 5.0 5.5 4.6 4.3 4.5 4.7 \n", " M09 3.0 3.9 4.5 5.0 4.1 4.1 4.1 4.3 \n", " M10 2.8 4.1 4.4 4.7 4.0 3.9 3.9 4.1 \n", " M11 3.2 4.6 4.9 4.9 4.2 4.4 4.3 4.2 \n", " M12 3.3 4.8 5.1 4.9 4.4 4.5 4.5 4.5 \n", "Wyoming M01 5.1 4.8 4.8 5.4 4.9 4.4 4.1 3.5 \n", " M02 4.7 4.4 4.5 5.1 4.5 4.0 3.7 3.2 \n", " M03 4.4 4.4 4.6 5.0 4.3 3.9 3.6 3.2 \n", " M04 3.9 3.8 4.2 4.5 3.8 3.5 3.2 3.0 \n", " M05 3.6 3.6 3.8 4.1 3.6 3.5 3.1 2.8 \n", " M06 3.7 3.8 3.9 4.2 3.7 3.7 3.2 3.0 \n", " M07 3.4 3.4 3.5 3.8 3.4 3.3 2.9 2.7 \n", " M08 3.4 3.3 3.4 3.7 3.3 3.2 2.8 2.5 \n", " M09 3.4 3.3 3.5 3.6 3.4 3.2 2.8 2.4 \n", " M10 3.4 3.4 3.6 3.6 3.4 3.3 2.8 2.4 \n", " M11 4.0 3.8 4.2 4.1 3.7 3.5 3.0 2.6 \n", " M12 3.9 3.9 4.5 4.2 3.7 3.5 2.9 2.5 \n", "\n", " ... labour_force \\\n", "year 2008 2009 ... 2007 2008 2009 \n", "state period ... \n", "Alabama M01 4.8 9.7 ... 2169298 2170233 2164104 \n", " M02 4.9 10.5 ... 2170069 2167554 2171529 \n", " M03 4.7 10.4 ... 2176156 2170499 2166423 \n", " M04 4.0 9.9 ... 2156839 2162674 2162016 \n", " M05 4.9 10.6 ... 2158625 2174485 2164803 \n", " M06 5.9 11.9 ... 2184718 2195259 2189836 \n", " M07 6.0 11.8 ... 2182352 2192307 2178713 \n", " M08 6.2 11.9 ... 2170686 2180770 2166591 \n", " M09 5.9 11.5 ... 2174850 2169953 2146406 \n", " M10 6.3 11.7 ... 2181178 2185049 2158726 \n", " M11 6.7 11.1 ... 2192588 2175944 2148876 \n", " M12 7.6 11.4 ... 2189983 2173131 2137965 \n", "Alaska M01 7.4 8.0 ... 345579 349267 353287 \n", " M02 7.6 8.3 ... 346089 350568 354740 \n", " M03 7.3 8.3 ... 346333 351093 355085 \n", " M04 6.9 7.9 ... 345090 350951 355025 \n", " M05 6.6 7.7 ... 350961 357618 360406 \n", " M06 6.7 7.9 ... 357854 364161 367342 \n", " M07 6.0 7.1 ... 361263 367756 370991 \n", " M08 5.8 6.9 ... 356641 362908 366043 \n", " M09 5.9 7.2 ... 351903 357059 360500 \n", " M10 6.3 7.6 ... 349686 354710 358511 \n", " M11 6.8 8.0 ... 349338 353954 357869 \n", " M12 7.0 8.0 ... 348689 353273 355967 \n", "Arizona M01 4.7 8.5 ... 3023595 3061807 3116556 \n", " M02 4.5 8.6 ... 3019018 3055475 3120236 \n", " M03 4.7 8.9 ... 3022680 3065528 3115010 \n", " M04 4.7 8.9 ... 3008613 3072584 3126747 \n", " M05 5.4 9.3 ... 3006195 3080441 3119101 \n", " M06 6.1 10.1 ... 3034911 3113462 3144544 \n", "... ... ... ... ... ... ... \n", "West Virginia M07 3.9 8.0 ... 821068 819438 825970 \n", " M08 3.9 8.0 ... 814483 812898 818198 \n", " M09 3.6 7.5 ... 817313 815060 815372 \n", " M10 3.7 7.6 ... 816779 816165 814200 \n", " M11 4.0 7.6 ... 813431 809560 808199 \n", " M12 4.7 8.1 ... 807619 803663 800282 \n", "Wisconsin M01 5.2 7.7 ... 3060928 3065592 3085078 \n", " M02 5.5 8.8 ... 3074766 3069763 3105799 \n", " M03 5.2 9.3 ... 3070414 3067047 3100095 \n", " M04 4.5 8.7 ... 3067071 3069620 3099413 \n", " M05 4.3 8.5 ... 3068194 3072305 3099673 \n", " M06 4.8 9.0 ... 3136599 3133022 3158079 \n", " M07 4.7 8.8 ... 3135103 3135749 3152753 \n", " M08 4.7 8.6 ... 3103563 3112870 3122068 \n", " M09 4.3 8.1 ... 3088638 3089165 3076468 \n", " M10 4.5 8.2 ... 3083927 3100099 3074584 \n", " M11 5.2 8.3 ... 3086014 3095403 3070326 \n", " M12 6.0 8.9 ... 3078715 3090917 3059841 \n", "Wyoming M01 3.7 5.2 ... 280655 287962 294670 \n", " M02 3.4 5.5 ... 280755 288225 294997 \n", " M03 3.4 6.3 ... 282920 289456 297893 \n", " M04 3.0 6.8 ... 282916 289203 299650 \n", " M05 2.7 6.5 ... 284791 290627 300307 \n", " M06 3.0 6.7 ... 292137 298014 305996 \n", " M07 2.7 6.3 ... 292045 298278 304603 \n", " M08 2.6 6.1 ... 290133 296658 302187 \n", " M09 2.5 6.0 ... 287821 294561 299774 \n", " M10 2.7 6.3 ... 288442 295880 300205 \n", " M11 3.2 6.7 ... 288931 295690 300575 \n", " M12 3.7 7.5 ... 287174 294792 300582 \n", "\n", " \\\n", "year 2010 2011 2012 2013 2014 2015 \n", "state period \n", "Alabama M01 2135155 2210128 2151638 2166067 2151800 2134230 \n", " M02 2135583 2204837 2165383 2170603 2165104 2136284 \n", " M03 2137573 2206650 2171589 2164327 2172369 2139776 \n", " M04 2206232 2204162 2163833 2158996 2153646 2144272 \n", " M05 2213429 2205918 2178571 2171580 2164055 2162423 \n", " M06 2229562 2221913 2203489 2188077 2181034 2170213 \n", " M07 2216775 2213352 2195941 2180234 2179484 2166130 \n", " M08 2212696 2202727 2177294 2167203 2161076 2154821 \n", " M09 2206969 2201614 2172512 2168032 2151252 2144102 \n", " M10 2220707 2200606 2190278 2164301 2166226 2158879 \n", " M11 2224017 2183973 2172786 2164366 2157875 2158183 \n", " M12 2213810 2176155 2172728 2157137 2144708 2158154 \n", "Alaska M01 356118 360755 361338 360146 361268 359313 \n", " M02 357061 361511 362206 360707 361940 359707 \n", " M03 357402 361503 362360 360341 362052 359477 \n", " M04 356659 360268 360842 359701 361485 358214 \n", " M05 361477 365295 366292 365543 367332 364021 \n", " M06 368539 372776 372708 372251 373662 370528 \n", " M07 372360 376479 375658 375567 377041 373613 \n", " M08 367761 372217 370567 371313 371586 368155 \n", " M09 363039 367706 365772 366534 366000 362931 \n", " M10 360922 364639 364223 363324 362629 360163 \n", " M11 360864 364224 362601 362911 361195 358575 \n", " M12 360758 363580 361654 361373 359599 357258 \n", "Arizona M01 3107217 3039415 3012695 3016658 3050414 3136757 \n", " M02 3105393 3035196 3020747 3013596 3060686 3137774 \n", " M03 3097065 3036772 3021250 3010932 3075747 3137770 \n", " M04 3113311 3033931 3017136 3019931 3064021 3148501 \n", " M05 3091206 3022263 3024215 3027720 3074731 3158989 \n", " M06 3096351 3056961 3043976 3051207 3100928 3169400 \n", "... ... ... ... ... ... ... \n", "West Virginia M07 816453 808138 816043 806468 795817 794186 \n", " M08 814502 809132 810068 800613 789203 787186 \n", " M09 816165 811911 812127 799428 786872 782634 \n", " M10 813557 811912 813548 797058 788898 783633 \n", " M11 808559 805724 804246 791811 779068 777074 \n", " M12 804033 801402 799724 786333 772321 773280 \n", "Wisconsin M01 3061794 3055772 3042800 3057850 3048638 3068152 \n", " M02 3077511 3070527 3062856 3069631 3067050 3077954 \n", " M03 3077035 3069038 3057206 3058221 3068174 3070504 \n", " M04 3078882 3062326 3050793 3068832 3057426 3068174 \n", " M05 3074285 3069458 3068660 3073725 3069533 3089419 \n", " M06 3120226 3121897 3125920 3134678 3124992 3135247 \n", " M07 3118308 3117197 3116391 3130827 3129343 3131648 \n", " M08 3102723 3100780 3084960 3100786 3106267 3109477 \n", " M09 3072257 3079559 3066629 3083361 3088257 3089177 \n", " M10 3069318 3078481 3076594 3071460 3097880 3100845 \n", " M11 3066617 3069857 3068600 3076073 3090025 3100885 \n", " M12 3059191 3062217 3066357 3066070 3073486 3096798 \n", "Wyoming M01 299388 303903 305451 303988 304065 302808 \n", " M02 299182 303474 304974 303316 303633 302822 \n", " M03 300782 304846 306071 304385 304626 304636 \n", " M04 301054 304293 305671 304429 304608 304429 \n", " M05 302103 304630 305878 304599 305415 305204 \n", " M06 307449 310674 312119 311450 311972 311380 \n", " M07 306184 310751 311440 310830 311218 310245 \n", " M08 305471 309004 309559 308650 308852 307846 \n", " M09 303557 307206 306748 306052 306169 304353 \n", " M10 304878 307938 307263 306560 306735 304311 \n", " M11 305384 308172 306948 306599 306418 302892 \n", " M12 304124 306890 305084 305285 303753 300859 \n", "\n", " \n", "year 2016 \n", "state period \n", "Alabama M01 2141628 \n", " M02 2152446 \n", " M03 2160907 \n", " M04 2154477 \n", " M05 2159095 \n", " M06 2177701 \n", " M07 2173465 \n", " M08 2168460 \n", " M09 2176728 \n", " M10 2193487 \n", " M11 2184641 \n", " M12 2180260 \n", "Alaska M01 356376 \n", " M02 357339 \n", " M03 357230 \n", " M04 356340 \n", " M05 361669 \n", " M06 367755 \n", " M07 371272 \n", " M08 366325 \n", " M09 360761 \n", " M10 357474 \n", " M11 356778 \n", " M12 355793 \n", "Arizona M01 3197977 \n", " M02 3214959 \n", " M03 3223314 \n", " M04 3220117 \n", " M05 3220802 \n", " M06 3239204 \n", "... ... \n", "West Virginia M07 791694 \n", " M08 787513 \n", " M09 787174 \n", " M10 788123 \n", " M11 779129 \n", " M12 771785 \n", "Wisconsin M01 3084452 \n", " M02 3106527 \n", " M03 3103663 \n", " M04 3098029 \n", " M05 3106700 \n", " M06 3164710 \n", " M07 3164480 \n", " M08 3144447 \n", " M09 3127214 \n", " M10 3127427 \n", " M11 3116760 \n", " M12 3098335 \n", "Wyoming M01 300160 \n", " M02 299963 \n", " M03 301721 \n", " M04 301994 \n", " M05 302387 \n", " M06 308256 \n", " M07 306926 \n", " M08 304511 \n", " M09 301548 \n", " M10 300979 \n", " M11 300414 \n", " M12 299114 \n", "\n", "[624 rows x 68 columns]" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.unstack(level=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In it's current form this is a bit ugly because there is so much data. But we can use our indexing function `loc` together with a column selection to potentially view one of our series:" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
year20002001200220032004200520062007200820092010201120122013201420152016
period
M015.45.37.07.37.06.25.35.56.410.212.712.611.410.28.47.25.9
M025.45.16.87.16.76.15.35.46.310.612.612.211.39.78.46.95.8
M035.45.36.97.17.05.95.25.26.610.912.612.111.09.38.36.75.8
M044.84.96.66.76.35.34.95.06.110.412.011.510.38.77.36.25.4
M054.84.66.26.45.95.04.54.86.410.611.711.310.28.67.26.14.9
M065.05.26.77.26.45.44.95.37.011.312.012.010.69.27.46.35.6
M075.35.56.97.16.45.55.25.77.611.712.612.210.99.37.96.55.8
M085.05.76.76.85.95.14.95.47.811.512.311.910.48.97.66.15.6
M094.65.56.36.55.65.14.65.37.711.411.911.59.68.57.05.65.2
M104.55.86.46.55.75.04.55.48.011.611.911.39.78.56.95.75.2
M114.76.26.86.75.95.34.85.68.411.712.311.09.58.37.05.75.0
M124.46.16.76.25.74.94.75.99.011.812.111.09.68.06.65.65.0
\n", "
" ], "text/plain": [ "year 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 \\\n", "period \n", "M01 5.4 5.3 7.0 7.3 7.0 6.2 5.3 5.5 6.4 10.2 12.7 \n", "M02 5.4 5.1 6.8 7.1 6.7 6.1 5.3 5.4 6.3 10.6 12.6 \n", "M03 5.4 5.3 6.9 7.1 7.0 5.9 5.2 5.2 6.6 10.9 12.6 \n", "M04 4.8 4.9 6.6 6.7 6.3 5.3 4.9 5.0 6.1 10.4 12.0 \n", "M05 4.8 4.6 6.2 6.4 5.9 5.0 4.5 4.8 6.4 10.6 11.7 \n", "M06 5.0 5.2 6.7 7.2 6.4 5.4 4.9 5.3 7.0 11.3 12.0 \n", "M07 5.3 5.5 6.9 7.1 6.4 5.5 5.2 5.7 7.6 11.7 12.6 \n", "M08 5.0 5.7 6.7 6.8 5.9 5.1 4.9 5.4 7.8 11.5 12.3 \n", "M09 4.6 5.5 6.3 6.5 5.6 5.1 4.6 5.3 7.7 11.4 11.9 \n", "M10 4.5 5.8 6.4 6.5 5.7 5.0 4.5 5.4 8.0 11.6 11.9 \n", "M11 4.7 6.2 6.8 6.7 5.9 5.3 4.8 5.6 8.4 11.7 12.3 \n", "M12 4.4 6.1 6.7 6.2 5.7 4.9 4.7 5.9 9.0 11.8 12.1 \n", "\n", "year 2011 2012 2013 2014 2015 2016 \n", "period \n", "M01 12.6 11.4 10.2 8.4 7.2 5.9 \n", "M02 12.2 11.3 9.7 8.4 6.9 5.8 \n", "M03 12.1 11.0 9.3 8.3 6.7 5.8 \n", "M04 11.5 10.3 8.7 7.3 6.2 5.4 \n", "M05 11.3 10.2 8.6 7.2 6.1 4.9 \n", "M06 12.0 10.6 9.2 7.4 6.3 5.6 \n", "M07 12.2 10.9 9.3 7.9 6.5 5.8 \n", "M08 11.9 10.4 8.9 7.6 6.1 5.6 \n", "M09 11.5 9.6 8.5 7.0 5.6 5.2 \n", "M10 11.3 9.7 8.5 6.9 5.7 5.2 \n", "M11 11.0 9.5 8.3 7.0 5.7 5.0 \n", "M12 11.0 9.6 8.0 6.6 5.6 5.0 " ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.unstack(level=1).loc['California']['unemployment_rate']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "the opposite of unstacking is `stacking`, and it puts our data back into the multi-index format we began with:" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
unemployment_rateqty_unemployedqty_employedlabour_force
stateperiodyear
AlabamaM0120005.110855120242622132813
20015.211003520088762118911
20026.513475019538142088564
20036.212996619743742104340
20046.413467319858862120559
20055.411431920112192125538
20064.49368020488782142558
20074.39304620762522169298
20084.810465020655832170233
20099.720890819551962164104
201012.326337518717802135155
201111.024300119671272210128
20128.317798619736522151638
20138.217788719881802166067
20147.516234119894592151800
20156.413584219983882134230
20166.313459220070362141628
M0220005.110946420272262136690
20015.010546920099042115373
20026.313297919665622099541
20036.012726519802062107471
20046.113029419900822120376
20055.411583720149282130765
20064.59664320537232150366
20074.29176920783002170069
20084.910699020605642167554
200910.522782219437072171529
201012.125882518767582135583
201110.523211719727202204837
20128.418255519828282165383
.....................
WyomingM1120043.710109264755274864
20053.59682268258277940
20063.08434274556282990
20072.67454281477288931
20083.29449286241295690
20096.720164280411300575
20106.118538286846305384
20115.617208290964308172
20125.215895291053306948
20134.413608292991306599
20144.112708293710306418
20154.513669289223302892
20164.613967286447300414
M1220003.910373256296266669
20013.910512256858267370
20024.512019257886269905
20034.211431261414272845
20043.710114262956273070
20053.59808266945276753
20062.98165273821281986
20072.57310279864287174
20083.710963283829294792
20097.522395278187300582
20106.218913285211304124
20115.717602289288306890
20125.215953289131305084
20134.614116291169305285
20143.811613292140303753
20154.814459286400300859
20165.014866284248299114
\n", "

10608 rows × 4 columns

\n", "
" ], "text/plain": [ " unemployment_rate qty_unemployed qty_employed \\\n", "state period year \n", "Alabama M01 2000 5.1 108551 2024262 \n", " 2001 5.2 110035 2008876 \n", " 2002 6.5 134750 1953814 \n", " 2003 6.2 129966 1974374 \n", " 2004 6.4 134673 1985886 \n", " 2005 5.4 114319 2011219 \n", " 2006 4.4 93680 2048878 \n", " 2007 4.3 93046 2076252 \n", " 2008 4.8 104650 2065583 \n", " 2009 9.7 208908 1955196 \n", " 2010 12.3 263375 1871780 \n", " 2011 11.0 243001 1967127 \n", " 2012 8.3 177986 1973652 \n", " 2013 8.2 177887 1988180 \n", " 2014 7.5 162341 1989459 \n", " 2015 6.4 135842 1998388 \n", " 2016 6.3 134592 2007036 \n", " M02 2000 5.1 109464 2027226 \n", " 2001 5.0 105469 2009904 \n", " 2002 6.3 132979 1966562 \n", " 2003 6.0 127265 1980206 \n", " 2004 6.1 130294 1990082 \n", " 2005 5.4 115837 2014928 \n", " 2006 4.5 96643 2053723 \n", " 2007 4.2 91769 2078300 \n", " 2008 4.9 106990 2060564 \n", " 2009 10.5 227822 1943707 \n", " 2010 12.1 258825 1876758 \n", " 2011 10.5 232117 1972720 \n", " 2012 8.4 182555 1982828 \n", "... ... ... ... \n", "Wyoming M11 2004 3.7 10109 264755 \n", " 2005 3.5 9682 268258 \n", " 2006 3.0 8434 274556 \n", " 2007 2.6 7454 281477 \n", " 2008 3.2 9449 286241 \n", " 2009 6.7 20164 280411 \n", " 2010 6.1 18538 286846 \n", " 2011 5.6 17208 290964 \n", " 2012 5.2 15895 291053 \n", " 2013 4.4 13608 292991 \n", " 2014 4.1 12708 293710 \n", " 2015 4.5 13669 289223 \n", " 2016 4.6 13967 286447 \n", " M12 2000 3.9 10373 256296 \n", " 2001 3.9 10512 256858 \n", " 2002 4.5 12019 257886 \n", " 2003 4.2 11431 261414 \n", " 2004 3.7 10114 262956 \n", " 2005 3.5 9808 266945 \n", " 2006 2.9 8165 273821 \n", " 2007 2.5 7310 279864 \n", " 2008 3.7 10963 283829 \n", " 2009 7.5 22395 278187 \n", " 2010 6.2 18913 285211 \n", " 2011 5.7 17602 289288 \n", " 2012 5.2 15953 289131 \n", " 2013 4.6 14116 291169 \n", " 2014 3.8 11613 292140 \n", " 2015 4.8 14459 286400 \n", " 2016 5.0 14866 284248 \n", "\n", " labour_force \n", "state period year \n", "Alabama M01 2000 2132813 \n", " 2001 2118911 \n", " 2002 2088564 \n", " 2003 2104340 \n", " 2004 2120559 \n", " 2005 2125538 \n", " 2006 2142558 \n", " 2007 2169298 \n", " 2008 2170233 \n", " 2009 2164104 \n", " 2010 2135155 \n", " 2011 2210128 \n", " 2012 2151638 \n", " 2013 2166067 \n", " 2014 2151800 \n", " 2015 2134230 \n", " 2016 2141628 \n", " M02 2000 2136690 \n", " 2001 2115373 \n", " 2002 2099541 \n", " 2003 2107471 \n", " 2004 2120376 \n", " 2005 2130765 \n", " 2006 2150366 \n", " 2007 2170069 \n", " 2008 2167554 \n", " 2009 2171529 \n", " 2010 2135583 \n", " 2011 2204837 \n", " 2012 2165383 \n", "... ... \n", "Wyoming M11 2004 274864 \n", " 2005 277940 \n", " 2006 282990 \n", " 2007 288931 \n", " 2008 295690 \n", " 2009 300575 \n", " 2010 305384 \n", " 2011 308172 \n", " 2012 306948 \n", " 2013 306599 \n", " 2014 306418 \n", " 2015 302892 \n", " 2016 300414 \n", " M12 2000 266669 \n", " 2001 267370 \n", " 2002 269905 \n", " 2003 272845 \n", " 2004 273070 \n", " 2005 276753 \n", " 2006 281986 \n", " 2007 287174 \n", " 2008 294792 \n", " 2009 300582 \n", " 2010 304124 \n", " 2011 306890 \n", " 2012 305084 \n", " 2013 305285 \n", " 2014 303753 \n", " 2015 300859 \n", " 2016 299114 \n", "\n", "[10608 rows x 4 columns]" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.unstack(level=1).stack(level=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this way, the `unstack`-`stack` functionality is a useful way to view data and potentially see some patterns; even if the data is has high dimensionality in the index" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Challenge\n", "* Use the unstack method to view data about the employment rate among the labor force over years and months in California" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "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.5.2" } }, "nbformat": 4, "nbformat_minor": 0 }