Population ages 35-39, female (% of female population)

Source: worldbank.org, 03.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Aruba Aruba 6.15 -0.865% 154
Afghanistan Afghanistan 5.09 +2.16% 207
Angola Angola 5.43 +0.188% 198
Albania Albania 6.69 +3.42% 115
Andorra Andorra 6.9 -0.441% 97
United Arab Emirates United Arab Emirates 12.1 +0.61% 2
Argentina Argentina 6.99 +0.464% 89
Armenia Armenia 8.22 +1.61% 25
American Samoa American Samoa 5.87 -0.759% 174
Antigua & Barbuda Antigua & Barbuda 7.41 +0.0659% 64
Australia Australia 7.3 +0.00783% 71
Austria Austria 6.66 +0.158% 119
Azerbaijan Azerbaijan 8.87 +2.52% 15
Burundi Burundi 5.92 -1.13% 168
Belgium Belgium 6.4 +0.536% 136
Benin Benin 5.64 +0.327% 185
Burkina Faso Burkina Faso 5.64 +0.344% 184
Bangladesh Bangladesh 7.59 -2.2% 53
Bulgaria Bulgaria 6.71 +0.836% 114
Bahrain Bahrain 9.95 +0.549% 7
Bahamas Bahamas 7.52 +1.18% 58
Bosnia & Herzegovina Bosnia & Herzegovina 5.76 -4.32% 179
Belarus Belarus 7.68 -0.318% 48
Belize Belize 7.74 +1.38% 46
Bermuda Bermuda 6.08 -4.38% 156
Bolivia Bolivia 7.06 +1.66% 85
Brazil Brazil 7.78 -1.32% 44
Barbados Barbados 6.28 -1.93% 149
Brunei Brunei 8.17 -0.035% 26
Bhutan Bhutan 8.96 +3.44% 14
Botswana Botswana 6.95 +3.24% 94
Central African Republic Central African Republic 4.1 +2.15% 216
Canada Canada 6.89 +0.123% 98
Switzerland Switzerland 7.05 -0.00562% 86
Chile Chile 7.81 +1.74% 43
China China 8.11 +3.69% 28
Côte d’Ivoire Côte d’Ivoire 6.66 -0.421% 120
Cameroon Cameroon 5.89 +0.81% 171
Congo - Kinshasa Congo - Kinshasa 4.91 +0.74% 209
Congo - Brazzaville Congo - Brazzaville 5.84 -0.854% 176
Colombia Colombia 7.57 +0.623% 57
Comoros Comoros 6.29 +1.04% 146
Cape Verde Cape Verde 8.27 +2.96% 21
Costa Rica Costa Rica 7.92 +0.125% 37
Cuba Cuba 6.74 +2.93% 109
Curaçao Curaçao 5.95 +0.14% 164
Cayman Islands Cayman Islands 9.35 -1.76% 10
Cyprus Cyprus 9 -0.438% 13
Czechia Czechia 6.44 -0.467% 130
Germany Germany 6.38 +1.28% 137
Djibouti Djibouti 6.88 +0.456% 100
Dominica Dominica 7.64 +1.05% 51
Denmark Denmark 5.93 +2.56% 167
Dominican Republic Dominican Republic 6.94 +0.674% 96
Algeria Algeria 7.87 -1.72% 39
Ecuador Ecuador 7.41 +0.284% 65
Egypt Egypt 7.19 +0.348% 76
Eritrea Eritrea 4.89 +2.17% 210
Spain Spain 6.06 -2.21% 160
Estonia Estonia 6.97 +1.26% 91
Ethiopia Ethiopia 5.57 +2.77% 189
Finland Finland 6.16 -0.397% 152
Fiji Fiji 7.36 -0.934% 68
France France 5.94 -0.117% 165
Faroe Islands Faroe Islands 6.26 +4.75% 150
Micronesia (Federated States of) Micronesia (Federated States of) 5.3 +1.09% 202
Gabon Gabon 6.83 -0.112% 104
United Kingdom United Kingdom 6.55 -0.681% 125
Georgia Georgia 7.18 +0.476% 77
Ghana Ghana 6.57 -0.264% 124
Gibraltar Gibraltar 6.67 -0.89% 117
Guinea Guinea 5.58 +2.3% 188
Gambia Gambia 5.65 +2.21% 183
Guinea-Bissau Guinea-Bissau 6.04 +0.505% 161
Equatorial Guinea Equatorial Guinea 6.66 +1.3% 121
Greece Greece 5.47 -3.1% 194
Grenada Grenada 9.11 +1.47% 12
Greenland Greenland 7.76 +2.61% 45
Guatemala Guatemala 6.89 +2.11% 99
Guam Guam 5.63 -0.664% 186
Guyana Guyana 6.07 +1.33% 158
Hong Kong SAR China Hong Kong SAR China 8.1 -2.31% 29
Honduras Honduras 7.14 +0.558% 80
Croatia Croatia 5.92 -2.51% 169
Haiti Haiti 7.09 +1.63% 83
Hungary Hungary 6 +0.293% 162
Indonesia Indonesia 7.21 -1.32% 75
Isle of Man Isle of Man 5.91 -0.701% 170
India India 7.64 +0.681% 50
Ireland Ireland 6.75 -3.97% 108
Iran Iran 9.97 -1.37% 6
Iraq Iraq 6.09 +0.849% 155
Iceland Iceland 6.98 +2.03% 90
Israel Israel 6.16 -1.15% 153
Italy Italy 5.49 -0.165% 192
Jamaica Jamaica 8.12 +0.193% 27
Jordan Jordan 6.79 +0.0775% 106
Japan Japan 5.19 -2.39% 204
Kazakhstan Kazakhstan 7.43 +0.825% 63
Kenya Kenya 6.29 +1.54% 148
Kyrgyzstan Kyrgyzstan 7.22 +1.91% 73
Cambodia Cambodia 7.66 -0.0436% 49
Kiribati Kiribati 6.97 +0.382% 92
St. Kitts & Nevis St. Kitts & Nevis 8.46 -0.0689% 17
South Korea South Korea 6.06 -2.57% 159
Kuwait Kuwait 11.4 -2.6% 3
Laos Laos 7.44 +1.67% 62
Lebanon Lebanon 6.29 -1.01% 147
Liberia Liberia 5.68 -0.53% 180
Libya Libya 7.16 -1.6% 78
St. Lucia St. Lucia 8 +0.295% 33
Liechtenstein Liechtenstein 6.41 -2.28% 133
Sri Lanka Sri Lanka 6.72 -1.43% 111
Lesotho Lesotho 7.98 +2.25% 36
Lithuania Lithuania 6.33 +1.79% 141
Luxembourg Luxembourg 7.89 +0.462% 38
Latvia Latvia 6.72 +0.227% 113
Macao SAR China Macao SAR China 10.2 +1.4% 5
Saint Martin (French part) Saint Martin (French part) 5.87 -3.28% 175
Morocco Morocco 7.45 -0.647% 61
Monaco Monaco 4.42 +0.793% 215
Moldova Moldova 7.81 +0.264% 42
Madagascar Madagascar 5.53 +0.606% 191
Maldives Maldives 10.6 +0.876% 4
Mexico Mexico 7.34 +0.218% 69
Marshall Islands Marshall Islands 6.4 -4.55% 135
North Macedonia North Macedonia 6.65 -0.902% 122
Mali Mali 4.98 -0.521% 208
Malta Malta 8.44 +2.65% 18
Myanmar (Burma) Myanmar (Burma) 7.49 -1.5% 60
Montenegro Montenegro 6.32 -2.94% 143
Mongolia Mongolia 8.08 +1.47% 30
Northern Mariana Islands Northern Mariana Islands 5.25 -4.77% 203
Mozambique Mozambique 5.34 +0.87% 201
Mauritania Mauritania 5.53 +0.446% 190
Mauritius Mauritius 6.96 +2.25% 93
Malawi Malawi 6.21 +0.291% 151
Malaysia Malaysia 8.37 -0.0524% 19
Namibia Namibia 6.55 +1.68% 126
New Caledonia New Caledonia 7.38 -0.237% 67
Niger Niger 4.51 +0.169% 214
Nigeria Nigeria 5.44 -0.533% 197
Nicaragua Nicaragua 7.5 +0.784% 59
Netherlands Netherlands 6.32 +1.52% 142
Norway Norway 6.84 +1.68% 103
Nepal Nepal 7.21 +0.789% 74
Nauru Nauru 7.71 -1.72% 47
New Zealand New Zealand 7.01 +1.81% 87
Oman Oman 9.84 +0.744% 8
Pakistan Pakistan 6.07 +0.506% 157
Panama Panama 7.06 -0.298% 84
Peru Peru 7.59 +0.913% 54
Philippines Philippines 6.95 +1.82% 95
Palau Palau 6.88 +0.45% 101
Papua New Guinea Papua New Guinea 7.14 +0.521% 79
Poland Poland 7.6 -2.66% 52
Puerto Rico Puerto Rico 5.68 +0.296% 181
North Korea North Korea 6.79 +0.865% 107
Portugal Portugal 5.46 -3.2% 195
Paraguay Paraguay 7.58 +1.13% 56
Palestinian Territories Palestinian Territories 6.31 +2.17% 145
French Polynesia French Polynesia 8.07 -0.968% 31
Qatar Qatar 13 +1% 1
Romania Romania 6.66 +4.2% 118
Russia Russia 8.23 -0.458% 24
Rwanda Rwanda 6.42 -0.315% 132
Saudi Arabia Saudi Arabia 9.11 +0.978% 11
Sudan Sudan 5.62 +0.768% 187
Senegal Senegal 6 +0.968% 163
Singapore Singapore 8.26 +3.23% 22
Solomon Islands Solomon Islands 6.53 -0.295% 127
Sierra Leone Sierra Leone 5.88 +0.948% 173
El Salvador El Salvador 6.6 +1.97% 123
San Marino San Marino 5.15 -4.58% 206
Somalia Somalia 4.86 -0.585% 212
Serbia Serbia 6.35 -2.06% 140
South Sudan South Sudan 4.76 -5.11% 213
São Tomé & Príncipe São Tomé & Príncipe 5.67 -2.87% 182
Suriname Suriname 6.67 -1.27% 116
Slovakia Slovakia 7.31 -1.5% 70
Slovenia Slovenia 6.35 -1.88% 138
Sweden Sweden 6.73 +2.69% 110
Eswatini Eswatini 7.13 +1.03% 81
Sint Maarten Sint Maarten 7.83 -1.53% 41
Seychelles Seychelles 7.59 +1.18% 55
Syria Syria 5.94 -0.208% 166
Turks & Caicos Islands Turks & Caicos Islands 8.03 -2.11% 32
Chad Chad 4.89 +1.71% 211
Togo Togo 5.82 +0.0481% 177
Thailand Thailand 6.82 -1.24% 105
Tajikistan Tajikistan 7.1 +2.51% 82
Turkmenistan Turkmenistan 7.4 +1.83% 66
Timor-Leste Timor-Leste 6.31 +1.99% 144
Tonga Tonga 5.81 -3.95% 178
Trinidad & Tobago Trinidad & Tobago 8.66 -2.2% 16
Tunisia Tunisia 7.98 -1.59% 35
Turkey Turkey 7.28 -0.655% 72
Tuvalu Tuvalu 5.46 +2.18% 196
Tanzania Tanzania 5.48 +0.143% 193
Uganda Uganda 5.17 +3.25% 205
Ukraine Ukraine 7.98 -0.545% 34
Uruguay Uruguay 6.46 +1.93% 129
United States United States 6.72 +0.407% 112
Uzbekistan Uzbekistan 7.86 +0.176% 40
St. Vincent & Grenadines St. Vincent & Grenadines 6.47 -2.49% 128
Venezuela Venezuela 6.43 -1.28% 131
British Virgin Islands British Virgin Islands 9.78 -2.61% 9
U.S. Virgin Islands U.S. Virgin Islands 5.41 -1.63% 199
Vietnam Vietnam 8.24 -0.325% 23
Vanuatu Vanuatu 6.85 +1.29% 102
Samoa Samoa 5.37 -0.945% 200
Kosovo Kosovo 6.99 +0.543% 88
Yemen Yemen 6.35 +1.14% 139
South Africa South Africa 8.29 +0.33% 20
Zambia Zambia 5.88 +0.477% 172
Zimbabwe Zimbabwe 6.41 -6.13% 134

                    
# 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 = 'SP.POP.3539.FE.5Y'

# 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 <- 'SP.POP.3539.FE.5Y'

# 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))