Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Names Datasets

Name data for people born in the US, Spain, Argentina, Chile and Italy — collected from five national sources, cleaned, and normalized into one consistent format.

On Kaggle: https://www.kaggle.com/datasets/rosinascampino/name-datasets-us-spain-argentina-chile-italy

The problem

Every country publishes this data its own way. Some offer clean CSV downloads, some publish Excel workbooks, and some only render HTML tables on a government site. Column names, encodings, date ranges and structures don't agree with each other, and none of them were designed to be combined.

I started this as a way to learn data cleaning in Python, and most of the work turned out to be exactly that mismatch: deciding on one target schema and writing a separate path to it from each source.

How it's organized

raw_data/      untouched files as downloaded or scraped
scripts/       collection and cleaning
cleaned_data/  normalized output
sources.txt    where each dataset came from

Keeping raw inputs separate from transformed outputs means the whole thing can be re-run and checked. If a cleaned file looks wrong, the original is still there to compare against, and sources.txt says where it came from.

What I learned

  • Reading and writing CSV with Python's csv module
  • Web scraping with Beautiful Soup
  • Working with Excel files via openpyxl
  • Creating and instantiating data classes
  • Type hints

About

Name frequency data from the US, Spain, Argentina, Chile and Italy — scraped, cleaned, and normalized into one consistent format with Python. Published on Kaggle.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages