DS4UX (Spring 2016)/Baby Names

From CommunityData
Jump to: navigation, search

Baby Names[edit]

Being a twin means you always have a pillow or blanket handy.jpg

Baby Names: How many babies were born last year with your name? Are a wider variety of names used for boys or for girls? What are the most popular names used for both boys and girls? This session will use data from the US Social Security Administration on baby names from the last several years to answer these questions and more!

Goals[edit]

  • Have fun exploring real data on baby names in the US
  • Practice manipulating and searching strings
  • Practice using dictionaries
  • Practice using numbers and doing simple arithmatic

Setup[edit]

Download the Baby Names project[edit]

You'll be playing with data from the list of all baby names in the US (used more than five times in a year) from the last several years:

  1. Right click the following file, click "Save Target as..." or "Save link as...", and save it to your Desktop directory: http://jtmorgan.net/ds4ux/week3/babynames.zip
  2. The ".zip" extension on the above file indicates that it is a compressed Zip archive. We need to "extract" its contents. To do this, click on "Start", then "Computer", and navigate to your Desktop directory. Find babynames.zip on your Desktop and double-click on it to "unzip" it. That will create a folder called babynames containing several files.

Test the Baby Names code[edit]

Start a command prompt and navigate to the Desktop\babynames directory where the Baby Names code lives.

On Windows

If the Baby Names project is at C:\Users\{Your User Name}\Desktop\babynames,

cd C:\Users\{Your User Name}\Desktop\babynames

will change you into that directory

On Mac

Start a command prompt and navigate to the ~/Desktop/babynames directory where the Baby Names code lives. For example, if the Baby Names project is at ~/Desktop/babynames,

cd ~/Desktop/babynames

will change you into that directory

On both operating systems

Once you've navigated to the correct directory, type

ls

to show you the source code files in that directory.

One of the files is babynames1.py, which has a ".py" extension indicating that it is a Python script. Type:

python babynames1.py

at the command prompt to execute the babynames1.py Python script. It should output text that says something like this:

There were 12 boys named mako

Details[edit]

There are a number of files in the babynames.zip archive file. The only three we are going to working through are the example files called: babynames1.py, babynames2.py, and babynames3.py

Each of these files begins with this line:

import ssadata

This imports the ssdata module which is a special Python module we created for this project that includes only two things:

  • ssadata.boys - A dictionary where the the keys are names of boys and the values are the number of infants born in 2013 who had that particular name.
  • ssadata.girls - A dictionary where the the keys are names of boys and the values are the number of infants born in 2013 who had that particular name.

If you are in the directory that contains the babynames projects files, you can run the following code in the interactive Python interpreter to print out the dictionary of girls:

import ssadata
ssadata.girls

We'll walk through the rest of the important details in the session! You will have a chance to get a head start on the Day 3 coding challenges during project time at the end of class.