Skip to content

Gross Domestic Product Data

This dataset consists of the yearly gross domestic product (GDP) in current USD of countries and regions worldwide since the 1960s.

Not sure where to begin? Scroll to the bottom to find challenges!

import pandas as pd

pd.read_csv("gdp_data.csv", index_col=None)

To analyze only the GDP of countries, you can use country_codes.csv to extract these rows from the dataset:

pd.read_csv("country_codes.csv", index_col=0)

Source and license of dataset.

Don't know where to start?

Challenges are brief tasks designed to help you practice specific skills:

  • πŸ—ΊοΈ Explore: Try to identify recessions in different countries.
  • πŸ“Š Visualize: Create a plot to visualize the change in GDP in your country over the past decade.
  • πŸ”Ž Analyze: Which country had the highest percentage growth in GDP over the past decade?

Scenarios are broader questions to help you develop an end-to-end project for your portfolio:

You are have been hired by an NGO to learn about the economic development of countries in Central America: Belize, Costa Rica, El Salvador, Guatemala, Honduras, Nicaragua, and Panama.

Using data from 1960 through to 2016, you have been asked to give a deep-dive on the GDP growth of each country per year and decade. Your manager is also interested in how each country compares to the regional average.

You will need to prepare a report that is accessible to a broad audience. It should outline your motivation, steps, findings, and conclusions.

Spinner
DataFrameas
df
variable
-- Select the names, continents, and areas of countries
-- Note that the query may take a long time to run if you remove the LIMIT statement
SELECT countries.name AS country_name,
        continents.name AS continent_name,
        area
FROM countries
  INNER JOIN regions USING(region_id)
  INNER JOIN continents USING(continent_id)
ORDER BY country_name
LIMIT 5
Spinner
DataFrameas
df1
variable
SELECT *
FROM countries
Spinner
DataFrameas
df2
variable
SELECT countries.name AS country_name, continents.name AS continent
FROM countries
LEFT JOIN continents
ON countries.country_id = continents.continent_id
ORDER BY country_name
LIMIT 10