Labor force, female (% of total labor force)

Source: worldbank.org, 01.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Afghanistan Afghanistan 6.8 -0.611% 181
Angola Angola 49.4 -0.0751% 13
Albania Albania 45.1 +0.17% 93
United Arab Emirates United Arab Emirates 23.3 +1.24% 166
Argentina Argentina 43.3 +0.0132% 106
Armenia Armenia 50.2 -0.158% 6
Australia Australia 47.4 +0.0489% 51
Austria Austria 46.9 -0.0367% 64
Azerbaijan Azerbaijan 49.9 -0.126% 8
Burundi Burundi 51.6 +0.0156% 4
Belgium Belgium 46.8 +0.0862% 66
Benin Benin 49.3 +0.0232% 16
Burkina Faso Burkina Faso 44.3 -0.173% 99
Bangladesh Bangladesh 36.9 +0.744% 149
Bulgaria Bulgaria 46.8 +0.0317% 68
Bahrain Bahrain 21.5 +0.137% 170
Bahamas Bahamas 48.8 -0.00608% 26
Bosnia & Herzegovina Bosnia & Herzegovina 42.5 -0.000485% 114
Belarus Belarus 49.1 -0.0418% 20
Belize Belize 39.5 +0.209% 139
Bolivia Bolivia 46.2 +0.342% 77
Brazil Brazil 43.3 +0.0393% 105
Barbados Barbados 49.9 -0.0925% 7
Brunei Brunei 38.9 -0.151% 143
Bhutan Bhutan 40.1 -0.0548% 136
Botswana Botswana 46.9 +0.257% 63
Central African Republic Central African Republic 48.6 -0.412% 30
Canada Canada 47.3 +0.014% 53
Switzerland Switzerland 46.8 -0.00629% 67
Chile Chile 42.8 +0.13% 110
China China 45.1 +0.0404% 92
Côte d’Ivoire Côte d’Ivoire 43.1 +0.106% 108
Cameroon Cameroon 43.8 -0.436% 102
Congo - Kinshasa Congo - Kinshasa 48.4 +0.0493% 33
Congo - Brazzaville Congo - Brazzaville 49.1 -0.0172% 22
Colombia Colombia 41.5 -0.0264% 123
Comoros Comoros 40.9 +0.287% 130
Cape Verde Cape Verde 43.2 -0.0758% 107
Costa Rica Costa Rica 39.5 -0.177% 140
Cuba Cuba 38.6 -0.319% 144
Cyprus Cyprus 45.9 +0.119% 82
Czechia Czechia 45 +0.0698% 94
Germany Germany 46.5 -0.0131% 73
Djibouti Djibouti 29.7 +0.362% 163
Denmark Denmark 47.5 -0.0224% 49
Dominican Republic Dominican Republic 41.6 +0.431% 120
Algeria Algeria 16.8 -0.0515% 176
Ecuador Ecuador 41.2 +0.0149% 128
Egypt Egypt 17.6 -0.977% 174
Eritrea Eritrea 47.5 -0.119% 47
Spain Spain 47 +0.083% 60
Estonia Estonia 49.5 -0.0745% 12
Ethiopia Ethiopia 42.7 -0.0446% 112
Finland Finland 48.5 -0.0403% 31
Fiji Fiji 34.2 -0.0339% 156
France France 48.5 +0.00119% 32
Gabon Gabon 40 +0.203% 137
United Kingdom United Kingdom 47.5 -0.0147% 45
Georgia Georgia 47.7 +0.0182% 44
Ghana Ghana 49.2 +0.148% 18
Guinea Guinea 41.1 -0.695% 129
Gambia Gambia 48.3 +0.0467% 38
Guinea-Bissau Guinea-Bissau 46.2 -0.0435% 78
Equatorial Guinea Equatorial Guinea 40.2 +0.22% 134
Greece Greece 44.8 -0.0481% 95
Guatemala Guatemala 34.2 +0.0103% 155
Guam Guam 44.8 +0.159% 96
Guyana Guyana 42.3 +0.325% 115
Hong Kong SAR China Hong Kong SAR China 50.8 +0.0472% 5
Honduras Honduras 34.5 -0.177% 154
Croatia Croatia 47.2 +0.0205% 55
Haiti Haiti 46.9 -0.0259% 65
Hungary Hungary 46.8 -0.118% 69
Indonesia Indonesia 39.4 +0.0654% 142
India India 28.7 +3.26% 164
Ireland Ireland 46.9 +0.149% 62
Iran Iran 16.5 -0.253% 177
Iraq Iraq 13.2 -0.588% 179
Iceland Iceland 46 -0.014% 81
Israel Israel 48.4 +0.129% 34
Italy Italy 42.7 +0.039% 111
Jamaica Jamaica 45.8 +0.0333% 83
Jordan Jordan 17.5 +0.126% 175
Japan Japan 45.1 +0.387% 91
Kazakhstan Kazakhstan 48.8 -0.0935% 27
Kenya Kenya 47.2 -0.0343% 56
Kyrgyzstan Kyrgyzstan 41.7 -0.178% 119
Cambodia Cambodia 48 -0.112% 43
South Korea South Korea 43.8 +0.0602% 101
Kuwait Kuwait 24.1 +0.0521% 165
Laos Laos 46.6 +0.0115% 72
Liberia Liberia 47.4 -0.0619% 52
Libya Libya 33.6 -0.333% 158
St. Lucia St. Lucia 46.3 +0.0283% 76
Sri Lanka Sri Lanka 33.2 +0.0415% 160
Lesotho Lesotho 43.9 -0.367% 100
Lithuania Lithuania 49.3 -0.106% 17
Luxembourg Luxembourg 46.4 +0.108% 74
Latvia Latvia 49.6 -0.0963% 11
Macao SAR China Macao SAR China 49.1 +0.212% 19
Morocco Morocco 22.1 -0.389% 169
Moldova Moldova 54.7 +0.0881% 1
Madagascar Madagascar 48.7 -0.0138% 28
Maldives Maldives 23.1 +0.647% 167
Mexico Mexico 40.1 +0.147% 135
North Macedonia North Macedonia 41.4 +0.0836% 127
Mali Mali 41.6 +0.000292% 121
Malta Malta 41.7 +0.37% 118
Myanmar (Burma) Myanmar (Burma) 37.7 -0.0393% 146
Montenegro Montenegro 45.4 -0.0934% 89
Mongolia Mongolia 44.5 -0.0953% 98
Mozambique Mozambique 52.3 -0.163% 3
Mauritania Mauritania 33.3 -0.121% 159
Mauritius Mauritius 38.4 +0.316% 145
Malawi Malawi 49.1 -0.0759% 21
Malaysia Malaysia 37.3 +0.17% 147
Namibia Namibia 48.4 +0.0643% 35
New Caledonia New Caledonia 46.6 -0.125% 71
Niger Niger 40.8 -0.156% 131
Nigeria Nigeria 48.4 -0.0648% 36
Nicaragua Nicaragua 39.4 +0.178% 141
Netherlands Netherlands 47.2 +0.037% 58
Norway Norway 47.2 +0.00326% 57
Nepal Nepal 37.2 +0.887% 148
New Zealand New Zealand 47.5 +0.0213% 50
Oman Oman 15.4 -0.0803% 178
Pakistan Pakistan 22.8 +0.484% 168
Panama Panama 40.8 +0.111% 132
Peru Peru 45.4 +0.0817% 90
Philippines Philippines 41.4 -0.204% 126
Papua New Guinea Papua New Guinea 47.5 +0.04% 46
Poland Poland 45.8 -0.00405% 84
Puerto Rico Puerto Rico 42.6 -0.073% 113
North Korea North Korea 48.2 -0.0936% 40
Portugal Portugal 49.4 +0.00001% 14
Paraguay Paraguay 41.9 +0.0992% 117
French Polynesia French Polynesia 43.5 -0.0113% 104
Qatar Qatar 18.2 +1.25% 172
Romania Romania 42.3 -0.0737% 116
Russia Russia 48.9 -0.00465% 25
Rwanda Rwanda 47.5 -0.153% 48
Saudi Arabia Saudi Arabia 19.7 +1.42% 171
Senegal Senegal 36.8 +0.0848% 150
Singapore Singapore 43.1 -0.00218% 109
Solomon Islands Solomon Islands 48 -0.00999% 42
Sierra Leone Sierra Leone 48.3 -0.168% 39
El Salvador El Salvador 41.4 -0.173% 125
Somalia Somalia 31.2 +0.0683% 161
Serbia Serbia 46.3 +0.141% 75
São Tomé & Príncipe São Tomé & Príncipe 49.7 +0.223% 10
Suriname Suriname 41.5 +0.133% 124
Slovakia Slovakia 47 +0.0294% 59
Slovenia Slovenia 45.6 -0.0272% 88
Sweden Sweden 47.3 -0.0533% 54
Eswatini Eswatini 49 +0.382% 23
Syria Syria 17.8 -0.496% 173
Chad Chad 40.4 -0.247% 133
Togo Togo 48 -0.0277% 41
Thailand Thailand 45.8 -0.022% 86
Tajikistan Tajikistan 39.9 +0.167% 138
Turkmenistan Turkmenistan 53 -0.0687% 2
Timor-Leste Timor-Leste 45.8 +0.0267% 85
Tonga Tonga 44.6 +0.924% 97
Trinidad & Tobago Trinidad & Tobago 43.8 +0.106% 103
Tunisia Tunisia 30 +0.0638% 162
Turkey Turkey 34.1 +0.826% 157
Tanzania Tanzania 49 -0.0412% 24
Uganda Uganda 48.3 -0.0125% 37
Uruguay Uruguay 46.8 +0.112% 70
United States United States 45.6 +0.0578% 87
Uzbekistan Uzbekistan 35.4 -0.106% 153
St. Vincent & Grenadines St. Vincent & Grenadines 41.6 +0.334% 122
Venezuela Venezuela 36.7 -0.232% 151
U.S. Virgin Islands U.S. Virgin Islands 49.4 +0.484% 15
Vietnam Vietnam 48.6 -0.0207% 29
Vanuatu Vanuatu 46.2 +0.0841% 79
Samoa Samoa 36.1 -0.118% 152
Yemen Yemen 7.43 -0.337% 180
South Africa South Africa 47 +0.0664% 61
Zambia Zambia 46.1 -0.0798% 80
Zimbabwe Zimbabwe 49.7 -0.201% 9

                    
# 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 = 'SL.TLF.TOTL.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 <- 'SL.TLF.TOTL.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))