Editing Community Data Science Workshops (Core)/Workshop/Baby Names

From CommunityData
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{Template:CDSW Header}}
== Baby Names ==
== Baby Names ==


[[File:Being a twin means you always have a pillow or blanket handy.jpg|350px]]
[[File:Being a twin means you always have a pillow or blanket handy.jpg|350px]]


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!
[[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!
 
== Setup ==
 
If you already set up the babynames project, feel free to skip this section.
 
===Download the Baby Names project===
 
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:
 
# Right click the following file, click "Save Target as..." or "Save link as...", and save it to your Desktop directory: http://mako.cc/teaching/2015/cdsw-spring/babynames.zip
# 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.


== Goals ==
===Test the Baby Names code===
 
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 <code>C:\Users\'''{Your User Name}'''\Desktop\babynames</code>,


* Have fun exploring real data on baby names in the US
cd C:\Users\'''{Your User Name}'''\Desktop\babynames
* Practice manipulating and searching strings
* Practice using dictionaries
* Practice using numbers and doing simple arithmatic


== Setup ==
will change you into that directory, and


You only need to follow the instructions within the section marked "Baby Names" on [[Community Data Science Workshops (Core)/Workshop/Baby Names/Setup|this page]].
ls


will show you the source code files in that directory. One of the files is <code>babynames1.py</code>, which has a ".py" extension indicating that it is a Python script. Type:


<!-- == Handout ==
python babynames1.py


* [[Baby Names handout]] - something like the [[Wordplay handout]] would be nice!
at the command prompt to execute the babynames1.py Python script. It should output text that says something like this:
-->


== Details ==
There were 12 boys named mako


There are a number of files in the <code>babynames.zip</code> archive file. We will work in the jupyter notebook <code>BabyNames.ipynb</code>.
If it does not, let a staff member know.


The notebook begins with this line:
===Success!===


import ssadata
You've completed setup for the Baby Names project.


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


* <code>ssadata.boys</code> - A dictionary where the the keys are names of boys and the values are the number of infants born in 2018 who had that particular name.
* [[Baby Names handout]] - something like the [[Wordplay handout]] would be nice!
* <code>ssadata.girls</code> - A dictionary where the the keys are names of boys and the values are the number of infants born in 2018 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
== Goals ==
ssadata.girls


We'll walk through the rest of the important details in the session!
* 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


== Ideas for exercises ==
== Ideas for exercises ==


# 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?
# 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?
# Are there more boys' names or girls' names? What about for particular first letters? What about for ''every'' first letter?
# Are there more boys names or girls names? What about for particular letters? What about for ''every'' letter?
# How many boys and girls are described in the dataset (i.e., how many boys and girls born in 2020 have names given to at least four others)?
# What is the longest name in the dataset?
# What is the longest name in the dataset?
# How many boys' names are also girls' names? How many girls' names are also boys' names?
# 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)?
# How many boys names are also girls names? How many girls names are also boys names?
# How many names are subsets of other names?
# How many names are subsets of other names?
# Write a program that will take a name as input and return the number of girls and boys with that name.
# Write a program that will take a name as input and return the number of girls and boys with that name.
# What is the most popular girls' name that is also a boys' name?
# What is the most popular girls name that is also a boys name?
# Take a prefix as input and print the number of boys and girls with that prefix (i.e., "m" would list babies whose names start with "m" and "ma" would list babies whose names start with "ma", etc).
# Take a prefix as input and print the number of boys and girls with that prefix. (i.e., "m" would list babies whose names start with "m" and "ma" would list babies whose names start with "ma", etc).
 
https://imgs.xkcd.com/comics/grandpa_jason_and_grandpa_chad.png
 
[[Category:CDSW]]
Please note that all contributions to CommunityData are considered to be released under the Attribution-Share Alike 3.0 Unported (see CommunityData:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)

Template used on this page: