Number of infant deaths

Source: worldbank.org, 03.09.2025

Year: 2023

Flag Country Value Value change, % Rank
Afghanistan Afghanistan 73,191 -2.58% 8
Angola Angola 52,081 -1.58% 15
Albania Albania 241 -1.63% 137
Andorra Andorra 1 0% 180
United Arab Emirates United Arab Emirates 395 +1.54% 125
Argentina Argentina 4,082 -4.45% 72
Armenia Armenia 307 -5.54% 131
Antigua & Barbuda Antigua & Barbuda 8 0% 176
Australia Australia 953 -1.04% 108
Austria Austria 209 -7.93% 140
Azerbaijan Azerbaijan 1,691 -8.94% 97
Burundi Burundi 14,362 -2.13% 43
Belgium Belgium 327 -9.17% 129
Benin Benin 21,894 -1.53% 35
Burkina Faso Burkina Faso 32,235 -1.76% 27
Bangladesh Bangladesh 84,651 +0.987% 6
Bulgaria Bulgaria 316 +0.958% 130
Bahrain Bahrain 143 +2.88% 150
Bahamas Bahamas 49 -2% 163
Bosnia & Herzegovina Bosnia & Herzegovina 132 -5.71% 152
Belarus Belarus 131 -13.8% 153
Belize Belize 78 +5.41% 158
Bolivia Bolivia 5,198 -3.36% 66
Brazil Brazil 32,589 -2.33% 26
Barbados Barbados 29 -6.45% 167
Brunei Brunei 52 -1.89% 161
Bhutan Bhutan 184 -3.66% 144
Botswana Botswana 2,335 -2.34% 86
Central African Republic Central African Republic 13,774 -68% 45
Canada Canada 1,576 -2.17% 98
Switzerland Switzerland 289 -3.34% 132
Chile Chile 1,131 +4.92% 104
China China 40,795 -14.1% 22
Côte d’Ivoire Côte d’Ivoire 45,897 -1.79% 20
Cameroon Cameroon 39,004 -1.76% 24
Congo - Kinshasa Congo - Kinshasa 190,533 -0.476% 4
Congo - Brazzaville Congo - Brazzaville 5,175 -1.67% 67
Colombia Colombia 7,724 -3.62% 58
Comoros Comoros 861 -2.6% 112
Cape Verde Cape Verde 71 -4.05% 159
Costa Rica Costa Rica 478 +2.36% 120
Cuba Cuba 631 +3.27% 116
Cyprus Cyprus 42 0% 164
Czechia Czechia 196 -12.9% 142
Germany Germany 2,225 -5.08% 89
Djibouti Djibouti 1,055 -3.12% 106
Dominica Dominica 24 0% 168
Denmark Denmark 175 -6.91% 146
Dominican Republic Dominican Republic 5,770 -3.29% 63
Algeria Algeria 18,076 -3.82% 41
Ecuador Ecuador 3,018 -2.9% 76
Egypt Egypt 38,495 -1.88% 25
Eritrea Eritrea 2,501 -1.92% 85
Spain Spain 875 -1.02% 111
Estonia Estonia 18 -14.3% 172
Ethiopia Ethiopia 145,121 -2.23% 5
Finland Finland 80 -6.98% 157
Fiji Fiji 396 0% 124
France France 2,260 -3.67% 87
Micronesia (Federated States of) Micronesia (Federated States of) 52 -3.7% 161
Gabon Gabon 1,814 -2.63% 93
United Kingdom United Kingdom 2,719 -0.184% 82
Georgia Georgia 349 -6.68% 128
Ghana Ghana 24,822 -2.85% 31
Guinea Guinea 29,567 -1.58% 29
Gambia Gambia 2,747 -1.96% 81
Guinea-Bissau Guinea-Bissau 2,753 -2.13% 80
Equatorial Guinea Equatorial Guinea 2,655 -2.82% 83
Greece Greece 235 -9.96% 138
Grenada Grenada 23 -4.17% 169
Guatemala Guatemala 6,708 -3.06% 61
Guyana Guyana 401 -3.84% 123
Honduras Honduras 3,091 -2.58% 74
Croatia Croatia 124 -7.46% 155
Haiti Haiti 10,367 -3.18% 50
Hungary Hungary 276 -6.76% 134
Indonesia Indonesia 76,071 -3.59% 7
India India 567,211 -4.41% 1
Ireland Ireland 179 -3.24% 145
Iran Iran 12,578 -4.68% 47
Iraq Iraq 23,925 -2.1% 32
Iceland Iceland 8 -11.1% 176
Israel Israel 468 -2.7% 121
Italy Italy 917 -4.88% 109
Jamaica Jamaica 609 -0.976% 117
Jordan Jordan 2,878 -2.8% 79
Japan Japan 1,359 -3.55% 101
Kazakhstan Kazakhstan 3,130 -7.53% 73
Kenya Kenya 51,498 -1.87% 16
Kyrgyzstan Kyrgyzstan 2,242 -2.05% 88
Cambodia Cambodia 7,364 -5.12% 59
Kiribati Kiribati 135 -2.88% 151
St. Kitts & Nevis St. Kitts & Nevis 8 0% 176
South Korea South Korea 567 -7.2% 119
Kuwait Kuwait 369 +4.83% 126
Laos Laos 5,715 -3.98% 64
Lebanon Lebanon 1,494 +4.92% 99
Liberia Liberia 8,797 -1.28% 56
Libya Libya 1,996 +85.3% 92
St. Lucia St. Lucia 29 -3.33% 167
Sri Lanka Sri Lanka 1,737 -4.19% 95
Lesotho Lesotho 3,060 -4.32% 75
Lithuania Lithuania 61 -4.69% 160
Luxembourg Luxembourg 14 +7.69% 174
Latvia Latvia 38 -15.6% 165
Morocco Morocco 9,777 -4.54% 52
Monaco Monaco 1 0% 180
Moldova Moldova 438 -3.1% 122
Madagascar Madagascar 43,642 +0.0573% 21
Maldives Maldives 29 -9.38% 167
Mexico Mexico 22,018 -4.26% 34
Marshall Islands Marshall Islands 20 -9.09% 171
North Macedonia North Macedonia 50 -26.5% 162
Mali Mali 53,652 -0.219% 13
Malta Malta 21 0% 170
Myanmar (Burma) Myanmar (Burma) 30,732 -3.85% 28
Montenegro Montenegro 15 -6.25% 173
Mongolia Mongolia 750 -5.3% 114
Mozambique Mozambique 56,375 -0.619% 12
Mauritania Mauritania 5,289 -1.45% 65
Mauritius Mauritius 161 -6.4% 149
Malawi Malawi 19,212 -2.39% 40
Malaysia Malaysia 2,921 +1.42% 77
Namibia Namibia 2,916 -2.83% 78
Niger Niger 71,882 +1.88% 9
Nigeria Nigeria 443,714 -1.27% 2
Nicaragua Nicaragua 1,360 -3.95% 100
Netherlands Netherlands 589 -4.38% 118
Norway Norway 99 -3.88% 156
Nepal Nepal 13,432 -4.03% 46
Nauru Nauru 3 0% 178
New Zealand New Zealand 235 -2.08% 138
Oman Oman 679 +0.444% 115
Pakistan Pakistan 341,323 -2.55% 3
Panama Panama 757 -4.06% 113
Peru Peru 7,305 -2.16% 60
Philippines Philippines 40,449 -0.928% 23
Palau Palau 4 0% 177
Papua New Guinea Papua New Guinea 8,145 -3.25% 57
Poland Poland 1,172 -2.74% 103
North Korea North Korea 4,989 +0.646% 69
Portugal Portugal 219 +3.79% 139
Paraguay Paraguay 2,072 -3.58% 91
Palestinian Territories Palestinian Territories 2,084 +15.8% 90
Qatar Qatar 143 +2.88% 150
Romania Romania 990 -0.503% 107
Russia Russia 4,812 -9.36% 70
Rwanda Rwanda 11,971 -0.787% 48
Saudi Arabia Saudi Arabia 2,529 +1.08% 84
Sudan Sudan 64,922 -1.32% 11
Senegal Senegal 15,809 -1.97% 42
Singapore Singapore 80 -1.23% 157
Solomon Islands Solomon Islands 353 -1.94% 127
Sierra Leone Sierra Leone 14,355 -2.67% 44
El Salvador El Salvador 913 -4.1% 110
San Marino San Marino 0 181
Somalia Somalia 52,410 -23.5% 14
Serbia Serbia 270 -3.57% 135
South Sudan South Sudan 23,275 +0.932% 33
São Tomé & Príncipe São Tomé & Príncipe 61 -1.61% 160
Suriname Suriname 165 -2.94% 148
Slovakia Slovakia 266 -3.27% 136
Slovenia Slovenia 33 -5.71% 166
Sweden Sweden 204 -8.52% 141
Eswatini Eswatini 1,288 -3.23% 102
Seychelles Seychelles 23 0% 169
Syria Syria 9,481 +4.13% 54
Turks & Caicos Islands Turks & Caicos Islands 2 0% 179
Chad Chad 47,049 +0.264% 18
Togo Togo 10,270 -1.87% 51
Thailand Thailand 4,790 -4.56% 71
Tajikistan Tajikistan 6,227 -1.94% 62
Turkmenistan Turkmenistan 5,027 -3.97% 68
Timor-Leste Timor-Leste 1,094 -2.84% 105
Tonga Tonga 20 0% 171
Trinidad & Tobago Trinidad & Tobago 279 -4.45% 133
Tunisia Tunisia 1,785 -8.41% 94
Turkey Turkey 9,759 +9.84% 53
Tuvalu Tuvalu 4 0% 177
Tanzania Tanzania 69,284 -2.19% 10
Uganda Uganda 46,730 -2.65% 19
Ukraine Ukraine 1,729 -19.5% 96
Uruguay Uruguay 185 -3.65% 143
United States United States 20,317 -0.304% 37
Uzbekistan Uzbekistan 11,823 -1.66% 49
St. Vincent & Grenadines St. Vincent & Grenadines 12 -7.69% 175
Venezuela Venezuela 9,105 -0.307% 55
British Virgin Islands British Virgin Islands 4 0% 177
Vietnam Vietnam 19,638 -4.25% 39
Vanuatu Vanuatu 127 -1.55% 154
Samoa Samoa 71 -4.05% 159
Kosovo Kosovo 173 -6.99% 147
Yemen Yemen 47,209 -0.654% 17
South Africa South Africa 28,900 -0.602% 30
Zambia Zambia 20,899 -2.69% 36
Zimbabwe Zimbabwe 20,006 -3.1% 38

                    
# Install missing packages
import sys
import subprocess

def install(package):
subprocess.check_call([sys.executable, "-m", "pip", "install", package])

# Required packages
for package in ['wbdata', 'country_converter']:
try:
__import__(package)
except ImportError:
install(package)

# Import libraries
import wbdata
import country_converter as coco
from datetime import datetime

# Define World Bank indicator code
dataset_code = 'SH.DTH.IMRT'

# Download data from World Bank API
data = wbdata.get_dataframe({dataset_code: 'value'},
date=(datetime(1960, 1, 1), datetime.today()),
parse_dates=True,
keep_levels=True).reset_index()

# Extract year
data['year'] = data['date'].dt.year

# Convert country names to ISO codes using country_converter
cc = coco.CountryConverter()
data['iso2c'] = cc.convert(names=data['country'], to='ISO2', not_found=None)
data['iso3c'] = cc.convert(names=data['country'], to='ISO3', not_found=None)

# Filter out rows where ISO codes could not be matched — likely not real countries
data = data[data['iso2c'].notna() & data['iso3c'].notna()]

# Sort for calculation
data = data.sort_values(['iso3c', 'year'])

# Calculate YoY absolute and percent change
data['value_change'] = data.groupby('iso3c')['value'].diff()
data['value_change_percent'] = data.groupby('iso3c')['value'].pct_change() * 100

# Calculate ranks (higher GDP per capita = better rank)
data['rank'] = data.groupby('year')['value'].rank(ascending=False, method='dense')

# Calculate rank change from previous year
data['rank_change'] = data.groupby('iso3c')['rank'].diff()

# Select desired columns
final_df = data[['country', 'iso2c', 'iso3c', 'year', 'value',
'value_change', 'value_change_percent', 'rank', 'rank_change']].copy()

# Optional: Add labels as metadata (could be useful for export or UI)
column_labels = {
'country': 'Country name',
'iso2c': 'ISO 2-letter country code',
'iso3c': 'ISO 3-letter country code',
'year': 'Year',
'value': 'GDP per capita (current US$)',
'value_change': 'Year-over-Year change in value',
'value_change_percent': 'Year-over-Year percent change in value',
'rank': 'Country rank by GDP per capita (higher = richer)',
'rank_change': 'Change in rank from previous year'
}

# Display first few rows
print(final_df.head(10))

# Optional: Save to CSV
#final_df.to_csv("gdp_per_capita_cleaned.csv", index=False)
                    
                
                    
# Check and install required packages
required_packages <- c("WDI", "countrycode", "dplyr")

for (pkg in required_packages) {
  if (!requireNamespace(pkg, quietly = TRUE)) {
    install.packages(pkg)
  }
}

# Load the necessary libraries
library(WDI)
library(dplyr)
library(countrycode)

# Define the dataset code (World Bank indicator code)
dataset_code <- 'SH.DTH.IMRT'

# Download data using WDI package
dat <- WDI(indicator = dataset_code)

# Filter only countries using 'is_country' from countrycode
# This uses iso2c to identify whether the entry is a recognized country
dat <- dat %>%
  filter(countrycode(iso2c, origin = 'iso2c', destination = 'country.name', warn = FALSE) %in%
           countrycode::codelist$country.name.en)

# Ensure dataset is ordered by country and year
dat <- dat %>%
  arrange(iso3c, year)

# Rename the dataset_code column to "value" for easier manipulation
dat <- dat %>%
  rename(value = !!dataset_code)

# Calculate year-over-year (YoY) change and percentage change
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(
    value_change = value - lag(value),                              # Absolute change from previous year
    value_change_percent = 100 * (value - lag(value)) / lag(value) # Percent change from previous year
  ) %>%
  ungroup()

# Calculate rank by year (higher value => higher rank)
dat <- dat %>%
  group_by(year) %>%
  mutate(rank = dense_rank(desc(value))) %>% # Rank countries by descending value
  ungroup()

# Calculate rank change (positive = moved up, negative = moved down)
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(rank_change = rank - lag(rank)) %>% # Change in rank compared to previous year
  ungroup()

# Select and reorder final columns
final_data <- dat %>%
  select(
    country,
    iso2c,
    iso3c,
    year,
    value,
    value_change,
    value_change_percent,
    rank,
    rank_change
  )

# Add labels (variable descriptions)
attr(final_data$country, "label") <- "Country name"
attr(final_data$iso2c, "label") <- "ISO 2-letter country code"
attr(final_data$iso3c, "label") <- "ISO 3-letter country code"
attr(final_data$year, "label") <- "Year"
attr(final_data$value, "label") <- "GDP per capita (current US$)"
attr(final_data$value_change, "label") <- "Year-over-Year change in value"
attr(final_data$value_change_percent, "label") <- "Year-over-Year percent change in value"
attr(final_data$rank, "label") <- "Country rank by GDP per capita (higher = richer)"
attr(final_data$rank_change, "label") <- "Change in rank from previous year"

# Print the first few rows of the final dataset
print(head(final_data, 10))