diff --git a/Exercises/01 - Handling data/Happiness.ipynb b/Exercises/01 - Handling data/Happiness.ipynb index d24e2bd..6a5a98e 100644 --- a/Exercises/01 - Handling data/Happiness.ipynb +++ b/Exercises/01 - Handling data/Happiness.ipynb @@ -32,23 +32,15 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 6, "metadata": {}, "outputs": [ { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "country_name,area,population,literacy\n", - "afghanistan,647500,31056997,\"36,0\"\n", - "albania,28748,3581655,\"86,5\"\n", - "algeria,2381740,32930091,\"70,0\"\n", - "argentina,2766890,39921833,\"97,1\"\n", - "armenia,29800,2976372,\"98,6\"\n", - "australia,7686850,20264082,\"100,0\"\n", - "austria,83870,8192880,\"98,0\"\n", - "azerbaijan,86600,7961619,\"97,0\"\n", - "bahrain,665,698585,\"89,1\"\n" + "'head' is not recognized as an internal or external command,\n", + "operable program or batch file.\n" ] } ], @@ -58,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -85,11 +77,238 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
countryhappiness_scoresocial_supporthealthy_life_expectancyfreedom_of_choicesgenerosityperception_of_corruptionworld_regioncountry_key
0Afghanistan2.56690.47036752.5900000.396573-0.0964290.933687South Asiaafghanistan
1Albania4.88270.67107068.7081380.781994-0.0423090.896304Central and Eastern Europealbania
2Algeria5.00510.80338565.9051740.466611-0.1211050.735485Middle East and North Africaalgeria
3Argentina5.97470.90056868.8038020.831132-0.1949140.842010Latin America and Caribbeanargentina
4Armenia4.67680.75747966.7506560.712018-0.1387800.773545Commonwealth of Independent Statesarmenia
\n", + "
" + ], + "text/plain": [ + " country happiness_score social_support healthy_life_expectancy \\\n", + "0 Afghanistan 2.5669 0.470367 52.590000 \n", + "1 Albania 4.8827 0.671070 68.708138 \n", + "2 Algeria 5.0051 0.803385 65.905174 \n", + "3 Argentina 5.9747 0.900568 68.803802 \n", + "4 Armenia 4.6768 0.757479 66.750656 \n", + "\n", + " freedom_of_choices generosity perception_of_corruption \\\n", + "0 0.396573 -0.096429 0.933687 \n", + "1 0.781994 -0.042309 0.896304 \n", + "2 0.466611 -0.121105 0.735485 \n", + "3 0.831132 -0.194914 0.842010 \n", + "4 0.712018 -0.138780 0.773545 \n", + "\n", + " world_region country_key \n", + "0 South Asia afghanistan \n", + "1 Central and Eastern Europe albania \n", + "2 Middle East and North Africa algeria \n", + "3 Latin America and Caribbean argentina \n", + "4 Commonwealth of Independent States armenia " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
country_nameareapopulationliteracycountry_key
0afghanistan6475003105699736.0afghanistan
1albania28748358165586.5albania
2algeria23817403293009170.0algeria
3argentina27668903992183397.1argentina
4armenia29800297637298.6armenia
\n", + "
" + ], + "text/plain": [ + " country_name area population literacy country_key\n", + "0 afghanistan 647500 31056997 36.0 afghanistan\n", + "1 albania 28748 3581655 86.5 albania\n", + "2 algeria 2381740 32930091 70.0 algeria\n", + "3 argentina 2766890 39921833 97.1 argentina\n", + "4 armenia 29800 2976372 98.6 armenia" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# Write your code here" + "# Load datasets\n", + "happiness = pd.read_csv(HAPPINESS_DATASET)\n", + "countries = pd.read_csv(COUNTRIES_DATASET)\n", + "\n", + "# Clean up literacy (comma decimal separator) and types (robust to missing values)\n", + "import numpy as np\n", + "countries['literacy'] = pd.to_numeric(\n", + " countries['literacy'].astype(str).str.replace(',', '.', regex=False),\n", + " errors='coerce'\n", + ")\n", + "\n", + "# Normalize country names to join reliably\n", + "normalize = lambda s: str(s).strip().lower()\n", + "happiness['country_key'] = happiness['country'].apply(normalize)\n", + "countries['country_key'] = countries['country_name'].apply(normalize)\n", + "\n", + "# Preview\n", + "display(happiness.head())\n", + "display(countries.head())" ] }, { @@ -105,11 +324,173 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 9, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Rows in happiness: 135, rows after merge: 135\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
countryhappiness_scoresocial_supporthealthy_life_expectancyfreedom_of_choicesgenerosityperception_of_corruptionworld_regioncountry_keyareapopulationliteracy
0Afghanistan2.56690.47036752.5900000.396573-0.0964290.933687South Asiaafghanistan6475003105699736.0
1Albania4.88270.67107068.7081380.781994-0.0423090.896304Central and Eastern Europealbania28748358165586.5
2Algeria5.00510.80338565.9051740.466611-0.1211050.735485Middle East and North Africaalgeria23817403293009170.0
3Argentina5.97470.90056868.8038020.831132-0.1949140.842010Latin America and Caribbeanargentina27668903992183397.1
4Armenia4.67680.75747966.7506560.712018-0.1387800.773545Commonwealth of Independent Statesarmenia29800297637298.6
\n", + "
" + ], + "text/plain": [ + " country happiness_score social_support healthy_life_expectancy \\\n", + "0 Afghanistan 2.5669 0.470367 52.590000 \n", + "1 Albania 4.8827 0.671070 68.708138 \n", + "2 Algeria 5.0051 0.803385 65.905174 \n", + "3 Argentina 5.9747 0.900568 68.803802 \n", + "4 Armenia 4.6768 0.757479 66.750656 \n", + "\n", + " freedom_of_choices generosity perception_of_corruption \\\n", + "0 0.396573 -0.096429 0.933687 \n", + "1 0.781994 -0.042309 0.896304 \n", + "2 0.466611 -0.121105 0.735485 \n", + "3 0.831132 -0.194914 0.842010 \n", + "4 0.712018 -0.138780 0.773545 \n", + "\n", + " world_region country_key area population \\\n", + "0 South Asia afghanistan 647500 31056997 \n", + "1 Central and Eastern Europe albania 28748 3581655 \n", + "2 Middle East and North Africa algeria 2381740 32930091 \n", + "3 Latin America and Caribbean argentina 2766890 39921833 \n", + "4 Commonwealth of Independent States armenia 29800 2976372 \n", + "\n", + " literacy \n", + "0 36.0 \n", + "1 86.5 \n", + "2 70.0 \n", + "3 97.1 \n", + "4 98.6 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# Write your code here" + "# Merge happiness (left) with countries on normalized key\n", + "country_features = happiness.merge(\n", + " countries.drop(columns=['country_name']),\n", + " on='country_key', how='left', validate='m:1'\n", + ")\n", + "print(f\"Rows in happiness: {len(happiness)}, rows after merge: {len(country_features)}\")\n", + "display(country_features.head())" ] }, { @@ -123,11 +504,111 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
countryhappiness_score
0Finland7.8087
1Denmark7.6456
2Switzerland7.5599
3Iceland7.5045
4Norway7.4880
5Netherlands7.4489
6Sweden7.3535
7New Zealand7.2996
8Austria7.2942
9Luxembourg7.2375
\n", + "
" + ], + "text/plain": [ + " country happiness_score\n", + "0 Finland 7.8087\n", + "1 Denmark 7.6456\n", + "2 Switzerland 7.5599\n", + "3 Iceland 7.5045\n", + "4 Norway 7.4880\n", + "5 Netherlands 7.4489\n", + "6 Sweden 7.3535\n", + "7 New Zealand 7.2996\n", + "8 Austria 7.2942\n", + "9 Luxembourg 7.2375" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# Write your code here" + "# Top 10 countries by happiness score\n", + "_top10 = happiness.sort_values('happiness_score', ascending=False)[['country', 'happiness_score']].head(10)\n", + "display(_top10.reset_index(drop=True))" ] }, { @@ -142,11 +623,128 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 11, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
world_regionavg_happinessnum_countries
0North America and ANZ7.1735254
1Western Europe6.96740520
2Latin America and Caribbean5.97128020
3Central and Eastern Europe5.89139314
4Southeast Asia5.5177888
5East Asia5.4836333
6Commonwealth of Independent States5.35834212
7Middle East and North Africa5.26930616
8Sub-Saharan Africa4.39385632
9South Asia4.3550836
\n", + "
" + ], + "text/plain": [ + " world_region avg_happiness num_countries\n", + "0 North America and ANZ 7.173525 4\n", + "1 Western Europe 6.967405 20\n", + "2 Latin America and Caribbean 5.971280 20\n", + "3 Central and Eastern Europe 5.891393 14\n", + "4 Southeast Asia 5.517788 8\n", + "5 East Asia 5.483633 3\n", + "6 Commonwealth of Independent States 5.358342 12\n", + "7 Middle East and North Africa 5.269306 16\n", + "8 Sub-Saharan Africa 4.393856 32\n", + "9 South Asia 4.355083 6" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# Write your code here" + "# Average happiness and count by world region\n", + "region_stats = (\n", + " happiness\n", + " .groupby('world_region')\n", + " .agg(avg_happiness=('happiness_score', 'mean'), num_countries=('country', 'nunique'))\n", + " .sort_values('avg_happiness', ascending=False)\n", + " .reset_index()\n", + ")\n", + "display(region_stats)" ] }, { @@ -158,11 +756,88 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Region: North America and ANZ\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
countryhappiness_score
0New Zealand7.2996
1Canada7.2321
2Australia7.2228
3United States6.9396
\n", + "
" + ], + "text/plain": [ + " country happiness_score\n", + "0 New Zealand 7.2996\n", + "1 Canada 7.2321\n", + "2 Australia 7.2228\n", + "3 United States 6.9396" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# Write your code here" + "# Countries and scores in the top region\n", + "_top_region = region_stats.iloc[0]['world_region']\n", + "print(f\"Region: {_top_region}\")\n", + "_top_region_countries = (\n", + " happiness.loc[happiness['world_region'] == _top_region, ['country', 'happiness_score']]\n", + " .sort_values('happiness_score', ascending=False)\n", + " .reset_index(drop=True)\n", + ")\n", + "display(_top_region_countries)" ] }, { @@ -178,11 +853,29 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 13, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "North America and ANZ - Australia (7.222799778)\n", + "Western Europe - Denmark (7.645599842)\n", + "Western Europe - Finland (7.808700085)\n", + "Western Europe - Luxembourg (7.237500191)\n", + "Western Europe - Norway (7.487999916000001)\n" + ] + } + ], "source": [ - "# Write your code here" + "# Countries with 100% literacy\n", + "_full_lit = (\n", + " country_features.loc[country_features['literacy'] == 100.0, ['world_region', 'country', 'happiness_score']]\n", + " .sort_values(['world_region', 'country'])\n", + ")\n", + "for _, r in _full_lit.iterrows():\n", + " print(f\"{r['world_region']} - {r['country']} ({r['happiness_score']})\")" ] }, { @@ -194,11 +887,21 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 14, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Global average literacy: 81.85%\n" + ] + } + ], "source": [ - "# Write your code here" + "# Global average literacy (simple mean across countries)\n", + "_avg_lit = countries['literacy'].dropna().mean()\n", + "print(f\"Global average literacy: {_avg_lit:.2f}%\")" ] }, { @@ -210,11 +913,22 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Countries with literacy < 50%: 12.03%\n" + ] + } + ], "source": [ - "# Write your code here" + "# Proportion of countries with literacy below 50%\n", + "mask = countries['literacy'].notna()\n", + "prop_below_50 = (countries.loc[mask, 'literacy'] < 50).mean() * 100\n", + "print(f\"Countries with literacy < 50%: {prop_below_50:.2f}%\")" ] }, { @@ -226,11 +940,26 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Illiterate people (raw): 1 249 372 988\n", + "Illiterate people (%): 20.35%\n" + ] + } + ], "source": [ - "# Write your code here" + "# World population that is illiterate (raw and percentage)\n", + "_pop_lit = countries[['population', 'literacy']].dropna()\n", + "illiterate_raw = (_pop_lit['population'] * (1 - _pop_lit['literacy'] / 100.0)).sum()\n", + "total_pop = _pop_lit['population'].sum()\n", + "illiterate_pct = (illiterate_raw / total_pop) * 100\n", + "print(f\"Illiterate people (raw): {int(illiterate_raw):,}\".replace(',', ' '))\n", + "print(f\"Illiterate people (%): {illiterate_pct:.2f}%\")" ] }, { @@ -244,11 +973,93 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 17, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
countrypopulationareapopulation_density
0Afghanistan3105699764750047.964474
1Albania358165528748124.587971
2Algeria32930091238174013.826065
3Argentina39921833276689014.428413
4Armenia29763722980099.878255
\n", + "
" + ], + "text/plain": [ + " country population area population_density\n", + "0 Afghanistan 31056997 647500 47.964474\n", + "1 Albania 3581655 28748 124.587971\n", + "2 Algeria 32930091 2381740 13.826065\n", + "3 Argentina 39921833 2766890 14.428413\n", + "4 Armenia 2976372 29800 99.878255" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# Write your code here" + "# Add population density\n", + "country_features['population_density'] = country_features['population'] / country_features['area']\n", + "display(country_features[['country', 'population', 'area', 'population_density']].head())" ] }, { @@ -260,11 +1071,77 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 18, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
countrypopulation_densityhappiness_score
0Mongolia1.8107515.4562
1Australia2.6362017.2228
2Botswana2.7313713.4789
\n", + "
" + ], + "text/plain": [ + " country population_density happiness_score\n", + "0 Mongolia 1.810751 5.4562\n", + "1 Australia 2.636201 7.2228\n", + "2 Botswana 2.731371 3.4789" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# Write your code here" + "# Happiness scores of the 3 countries with lowest population density\n", + "_lowest_density = (\n", + " country_features.sort_values('population_density', ascending=True)[['country', 'population_density', 'happiness_score']]\n", + " .head(3)\n", + " .reset_index(drop=True)\n", + ")\n", + "display(_lowest_density)" ] }, { @@ -278,11 +1155,29 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 19, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# Write your code here" + "# Scatter: happiness vs healthy life expectancy\n", + "import matplotlib.pyplot as plt\n", + "ax = happiness.plot.scatter(\n", + " x='happiness_score', y='healthy_life_expectancy', alpha=0.7,\n", + " grid=True, figsize=(6, 4),\n", + " title='Happiness vs Healthy Life Expectancy (2020)'\n", + ")\n", + "plt.show()" ] }, { @@ -298,7 +1193,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "base", "language": "python", "name": "python3" }, @@ -312,7 +1207,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.18" + "version": "3.12.4" } }, "nbformat": 4,