Write a program that loads in historical data on popular baby-names for the last 100 years. You can type in a name, and it graphs the rank of that name over time. A high ranking, like 5, means the name was the 5th most popular that year (top of the graph), while a low ranking like 879 means the name was not that popular (bottom of the graph).   Write it in python the latest version   The first function you will write and test is the clean_data function. The function is described in the starter code in a function header comment above the function. Here is the function:   def clean_data(list, x): #TODO: write your code here pass   Take a look at the first few lines of the data file: A 83 140 228 286 426 612 486 577 836 0 0 Aaliyah 0 0 0 0 0 0 0 0 0 380 215 Aaron 193 208 218 274 279 232 132 36 32 31 41   Each line is a baby name followed by how popular the name was in 11 different years. Each number is a ranking, so Aaron was 193th most popular name in 1900 and 41st most popular name in 2000. The lower the number, the more popular the name. However, if the name was not popular enough to make the list in a particular year, a zero was recorded. If we plot the data as is, a name that was so unpopular that it didn’t make the list (ranked 0) will appear most popular (since lower means more popular). Therefore, we need to clean up the data a bit in order for it to make sense. The function clean_data has two parameters. The first parameter is a list (e.g. a list of rankings by year for a particular baby name). The second parameter is a value x. The function will do in-place modification of the parameter list and replace all zeros with the value x.   You will write this function generally. Here are three of the cases you should test:   # test 1 # before data is cleaned list1 = [0, 4, 3, 2, 0, 6, 7, 8, 3, 0, 7, 7, 8, 3, 0] x1 = 5 # after data is cleaned list1 = [5, 4, 3, 2, 5, 6, 7, 8, 3, 5, 7, 7, 8, 3, 5]   # test 2 # before data is cleaned list2 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] x2 = 10001 # after data is cleaned list2 = [10001, 10001, 10001, 10001, 10001, 10001, 10001, 10001, 10001, 10001, 10001]   # test 3 # before data is cleaned list3 = [857, 797, 972, 883, 0, 0, 0, 0, 0, 0, 0] x3 = 1113 # after data is cleaned list3 = [857, 797, 972, 883, 1113, 1113, 1113, 1113, 1113, 1113, 1113]   here is what I wrote for the clean data function:   def clean_data(lists, x): for i in range(0, len(lists)): if lists[i] == 0: lists[i] = x return lists   Then: Next step is   You are going to writing a script that takes in a list of names as a single input string namestring = input("Enter baby names: ")   For example, the prompt with the input could look like this: python3 main.py Enter baby names: Mary Megan Isabelle   Your code should produce the following plot [1]:     Plot should appear in your file tree with the filename: MaryMeganIsabelle.png.   Another example is if the prompt with the input is: python3 main.py Enter baby names: Mario Marie Mary Marta   Your code should produce the following plot [2]:

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Write a program that loads in historical data on popular baby-names for the last 100 years. You can type in a name, and it graphs the rank of that name over time. A high ranking, like 5, means the name was the 5th most popular that year (top of the graph), while a low ranking like 879 means the name was not that popular (bottom of the graph).

 

Write it in python the latest version

 

The first function you will write and test is the clean_data function. The function is described in the starter code in a function header comment above the function. Here is the function:

 

def clean_data(list, x):

#TODO: write your code here

pass

 

Take a look at the first few lines of the data file:

A 83 140 228 286 426 612 486 577 836 0 0

Aaliyah 0 0 0 0 0 0 0 0 0 380 215

Aaron 193 208 218 274 279 232 132 36 32 31 41

 

Each line is a baby name followed by how popular the name was in 11 different years. Each number is a ranking, so Aaron was 193th most popular name in 1900 and 41st most popular name in 2000. The lower the number, the more popular the name. However, if the name was not popular enough to make the list in a particular year, a zero was recorded. If we plot the data as is, a name that was so unpopular that it didn’t make the list (ranked 0) will appear most popular (since lower means more popular). Therefore, we need to clean up the data a bit in order for it to make sense.

The function clean_data has two parameters. The first parameter is a list (e.g. a list of rankings by year for a particular baby name). The second parameter is a value x. The function will do in-place modification of the parameter list and replace all zeros with the value x.

 

You will write this function generally. Here are three of the cases you should test:

 

# test 1

# before data is cleaned

list1 = [0, 4, 3, 2, 0, 6, 7, 8, 3, 0, 7, 7, 8, 3, 0]

x1 = 5

# after data is cleaned

list1 = [5, 4, 3, 2, 5, 6, 7, 8, 3, 5, 7, 7, 8, 3, 5]

 

# test 2

# before data is cleaned

list2 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

x2 = 10001

# after data is cleaned

list2 = [10001, 10001, 10001, 10001, 10001, 10001, 10001, 10001, 10001, 10001, 10001]

 

# test 3

# before data is cleaned

list3 = [857, 797, 972, 883, 0, 0, 0, 0, 0, 0, 0]

x3 = 1113

# after data is cleaned

list3 = [857, 797, 972, 883, 1113, 1113, 1113, 1113, 1113, 1113, 1113]

 

here is what I wrote for the clean data function:

 

def clean_data(lists, x):

for i in range(0, len(lists)):

if lists[i] == 0:

lists[i] = x

return lists

 

Then: Next step is

 

You are going to writing a script that takes in a list of names as a single input string

namestring = input("Enter baby names: ")

 

For example, the prompt with the input could look like this:

python3 main.py Enter baby names: Mary Megan Isabelle

 

Your code should produce the following plot [1]:

 

 

Plot should appear in your file tree with the filename: MaryMeganIsabelle.png.

 

Another example is if the prompt with the input is:

python3 main.py Enter baby names: Mario Marie Mary Marta

 

Your code should produce the following plot [2]:

 

 

 

 

 

 

ranking
0
200
400
600
800
1000
1900
Most Popular Baby Names, by decade
Mary
Megan
Isabelle
1920
1940
years
1960
1980
2000
Transcribed Image Text:ranking 0 200 400 600 800 1000 1900 Most Popular Baby Names, by decade Mary Megan Isabelle 1920 1940 years 1960 1980 2000
ranking
0
200
400
600
800
1000
1900
Most Popular Baby Names, by decade
1920
1940
years
1960
1980
Mario
Marie
Mary
Marta
2000
Transcribed Image Text:ranking 0 200 400 600 800 1000 1900 Most Popular Baby Names, by decade 1920 1940 years 1960 1980 Mario Marie Mary Marta 2000
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 5 steps with 5 images

Blurred answer
Knowledge Booster
Function Arguments
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education