Population ages 65 and above, female (% of female population)

Source: worldbank.org, 03.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Aruba Aruba 18.7 +4.43% 55
Afghanistan Afghanistan 2.79 +1.09% 208
Angola Angola 3.18 +1.45% 200
Albania Albania 17.8 +3.93% 59
Andorra Andorra 16.7 +3.22% 63
United Arab Emirates United Arab Emirates 2.16 +2.7% 216
Argentina Argentina 14.2 +1.49% 71
Armenia Armenia 16.2 +3.83% 66
American Samoa American Samoa 8.65 +6.79% 115
Antigua & Barbuda Antigua & Barbuda 13.3 +4.87% 81
Australia Australia 18.8 +2.04% 54
Austria Austria 22.7 +1.92% 28
Azerbaijan Azerbaijan 9.84 +6.56% 106
Burundi Burundi 2.84 +0.64% 206
Belgium Belgium 22.4 +1.78% 30
Benin Benin 3.44 +0.729% 190
Burkina Faso Burkina Faso 3.14 +1.04% 201
Bangladesh Bangladesh 6.53 +2.54% 136
Bulgaria Bulgaria 25.7 +0.847% 12
Bahrain Bahrain 4.8 +5.63% 158
Bahamas Bahamas 13 +2.59% 84
Bosnia & Herzegovina Bosnia & Herzegovina 26.2 +2.35% 10
Belarus Belarus 21.8 +3.11% 35
Belize Belize 5.27 +4.31% 151
Bermuda Bermuda 24.4 +3.93% 19
Bolivia Bolivia 6.27 +1.46% 140
Brazil Brazil 12.2 +3.82% 87
Barbados Barbados 18.3 +2.94% 56
Brunei Brunei 7.79 +5.62% 123
Bhutan Bhutan 7.03 +2.19% 130
Botswana Botswana 4.49 +1.42% 165
Central African Republic Central African Republic 2.39 +3.86% 212
Canada Canada 21.1 +2.16% 41
Switzerland Switzerland 21.7 +1.79% 37
Chile Chile 15.3 +3.01% 68
China China 16.4 +2.63% 65
Côte d’Ivoire Côte d’Ivoire 2.68 +1.71% 209
Cameroon Cameroon 3.08 +0.654% 202
Congo - Kinshasa Congo - Kinshasa 3.33 +0.218% 196
Congo - Brazzaville Congo - Brazzaville 3.25 +2.33% 197
Colombia Colombia 10.7 +4.19% 97
Comoros Comoros 4.87 +0.285% 156
Cape Verde Cape Verde 8.48 +3.44% 117
Costa Rica Costa Rica 13.3 +4.26% 82
Cuba Cuba 18.2 +2.43% 57
Curaçao Curaçao 20 +3.58% 45
Cayman Islands Cayman Islands 9.74 +5.45% 107
Cyprus Cyprus 15.9 +1.85% 67
Czechia Czechia 23.7 +1.34% 22
Germany Germany 25.5 +1.58% 13
Djibouti Djibouti 5.32 +2.42% 148
Dominica Dominica 13.6 +1.32% 79
Denmark Denmark 22.3 +1.27% 31
Dominican Republic Dominican Republic 8.85 +3.88% 113
Algeria Algeria 6.95 +3.06% 131
Ecuador Ecuador 9.17 +3.06% 111
Egypt Egypt 5.88 +2.73% 142
Eritrea Eritrea 4.78 +1.41% 161
Spain Spain 23.4 +2.2% 24
Estonia Estonia 26.2 +1.51% 11
Ethiopia Ethiopia 3.59 +1.99% 185
Finland Finland 26.3 +1.27% 8
Fiji Fiji 7.37 +2.25% 127
France France 24.3 +1.67% 20
Faroe Islands Faroe Islands 18.9 +0.156% 52
Micronesia (Federated States of) Micronesia (Federated States of) 6.91 +4.32% 133
Gabon Gabon 4.46 +0.883% 166
United Kingdom United Kingdom 20.9 +1.36% 42
Georgia Georgia 19 +2.08% 50
Ghana Ghana 4.09 +1.84% 173
Gibraltar Gibraltar 18.8 +0.859% 53
Guinea Guinea 3.96 +0.369% 175
Gambia Gambia 3.41 +3.75% 193
Guinea-Bissau Guinea-Bissau 3.87 +2.12% 176
Equatorial Guinea Equatorial Guinea 4.11 +1.15% 172
Greece Greece 26.3 +2.04% 9
Grenada Grenada 13.4 +2.99% 80
Greenland Greenland 10.3 +6.46% 99
Guatemala Guatemala 5.3 +2.76% 149
Guam Guam 13.8 +3.92% 75
Guyana Guyana 7.58 +4.12% 125
Hong Kong SAR China Hong Kong SAR China 21.9 +4.8% 34
Honduras Honduras 4.94 +3.25% 155
Croatia Croatia 26.4 +1.44% 7
Haiti Haiti 5.33 +1.89% 147
Hungary Hungary 24.8 +0.801% 17
Indonesia Indonesia 8.31 +3.21% 121
Isle of Man Isle of Man 24.2 +1.89% 21
India India 7.74 +3.09% 124
Ireland Ireland 16.7 +2.27% 62
Iran Iran 8.62 +4.04% 116
Iraq Iraq 4.06 +0.542% 174
Iceland Iceland 16.5 +1.9% 64
Israel Israel 13.8 +1.09% 74
Italy Italy 26.9 +1.52% 3
Jamaica Jamaica 9.21 +4.81% 110
Jordan Jordan 4.8 +4.7% 159
Japan Japan 32.6 +0.688% 2
Kazakhstan Kazakhstan 10.7 +3.6% 98
Kenya Kenya 3.34 +1.56% 195
Kyrgyzstan Kyrgyzstan 6.62 +4.84% 135
Cambodia Cambodia 7.38 +3.18% 126
Kiribati Kiribati 5.04 +2.46% 154
St. Kitts & Nevis St. Kitts & Nevis 12 +5.73% 89
South Korea South Korea 21.6 +4.72% 38
Kuwait Kuwait 3.72 +4.23% 179
Laos Laos 5.08 +2.97% 152
Lebanon Lebanon 11.1 +3.41% 93
Liberia Liberia 3.57 +1% 187
Libya Libya 5.52 +2.73% 146
St. Lucia St. Lucia 10.8 +3.43% 95
Liechtenstein Liechtenstein 22 +2.87% 33
Sri Lanka Sri Lanka 13.7 +3.22% 78
Lesotho Lesotho 4.87 +0.767% 157
Lithuania Lithuania 25 +1.25% 15
Luxembourg Luxembourg 16.8 +1.98% 61
Latvia Latvia 26.7 +1.57% 6
Macao SAR China Macao SAR China 13.8 +5.93% 76
Saint Martin (French part) Saint Martin (French part) 19.5 +7.2% 47
Morocco Morocco 8.66 +4.07% 114
Monaco Monaco 37.2 -0.394% 1
Moldova Moldova 19.5 +3.71% 49
Madagascar Madagascar 3.66 +2.02% 180
Maldives Maldives 5.81 +6.83% 143
Mexico Mexico 8.86 +3.39% 112
Marshall Islands Marshall Islands 4.8 +6.25% 160
North Macedonia North Macedonia 20 +2.73% 44
Mali Mali 2.61 -0.964% 210
Malta Malta 22.6 +2.06% 29
Myanmar (Burma) Myanmar (Burma) 8.33 +2.97% 120
Montenegro Montenegro 20.4 +1.92% 43
Mongolia Mongolia 6.26 +5.75% 141
Northern Mariana Islands Northern Mariana Islands 10.1 +11.5% 103
Mozambique Mozambique 3.59 +0.542% 186
Mauritania Mauritania 3.44 +0.944% 189
Mauritius Mauritius 14.8 +4.41% 70
Malawi Malawi 2.97 -0.0847% 203
Malaysia Malaysia 8.44 +3.83% 118
Namibia Namibia 4.51 +2.84% 164
New Caledonia New Caledonia 12.1 +3.04% 88
Niger Niger 2.81 +0.482% 207
Nigeria Nigeria 3.24 +0.645% 198
Nicaragua Nicaragua 6.37 +2.78% 139
Netherlands Netherlands 21.8 +1.51% 36
Norway Norway 20 +1.09% 46
Nepal Nepal 6.76 +1.99% 134
Nauru Nauru 3.62 +8.57% 182
New Zealand New Zealand 18.2 +2.42% 58
Oman Oman 3.62 -0.268% 183
Pakistan Pakistan 4.67 +2.24% 162
Panama Panama 10.3 +3.21% 101
Peru Peru 9.87 +2.68% 105
Philippines Philippines 6.4 +4.01% 137
Palau Palau 13.1 +3.97% 83
Papua New Guinea Papua New Guinea 3.47 +3.94% 188
Poland Poland 23.3 +2.68% 27
Puerto Rico Puerto Rico 26.7 +2.25% 5
North Korea North Korea 14.2 +2.32% 72
Portugal Portugal 26.8 +1.71% 4
Paraguay Paraguay 7.3 +2.79% 129
Palestinian Territories Palestinian Territories 4.21 +2.13% 170
French Polynesia French Polynesia 11.7 +5.5% 90
Qatar Qatar 2.31 +3.58% 213
Romania Romania 23.4 +1.18% 25
Russia Russia 21.2 +3.18% 40
Rwanda Rwanda 4.56 +2.63% 163
Saudi Arabia Saudi Arabia 3.36 +4.19% 194
Sudan Sudan 3.18 +4.01% 199
Senegal Senegal 3.78 +1.46% 178
Singapore Singapore 15.2 +3.91% 69
Solomon Islands Solomon Islands 3.78 +0.418% 177
Sierra Leone Sierra Leone 3.6 +1.16% 184
El Salvador El Salvador 9.47 +2.23% 108
San Marino San Marino 23.6 +2.87% 23
Somalia Somalia 2.87 +1.02% 205
Serbia Serbia 25.3 +1.85% 14
South Sudan South Sudan 3.43 +2.63% 191
São Tomé & Príncipe São Tomé & Príncipe 4.31 +0.966% 168
Suriname Suriname 9.3 +3.28% 109
Slovakia Slovakia 21.5 +2.39% 39
Slovenia Slovenia 24.5 +1.72% 18
Sweden Sweden 22.2 +0.936% 32
Eswatini Eswatini 5.05 +3.2% 153
Sint Maarten Sint Maarten 13.7 +4.44% 77
Seychelles Seychelles 10.2 +1.66% 102
Syria Syria 5.29 +1.24% 150
Turks & Caicos Islands Turks & Caicos Islands 12.4 +2.88% 86
Chad Chad 2.3 +0.947% 215
Togo Togo 3.42 +1.52% 192
Thailand Thailand 16.9 +4.34% 60
Tajikistan Tajikistan 4.23 +5.52% 169
Turkmenistan Turkmenistan 5.76 +4.85% 144
Timor-Leste Timor-Leste 5.72 -1.02% 145
Tonga Tonga 7.36 +2.01% 128
Trinidad & Tobago Trinidad & Tobago 13.9 +4.37% 73
Tunisia Tunisia 10.3 +3.86% 100
Turkey Turkey 11.5 +2.82% 91
Tuvalu Tuvalu 8.36 +7.37% 119
Tanzania Tanzania 3.63 +0.833% 181
Uganda Uganda 2.59 +1.77% 211
Ukraine Ukraine 23.3 +1.66% 26
Uruguay Uruguay 19 +1.32% 51
United States United States 19.5 +2.66% 48
Uzbekistan Uzbekistan 6.92 +2.69% 132
St. Vincent & Grenadines St. Vincent & Grenadines 12.6 +2.91% 85
Venezuela Venezuela 10.9 +3.62% 94
British Virgin Islands British Virgin Islands 10 +4.59% 104
U.S. Virgin Islands U.S. Virgin Islands 25 +2.68% 16
Vietnam Vietnam 10.8 +4.82% 96
Vanuatu Vanuatu 4.41 +3.78% 167
Samoa Samoa 6.4 +2.89% 138
Kosovo Kosovo 11.2 +4.46% 92
Yemen Yemen 2.88 +0.453% 204
South Africa South Africa 8 +2.57% 122
Zambia Zambia 2.31 +2.2% 214
Zimbabwe Zimbabwe 4.13 +0.184% 171

                    
# 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.65UP.FE.ZS'

# 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.65UP.FE.ZS'

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