{ "metadata": { "name": "", "signature": "sha256:797fd18bc82d917fdbc3bb8ad5b6f92d3e1a68e9cad7e2c74b3e265f326a7337" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Solution: Hands-on with Pandas\n", "\n", "This notebook will walk you through some exercises to get practice using Pandas for data manipulation.\n", "\n", "As you use this, feel free to make ample use of the [Pandas Documentation](http://pandas.pydata.org), the [Pandas StackOverflow Channel](http://stackoverflow.com/questions/tagged/pandas), and your favorite search engine. For example, if you search phrases like [\"Pandas sum all columns\"](https://www.google.com/search?q=pandas+sum+all+columns), you're very likely to find an answer to the question you have in mind.\n", "\n", "Also, if it comes down to it, note that solutions are available in the Git repository." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Start with our normal batch of imports and settings\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "\n", "# Following is optional: set plotting styles\n", "import seaborn; seaborn.set()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Diving Deeper into Baby Names\n", "\n", "In the lecture, we looked at the US Social Security Baby Names data. Here let's dive a little bit deeper into this.\n", "\n", "Try to do the following with the Baby Names data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 0. Load the baby names data\n", "\n", "(Here you can copy the code from the other notebook; make sure you understand what it's doing!)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def load_year(year):\n", " data = pd.read_csv('../data/names/yob{0}.txt'.format(year),\n", " names=['name', 'gender', 'births'])\n", " data['year'] = year\n", " return data\n", "\n", "names = pd.concat([load_year(year) for year in range(1880, 2014)])\n", "names.head()" ], "language": "python", "metadata": {}, "outputs": [ { "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", "
namegenderbirthsyear
0 Mary F 7065 1880
1 Anna F 2604 1880
2 Emma F 2003 1880
3 Elizabeth F 1939 1880
4 Minnie F 1746 1880
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ " name gender births year\n", "0 Mary F 7065 1880\n", "1 Anna F 2604 1880\n", "2 Emma F 2003 1880\n", "3 Elizabeth F 1939 1880\n", "4 Minnie F 1746 1880" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1. Find your own name within the data. \n", "\n", "- How many babies per year are born with your name?\n", "- What *fraction* of births each year have your name?\n", "\n", "Note: there are multiple ways to do this, but the first part will use *masking* and *pivot tables*, while the second part might also throw-in a *groupby*." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Plot the prevalence of my name over time\n", "my_name = 'Jacob'\n", "subset = names[names.name == my_name]\n", "\n", "births = subset.pivot_table('births', index='year',\n", " columns='gender', aggfunc='sum')\n", "births.plot();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nRK5CYII=\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "# Whoah... there are some female \"Jacob\"s? Let's look at this:\n", "births['F'].fillna(0).plot();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "# Now we'll normalize the births against the total for each year\n", "def add_birth_frac(group):\n", " group['birth_frac'] = group.births / group.births.sum()\n", " return group\n", "\n", "names = names.groupby(['year', 'gender']).apply(add_birth_frac)\n", "names.head()" ], "language": "python", "metadata": {}, "outputs": [ { "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", "
namegenderbirthsyearbirth_frac
0 Mary F 7065 1880 0.077643
1 Anna F 2604 1880 0.028618
2 Emma F 2003 1880 0.022013
3 Elizabeth F 1939 1880 0.021309
4 Minnie F 1746 1880 0.019188
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ " name gender births year birth_frac\n", "0 Mary F 7065 1880 0.077643\n", "1 Anna F 2604 1880 0.028618\n", "2 Emma F 2003 1880 0.022013\n", "3 Elizabeth F 1939 1880 0.021309\n", "4 Minnie F 1746 1880 0.019188" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "names[names.name == my_name].pivot_table('birth_frac', index='year',\n", " columns='gender', aggfunc='sum').plot();" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nMYg6ItE7AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "My name (Jacob) seems to have dipped in popularity in the 1960s, only to make a profound rise around the time I was born (1981). I'll choose to presume that I was the trend-setter." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2. Find names which have switched genders.\n", "\n", "This is a bit tricky: you might be tempted to use a ``groupby`` and ``apply`` over the multiple indices ``['year', 'gender', 'name']``, but if you try this you'll find that it's **very** computationally intensive.\n", "\n", "I'd suggest doing the following:\n", "\n", "- Use a pivot table, and find the total number of births for each name before some early date (say, 1920) and after some later date (say, 1980).\n", "- Compute the percentage of males for each name within those groups.\n", "- Use masking to find which names have transitioned from a low percentage to a high percentage, and vice versa.\n", "\n", "Is a name more likely to transition from female to male, or from male to female?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "births = names.pivot_table('births', index=['year', 'name'], columns='gender')\n", "births = births.fillna(0)\n", "births.head()" ], "language": "python", "metadata": {}, "outputs": [ { "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", "
genderFM
yearname
1880Aaron 0 102
Ab 0 5
Abbie 71 0
Abbott 0 5
Abby 6 0
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "gender F M\n", "year name \n", "1880 Aaron 0 102\n", " Ab 0 5\n", " Abbie 71 0\n", " Abbott 0 5\n", " Abby 6 0" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "early_period = births[:1920].fillna(0).sum(axis=0, level=1)\n", "late_period = births[1980:].fillna(0).sum(axis=0, level=1)\n", "\n", "early_period.head()" ], "language": "python", "metadata": {}, "outputs": [ { "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", "
genderFM
name
Aaron 0 196
Ab 0 5
Abbie 152 0
Abbott 0 5
Abby 13 0
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "gender F M\n", "name \n", "Aaron 0 196\n", "Ab 0 5\n", "Abbie 152 0\n", "Abbott 0 5\n", "Abby 13 0" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "early_pct_M = 100 * early_period['M'] / early_period.sum(1)\n", "late_pct_M = 100 * late_period['M'] / late_period.sum(1)\n", "fractions = pd.DataFrame({'early_pct_M': early_pct_M,\n", " 'late_pct_M': late_pct_M})\n", "fractions.head()" ], "language": "python", "metadata": {}, "outputs": [ { "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", "
early_pct_Mlate_pct_M
AabanNaN 100
AabhaNaN 0
AabidNaN 100
AabriellaNaN 0
AadamNaN 100
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ " early_pct_M late_pct_M\n", "Aaban NaN 100\n", "Aabha NaN 0\n", "Aabid NaN 100\n", "Aabriella NaN 0\n", "Aadam NaN 100" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Names which switched from female to male:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "fractions[(fractions.early_pct_M < 40) & (fractions.late_pct_M > 60)]" ], "language": "python", "metadata": {}, "outputs": [ { "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", "
early_pct_Mlate_pct_M
Byrd 0 74.163180
Donnie 0 89.382491
Texas 0 61.595547
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ " early_pct_M late_pct_M\n", "Byrd 0 74.163180\n", "Donnie 0 89.382491\n", "Texas 0 61.595547" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Names which switched from male to female:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "fractions[(fractions.late_pct_M < 40) & (fractions.early_pct_M > 60)]" ], "language": "python", "metadata": {}, "outputs": [ { "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", "
early_pct_Mlate_pct_M
Addison 100.000000 11.834706
Allison 100.000000 1.339702
Ashley 100.000000 1.829521
Aubrey 100.000000 27.222843
Avery 100.000000 35.322797
Bailey 100.000000 19.046721
Beverly 100.000000 1.213195
Billie 100.000000 23.801506
Dana 100.000000 21.765366
Dee 76.923077 31.270896
Edie 100.000000 1.747844
Hollie 100.000000 7.608124
Holly 100.000000 0.772741
Ivey 100.000000 38.790821
Jodie 100.000000 11.670106
Kelly 100.000000 14.757141
Leslie 90.804598 29.935140
Lindsay 100.000000 3.829148
Lindsey 100.000000 4.732257
Lonie 100.000000 38.973799
Lynn 85.714286 22.320630
Madison 100.000000 2.156303
Marion 62.171053 27.595220
Merida 100.000000 0.000000
Morgan 100.000000 16.627275
Nova 100.000000 7.898499
Orla 100.000000 29.629630
Ossie 64.285714 36.361646
Pat 100.000000 39.964689
Payton 100.000000 33.960323
Presley 100.000000 20.217981
Reese 100.000000 38.903715
Sandy 100.000000 13.159606
Shelby 100.000000 10.215817
Stacy 100.000000 11.978544
Sydney 100.000000 5.343434
Taylor 100.000000 26.055568
Tracy 100.000000 19.573779
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ " early_pct_M late_pct_M\n", "Addison 100.000000 11.834706\n", "Allison 100.000000 1.339702\n", "Ashley 100.000000 1.829521\n", "Aubrey 100.000000 27.222843\n", "Avery 100.000000 35.322797\n", "Bailey 100.000000 19.046721\n", "Beverly 100.000000 1.213195\n", "Billie 100.000000 23.801506\n", "Dana 100.000000 21.765366\n", "Dee 76.923077 31.270896\n", "Edie 100.000000 1.747844\n", "Hollie 100.000000 7.608124\n", "Holly 100.000000 0.772741\n", "Ivey 100.000000 38.790821\n", "Jodie 100.000000 11.670106\n", "Kelly 100.000000 14.757141\n", "Leslie 90.804598 29.935140\n", "Lindsay 100.000000 3.829148\n", "Lindsey 100.000000 4.732257\n", "Lonie 100.000000 38.973799\n", "Lynn 85.714286 22.320630\n", "Madison 100.000000 2.156303\n", "Marion 62.171053 27.595220\n", "Merida 100.000000 0.000000\n", "Morgan 100.000000 16.627275\n", "Nova 100.000000 7.898499\n", "Orla 100.000000 29.629630\n", "Ossie 64.285714 36.361646\n", "Pat 100.000000 39.964689\n", "Payton 100.000000 33.960323\n", "Presley 100.000000 20.217981\n", "Reese 100.000000 38.903715\n", "Sandy 100.000000 13.159606\n", "Shelby 100.000000 10.215817\n", "Stacy 100.000000 11.978544\n", "Sydney 100.000000 5.343434\n", "Taylor 100.000000 26.055568\n", "Tracy 100.000000 19.573779" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Apparently it's much more common for a name to transition from male to female than the other way around!" ] } ], "metadata": {} } ] }