The World Bank eastern Europe GDP Analysis using Python Pandas and Seaborn




Pandas+Seaborn tutorial on World bank GDP data for central and eastern Europe

Project analysys the gross domestic product (GDP) data for 10 central and eastern European countries. The analysis was prepared based on the World Bandk Data, particulary the dataset World Development Indicatiors was utilized. This set contains many different economic development indicators you can choose from. For simplicity I focused on four of them: GDP per capita ( US$), GDO per capita growth (annual %), GDP growth (annual %), GDP (current US$).

Data cleaning, manipulation and data transformation was done with with use of Pandas - easy-to-use data structures and data analysis tools for python. Additionaly there are many visusalization, where some of them were prepared with matplotlib but regression plots and bar plots were created with seaborn library.

This project will introduce the basic Pandas concept like: data frames, data transformations with apply function, reshaping and pivot tables etc.

I choose pandas and seabor because you can easily pass pandas data frame to seaborn and plot data from interesting columns or rows.

Sample plots:

GDP per capita (current US$) Regression plots for GDP

This short youtube video presents what type of visualization is generated:

World Bank Pandas Plot

Project description

In order to be practical and choose interesting subject. I challange myself and try to answer the question: How far in economic development eastern Europe countries are relative to developed countries like Germany and France?

This led to analyzing four GDP factors:

  • GDP per capita ( US$)
  • GDO per capita growth (annual %)
  • GDP growth (annual %)
  • GDP (current US$)

For further analysis, the 10 countries were choosen:

  • Poland
  • Germany
  • Belarus
  • Czech Republic
  • Slovak Republic
  • Hungary
  • Estonia
  • France
  • UK
  • Ukraine

What will you learn?

This project is compose in such a way to teach you data analysis pipline. You will start with reading csv file, clean the data, transform data to more appropriete structure and finaly visualize interesting columns or rows from data frame.

You will learn:

  • How to read cvs files into Pandas Data Frame
  • How to clean the data, remove missing values, remove unnecessary columns, convert dates etc.
  • How to create pivot table in Pandas
  • How to create plots based on pandas data frame
  • How to create regression plots in seaborn (sns.lmplot)
  • How to create bar plot witch stacked collumns

Project structure

The project contains two file, first contains raw csv data taken from World Bank website. The second file is python script with all the pandas and seaborn code:

  • GDP_Eastern_Europe.csv - data file, generated from World Bank Development Indicators
  • - main file with analysis and plots

Grab the code or run project in online IDE


  • [2017-12-04 11:18:36] v0.3.6: Small changes

  • [2017-03-27 21:24] v0.3.5 : Update Readme, add more information about data frames

  • [2017-03-22 10:59] v0.3.4 : Update the title

  • [2017-03-16 13:21] v0.3.3 : Fix typos in readme

  • [2017-03-4 13:25] v0.3.2 : Add youtube video

  • [2017-03-4 13:18] v0.3.1 : Add titles to plots, update readme

  • [2017-03-4 11:23] v0.3.0 : Add better readme description, fix the file name, add seaborn regression

  • [2016-12-22 10:56] v0.2.0 : Add simpler script

  • [2016-12-20 10:58] v0.1.0 : First version, load worldbankd data in csv to pandas dataframe, create some plots