Community Data Science Course (Spring 2023)/Week 3 coding challenges

From CommunityData

Baby Names

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 set of coding challenges will use data from the US Social Security Administration on baby names from the last several years to answer these questions and more!

Goals

  • 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 arithmetic

#0 Setup


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.

Each of these files begins with this line:

import ssadata

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

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

Challenges

  1. Search for your own name. Are there both boys and girls that have your name? Is it more popular for one group than for the other? (Hint: don't use a for loop for this one.)
  2. What is the most common name for each gender?
  3. What is the least common name?
  4. How often do the least common names occur? (Does that bother you?)
  5. Are there more boys names or girls names?
    1. What about that start with "a"?
    2. For every letter, tell if there are more boys names or girls names.
  6. What is the longest name in the dataset?
  7. How many boys and girls are described in the dataset (i.e., how many boys and girls born in 2013 have names given to at least four others)?
  8. How many boys names are also girls names? How many girls names are also boys names?
  9. What is the most popular girls name that is also a boys name?
  10. Discover at least one fact about the names that is not listed above.
  11. Challenge plot (in Excel) the number of people who share a name with n other people in the data set, where n is 4 to 19.