Skip to content

karlolukic/frankfurt-population-explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frankfurt Population Explorer

An interactive Streamlit dashboard to explore how the population of Frankfurt am Main, Germany has evolved over time and across districts, including changes by nationality.

  • Built with Python, Plotly, and Streamlit.\
  • Data from the City of Frankfurt Open Data Portal and Code for Germany.

Features

  • Population over time by district (animated choropleth map)\
  • Comparison between two years with growth maps\
  • Population shares by nationality (interactive selection)\
  • Most representative nationalities by district (animated choropleth map)\
  • Download buttons for CSV/GeoJSON per tab\
  • Fully interactive via Plotly

Repository Structure

frankfurt-population-explorer/
├── data/
│   ├── frankfurt_population_by_district.csv
│   ├── frankfurt_population_by_nationality.csv
│   ├── frankfurt_population_by_nationality_most_representative.csv
│   └── geodata.json
│
├── notebooks/
│   └── frankfurt-population-explorer.ipynb   # initial data exploration & analysis
│
├── scripts/
│   ├── data_preparation.py                   # preprocessing scripts
│   ├── helper_functions.py                   # utility functions for the app
│   └── frankfurt_population_explorer.py      # Streamlit dashboard
│
├── requirements.txt                          # dependencies
└── README.md

Data Sources

Thanks to the City of Frankfurt for making demographic statistics openly available and to Code for Germany for providing district GeoJSON files.


Installation

Clone the repository and install requirements:

git clone https://github.com/<your-username>/frankfurt-population-explorer.git
cd frankfurt-population-explorer
pip install -r requirements.txt

Run the Streamlit app:

streamlit run scripts/frankfurt_population_explorer.py

The app will open in your browser.


Notebooks

The notebooks/frankfurt-population-explorer.ipynb file contains the initial data exploration and plots that inspired the dashboard.


Acknowledgements

This dashboard was built as part of the Data Science & AI Bootcamp (Batch 32) at Constructor Academy. The bootcamp provided an amazing environment to deepen my skills in Python, data visualization, and interactive app development. Special thanks to the instructors and fellow participants for their support and feedback throughout the project.