diff --git a/Exercises/01 - Handling data/Happiness.ipynb b/Exercises/01 - Handling data/Happiness.ipynb index d24e2bd..ef864a8 100644 --- a/Exercises/01 - Handling data/Happiness.ipynb +++ b/Exercises/01 - Handling data/Happiness.ipynb @@ -33,7 +33,15 @@ { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:26:42.560132Z", + "iopub.status.busy": "2025-09-15T09:26:42.559873Z", + "iopub.status.idle": "2025-09-15T09:26:42.679487Z", + "shell.execute_reply": "2025-09-15T09:26:42.678565Z", + "shell.execute_reply.started": "2025-09-15T09:26:42.560112Z" + } + }, "outputs": [ { "name": "stdout", @@ -59,7 +67,15 @@ { "cell_type": "code", "execution_count": 2, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:26:42.680685Z", + "iopub.status.busy": "2025-09-15T09:26:42.680412Z", + "iopub.status.idle": "2025-09-15T09:26:43.465718Z", + "shell.execute_reply": "2025-09-15T09:26:43.464928Z", + "shell.execute_reply.started": "2025-09-15T09:26:42.680658Z" + } + }, "outputs": [], "source": [ "import pandas as pd\n", @@ -86,10 +102,237 @@ { "cell_type": "code", "execution_count": 3, - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:26:43.466861Z", + "iopub.status.busy": "2025-09-15T09:26:43.466479Z", + "iopub.status.idle": "2025-09-15T09:26:43.481319Z", + "shell.execute_reply": "2025-09-15T09:26:43.480716Z", + "shell.execute_reply.started": "2025-09-15T09:26:43.466833Z" + } + }, + "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", + "
countryhappiness_scoresocial_supporthealthy_life_expectancyfreedom_of_choicesgenerosityperception_of_corruptionworld_region
0Afghanistan2.56690.47036752.5900000.396573-0.0964290.933687South Asia
1Albania4.88270.67107068.7081380.781994-0.0423090.896304Central and Eastern Europe
2Algeria5.00510.80338565.9051740.466611-0.1211050.735485Middle East and North Africa
3Argentina5.97470.90056868.8038020.831132-0.1949140.842010Latin America and Caribbean
4Armenia4.67680.75747966.7506560.712018-0.1387800.773545Commonwealth of Independent States
\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 \n", + "0 South Asia \n", + "1 Central and Eastern Europe \n", + "2 Middle East and North Africa \n", + "3 Latin America and Caribbean \n", + "4 Commonwealth of Independent States " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Write your code here" + "happiness = pd.read_csv(HAPPINESS_DATASET)\n", + "happiness.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:26:43.482052Z", + "iopub.status.busy": "2025-09-15T09:26:43.481887Z", + "iopub.status.idle": "2025-09-15T09:26:43.505677Z", + "shell.execute_reply": "2025-09-15T09:26:43.504768Z", + "shell.execute_reply.started": "2025-09-15T09:26:43.482037Z" + } + }, + "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", + "
country_nameareapopulationliteracy
0afghanistan6475003105699736,0
1albania28748358165586,5
2algeria23817403293009170,0
3argentina27668903992183397,1
4armenia29800297637298,6
\n", + "
" + ], + "text/plain": [ + " country_name area population literacy\n", + "0 afghanistan 647500 31056997 36,0\n", + "1 albania 28748 3581655 86,5\n", + "2 algeria 2381740 32930091 70,0\n", + "3 argentina 2766890 39921833 97,1\n", + "4 armenia 29800 2976372 98,6" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "countries = pd.read_csv(COUNTRIES_DATASET)\n", + "countries.head()" ] }, { @@ -105,11 +348,182 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], + "execution_count": 5, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:26:43.506888Z", + "iopub.status.busy": "2025-09-15T09:26:43.506502Z", + "iopub.status.idle": "2025-09-15T09:26:43.547276Z", + "shell.execute_reply": "2025-09-15T09:26:43.546609Z", + "shell.execute_reply.started": "2025-09-15T09:26:43.506860Z" + } + }, + "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", + " \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_nameareapopulationliteracy
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_name 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 " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Write your code here" + "# Make both country columns lowercase so they match\n", + "happiness['country'] = happiness['country'].str.lower()\n", + "countries['country_name'] = countries['country_name'].str.lower()\n", + "\n", + "# Merge directly\n", + "country_features = pd.merge(\n", + " happiness,\n", + " countries,\n", + " left_on=\"country\",\n", + " right_on=\"country_name\",\n", + " how=\"inner\" # only matching countries will remain\n", + ")\n", + "\n", + "country_features.head()" ] }, { @@ -123,11 +537,123 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], + "execution_count": 6, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:26:43.549518Z", + "iopub.status.busy": "2025-09-15T09:26:43.549301Z", + "iopub.status.idle": "2025-09-15T09:26:43.575114Z", + "shell.execute_reply": "2025-09-15T09:26:43.574227Z", + "shell.execute_reply.started": "2025-09-15T09:26:43.549498Z" + } + }, + "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
38finland7.8087
31denmark7.6456
115switzerland7.5599
50iceland7.5045
92norway7.4880
87netherlands7.4489
114sweden7.3535
88new zealand7.2996
6austria7.2942
72luxembourg7.2375
\n", + "
" + ], + "text/plain": [ + " country happiness_score\n", + "38 finland 7.8087\n", + "31 denmark 7.6456\n", + "115 switzerland 7.5599\n", + "50 iceland 7.5045\n", + "92 norway 7.4880\n", + "87 netherlands 7.4489\n", + "114 sweden 7.3535\n", + "88 new zealand 7.2996\n", + "6 austria 7.2942\n", + "72 luxembourg 7.2375" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Write your code here" + "# Top 10 countries by happiness score\n", + "top10 = country_features[['country', 'happiness_score']].sort_values(\n", + " by=\"happiness_score\", ascending=False\n", + ").head(10)\n", + "\n", + "top10" ] }, { @@ -142,11 +668,141 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], + "execution_count": 7, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:26:43.575997Z", + "iopub.status.busy": "2025-09-15T09:26:43.575789Z", + "iopub.status.idle": "2025-09-15T09:26:43.605338Z", + "shell.execute_reply": "2025-09-15T09:26:43.604798Z", + "shell.execute_reply.started": "2025-09-15T09:26:43.575981Z" + } + }, + "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
5North America and ANZ7.1735254
9Western Europe6.96740520
3Latin America and Caribbean5.97128020
0Central and Eastern Europe5.89139314
7Southeast Asia5.5177888
2East Asia5.4836333
1Commonwealth of Independent States5.35834212
4Middle East and North Africa5.26930616
8Sub-Saharan Africa4.39385632
6South Asia4.3550836
\n", + "
" + ], + "text/plain": [ + " world_region avg_happiness num_countries\n", + "5 North America and ANZ 7.173525 4\n", + "9 Western Europe 6.967405 20\n", + "3 Latin America and Caribbean 5.971280 20\n", + "0 Central and Eastern Europe 5.891393 14\n", + "7 Southeast Asia 5.517788 8\n", + "2 East Asia 5.483633 3\n", + "1 Commonwealth of Independent States 5.358342 12\n", + "4 Middle East and North Africa 5.269306 16\n", + "8 Sub-Saharan Africa 4.393856 32\n", + "6 South Asia 4.355083 6" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Write your code here" + "# Average happiness score and number of countries per region\n", + "region_stats = (\n", + " country_features\n", + " .groupby(\"world_region\")\n", + " .agg(\n", + " avg_happiness=(\"happiness_score\", \"mean\"),\n", + " num_countries=(\"country\", \"count\")\n", + " )\n", + " .reset_index()\n", + " .sort_values(by=\"avg_happiness\", ascending=False)\n", + ")\n", + "\n", + "region_stats\n" ] }, { @@ -158,11 +814,98 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], + "execution_count": 8, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:26:43.606022Z", + "iopub.status.busy": "2025-09-15T09:26:43.605870Z", + "iopub.status.idle": "2025-09-15T09:26:43.626704Z", + "shell.execute_reply": "2025-09-15T09:26:43.626149Z", + "shell.execute_reply.started": "2025-09-15T09:26:43.606007Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Happiest 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
5australia7.2228
21canada7.2321
88new zealand7.2996
127united states6.9396
\n", + "
" + ], + "text/plain": [ + " country happiness_score\n", + "5 australia 7.2228\n", + "21 canada 7.2321\n", + "88 new zealand 7.2996\n", + "127 united states 6.9396" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Write your code here" + "# Identify the happiest region (first row of region_stats)\n", + "happiest_region = region_stats.iloc[0][\"world_region\"]\n", + "\n", + "print(\"Happiest region:\", happiest_region)\n", + "\n", + "# Show the countries in that region with their happiness scores\n", + "country_features.loc[\n", + " country_features[\"world_region\"] == happiest_region,\n", + " [\"country\", \"happiness_score\"]\n", + "]" ] }, { @@ -178,11 +921,43 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], + "execution_count": 10, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:27:53.354932Z", + "iopub.status.busy": "2025-09-15T09:27:53.354659Z", + "iopub.status.idle": "2025-09-15T09:27:53.361753Z", + "shell.execute_reply": "2025-09-15T09:27:53.361015Z", + "shell.execute_reply.started": "2025-09-15T09:27:53.354914Z" + } + }, + "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" + "# Fix literacy column only (since it has commas as decimal separator)\n", + "country_features['literacy'] = country_features['literacy'].astype(str).str.replace(',', '.').astype(float)\n", + "\n", + "# Make sure population is numeric (if not already)\n", + "country_features['population'] = pd.to_numeric(country_features['population'], errors='coerce')\n", + "\n", + "# Countries with 100% literacy\n", + "full_literacy = country_features[country_features['literacy'] == 100][\n", + " ['world_region', 'country', 'happiness_score']\n", + "]\n", + "\n", + "for _, r in full_literacy.iterrows():\n", + " print(f\"{r.world_region} - {r.country} ({r.happiness_score})\")" ] }, { @@ -194,11 +969,28 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], + "execution_count": 11, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:27:54.480595Z", + "iopub.status.busy": "2025-09-15T09:27:54.480322Z", + "iopub.status.idle": "2025-09-15T09:27:54.484564Z", + "shell.execute_reply": "2025-09-15T09:27:54.483790Z", + "shell.execute_reply.started": "2025-09-15T09:27:54.480577Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Global average literacy: 81.85 %\n" + ] + } + ], "source": [ - "# Write your code here" + "global_avg = country_features['literacy'].mean()\n", + "print(\"Global average literacy:\", round(global_avg, 2), \"%\")" ] }, { @@ -210,11 +1002,29 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], + "execution_count": 12, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:28:09.105039Z", + "iopub.status.busy": "2025-09-15T09:28:09.104776Z", + "iopub.status.idle": "2025-09-15T09:28:09.109571Z", + "shell.execute_reply": "2025-09-15T09:28:09.109004Z", + "shell.execute_reply.started": "2025-09-15T09:28:09.105022Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Proportion of countries with literacy <50%: 12.03 %\n" + ] + } + ], "source": [ - "# Write your code here" + "low_lit = (country_features['literacy'] < 50).sum()\n", + "total = country_features['literacy'].notna().sum()\n", + "print(\"Proportion of countries with literacy <50%:\", round(100 * low_lit / total, 2), \"%\")" ] }, { @@ -226,11 +1036,32 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], + "execution_count": 13, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:28:24.761077Z", + "iopub.status.busy": "2025-09-15T09:28:24.760801Z", + "iopub.status.idle": "2025-09-15T09:28:24.765975Z", + "shell.execute_reply": "2025-09-15T09:28:24.765244Z", + "shell.execute_reply.started": "2025-09-15T09:28:24.761059Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Illiterate population: 1249372988\n", + "Share of world population illiterate: 20.33 %\n" + ] + } + ], "source": [ - "# Write your code here" + "illiterate_pop = (country_features['population'] * (1 - country_features['literacy'] / 100)).sum()\n", + "world_pop = country_features['population'].sum()\n", + "\n", + "print(\"Illiterate population:\", int(illiterate_pop))\n", + "print(\"Share of world population illiterate:\", round(100 * illiterate_pop / world_pop, 2), \"%\")" ] }, { @@ -244,11 +1075,108 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], + "execution_count": 14, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:29:32.553251Z", + "iopub.status.busy": "2025-09-15T09:29:32.552990Z", + "iopub.status.idle": "2025-09-15T09:29:32.561838Z", + "shell.execute_reply": "2025-09-15T09:29:32.561200Z", + "shell.execute_reply.started": "2025-09-15T09:29:32.553233Z" + } + }, + "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" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Write your code here" + "# Ensure numeric types\n", + "country_features['population'] = pd.to_numeric(country_features['population'], errors='coerce')\n", + "country_features['area'] = pd.to_numeric(country_features['area'], errors='coerce')\n", + "\n", + "# Compute population density (people per unit area)\n", + "country_features['population_density'] = country_features['population'] / country_features['area']\n", + "\n", + "# Preview\n", + "country_features[['country', 'population', 'area', 'population_density']].head()" ] }, { @@ -260,11 +1188,84 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], + "execution_count": 15, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:29:56.286551Z", + "iopub.status.busy": "2025-09-15T09:29:56.286297Z", + "iopub.status.idle": "2025-09-15T09:29:56.297522Z", + "shell.execute_reply": "2025-09-15T09:29:56.296837Z", + "shell.execute_reply.started": "2025-09-15T09:29:56.286534Z" + } + }, + "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
83mongolia1.8107515.4562
5australia2.6362017.2228
14botswana2.7313713.4789
\n", + "
" + ], + "text/plain": [ + " country population_density happiness_score\n", + "83 mongolia 1.810751 5.4562\n", + "5 australia 2.636201 7.2228\n", + "14 botswana 2.731371 3.4789" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Write your code here" + "lowest_density = country_features.nsmallest(3, 'population_density')[\n", + " ['country', 'population_density', 'happiness_score']\n", + "]\n", + "\n", + "lowest_density" ] }, { @@ -278,11 +1279,43 @@ }, { "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], + "execution_count": 16, + "metadata": { + "execution": { + "iopub.execute_input": "2025-09-15T09:30:33.833057Z", + "iopub.status.busy": "2025-09-15T09:30:33.832798Z", + "iopub.status.idle": "2025-09-15T09:30:33.943445Z", + "shell.execute_reply": "2025-09-15T09:30:33.942826Z", + "shell.execute_reply.started": "2025-09-15T09:30:33.833040Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq4AAAIjCAYAAADC0ZkAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAioFJREFUeJzt3Xl8E3X6B/DP5G7OHrSWQmnLjRyKoAgeiAio6HotKqjgseoqiiyeqCigqLjKst7XLqKCsCpei6iIyv60gIii3DfhKNCWHmma5pz5/VETmjZtkzZtMsnn/Xrx0sykkyczoTz5zvN9voIkSRKIiIiIiOKcItYBEBERERGFg4krEREREckCE1ciIiIikgUmrkREREQkC0xciYiIiEgWmLgSERERkSwwcSUiIiIiWWDiSkRERESywMSViIiIiGSBiSsRhWX//v0QBAHPPfdczF777bffDvu54cQ5c+ZMCIIQhQiTV35+Pm688cZ2e71Yfg4j8fbbb0MQBOzfvz/WoRAlFCauRDLzyiuvQBAEDBkyJNahxNQXX3yBmTNnxjqMhLF161bMnDmTiVac++KLL3DxxRejY8eOSE1NxahRo/Dbb7/FOiyidsPElUhmFi1ahPz8fPz000/YvXt3rMOJmS+++AKzZs1q1TEeffRR1NTURCkiedu6dStmzZoVceK6Y8cOvPnmm20TlIzdcMMNqKmpQV5eXlSPe8kll0CtVuOxxx7D9OnTsXnzZowaNQolJSVRfR2ieMXElUhG9u3bh8LCQsybNw+ZmZlYtGhRWD/n9XrhdrvbODr5UalU0Ol0UTuew+GI2rHimSRJgYRfq9VCrVbHOKL4o1QqodPpolaKUl1dDQBYs2YNPv30U9xxxx148MEHsXDhQpSUlODrr7+OyusQxTsmrkQysmjRIqSlpWHs2LH485//HDJxrVsDOH/+fHTr1g1arRZbt24FAGzfvh1//vOfkZ6eDp1Oh8GDB+Ozzz6LKI433ngjcNzTTz8d69evb/CccF6nrKwM9913H/r37w+j0Qiz2YyLLrqo2VufN954I15++WUAgCAIgT+RxtlYjet7772HQYMGISUlBenp6bj22mtx8ODBoOecd9556NevHzZs2IBzzz0Xer0eDz/8cJNxb9++HVdffTUyMzORkpKCXr164ZFHHgl6zq+//oqLLroIZrMZRqMRI0eOxNq1a8OKO1RdZX5+Pi655BL88MMPOOOMM6DT6dC1a1e88847QT83btw4AMCIESMC5/P7778POsZXX32FwYMHIyUlBa+//npgX/0a14qKCkydOhW5ubnQarXo3r075s6dC1EUg563ZMkSDBo0CCaTCWazGf3798c///nPJs9hXc1d399//x033ngjunbtCp1Oh+zsbNx88804fvx4yPPpvz5msxkZGRm455574HQ6g54rCALuuusuLFq0CL169YJOp8OgQYPwv//9L+h5jdW4rlixAueccw4MBgNMJhPGjh2LLVu2BD3nxhtvhNFoxJ49e3DxxRfDZDLhuuuuA4AGJUL+L178YkrJQhXrAIgofIsWLcKVV14JjUaD8ePH49VXX8X69etx+umnN3juggUL4HQ6cdttt0Gr1SI9PR1btmzBWWedhU6dOuGhhx6CwWDAf/7zH1x++eX46KOPcMUVVzQbw+LFi1FVVYXbb78dgiDg2WefxZVXXom9e/cGRt7CfZ29e/fik08+wbhx41BQUIBjx47h9ddfx/Dhw7F161bk5OSEjOH2229HUVERVq5ciXfffbfFcYYyZ84czJgxA1dffTX+8pe/oKSkBC+++CLOPfdc/Prrr0hNTQ089/jx47joootw7bXX4vrrr8dJJ53U6HF///13nHPOOVCr1bjtttuQn5+PPXv24PPPP8ecOXMC5+2cc86B2WzGAw88ALVajddffx3nnXceVq9e3eK65t27d+PPf/4zbrnlFkyaNAn//ve/ceONN2LQoEHo27cvzj33XEyZMgUvvPACHn74YfTp0wcAAv8FaksCxo8fj9tvvx233norevXqFfK1HA4Hhg8fjsOHD+P2229Hly5dUFhYiOnTp+PIkSOYP38+AGDlypUYP348Ro4ciblz5wIAtm3bhh9//BH33HNPs+8pnOu7cuVK7N27FzfddBOys7OxZcsWvPHGG9iyZQvWrl3bIPm/+uqrkZ+fj6effhpr167FCy+8gPLy8qAkHwBWr16NpUuXYsqUKdBqtXjllVdw4YUX4qeffkK/fv0ajfndd9/FpEmTMGbMGMydOxcOhwOvvvoqzj77bPz666/Iz88PPNfr9WLMmDE4++yz8dxzz0Gv1zc4ntPpxMMPP4yMjAxcdtllzZ4zooQgEZEs/PzzzxIAaeXKlZIkSZIoilLnzp2le+65J+h5+/btkwBIZrNZKi4uDto3cuRIqX///pLT6QxsE0VRGjZsmNSjR48mX99/3IyMDKmsrCyw/dNPP5UASJ9//nnEr+N0OiWfz9fgdbRarTR79uwGr71gwYLAtsmTJ0uhfoVFEufjjz8edIz9+/dLSqVSmjNnTtAxN23aJKlUqqDtw4cPlwBIr732WugTVs+5554rmUwmyWq1Bm0XRTHw/5dffrmk0WikPXv2BLYVFRVJJpNJOvfccxuN22/BggUSAGnfvn2BbXl5eRIA6X//+19gW3FxsaTVaqV77703sO2DDz6QAEjfffddg+P6j/Hll1+G3Ddp0qTA4yeeeEIyGAzSzp07g5730EMPSUqlUjpw4IAkSZJ0zz33SGazWfJ6vQ2O2ZRIrq/D4Wjw8++//36D8+E/n3/605+CnnvnnXdKAKTffvstsA2ABED6+eefA9usVquk0+mkK664IrCt/rWoqqqSUlNTpVtvvTXoNY4ePSpZLJag7ZMmTZIASA899FCj58Hj8UgXX3yxpNVqpe+//77R5xElGpYKEMnEokWLcNJJJ2HEiBEAam9ZXnPNNViyZAl8Pl+D51911VXIzMwMPC4rK8O3336Lq6++GlVVVSgtLUVpaSmOHz+OMWPGYNeuXTh8+HCzcVxzzTVIS0sLPD7nnHMA1I6eRvo6Wq0WCkXtryGfz4fjx4/DaDSiV69e+OWXX1p4psKLM5Rly5ZBFEVcffXVgbhLS0uRnZ2NHj164Lvvvgt6vlarxU033dRsLCUlJfjf//6Hm2++GV26dAna5x/18/l8+Prrr3H55Zeja9eugf0dO3bEhAkT8MMPP8BmszX/xkM4+eSTA+8fADIzM9GrV68mz0V9BQUFGDNmTLPP++CDD3DOOecgLS0t6BxecMEF8Pl8gVvqqampqK6uxsqVKyN/Qwjv+qakpAT+3+l0orS0FGeeeSYAhPx8TZ48Oejx3XffDaB2ImBdQ4cOxaBBgwKPu3TpgssuuwxfffVVyL+LQO3ob0VFBcaPHx90XpRKJYYMGdLgswUAd9xxR+g3D2DWrFlYsWIFFi1ahOHDhzf6PKJEw1IBIhnw+XxYsmQJRowYgX379gW2DxkyBM8//zxWrVqF0aNHB/1MQUFB0OPdu3dDkiTMmDEDM2bMCPk6xcXF6NSpU5Ox1E+8/MlDeXl5xK8jiiL++c9/4pVXXsG+ffuC/tHPyMhoMo7mNBdnKLt27YIkSejRo0fI/fVLDDp16gSNRtNsLP5kqqnbyCUlJXA4HCFvwffp0weiKOLgwYPo27dvs69XX/1zAdSej6bORX31P0+N2bVrF37//fegL011FRcXAwDuvPNO/Oc//8FFF12ETp06YfTo0bj66qtx4YUXhvU64VzfsrIyzJo1C0uWLAm8rl9lZWWDY9a/7t26dYNCoWhQpxrq89GzZ084HA6UlJQgOzu7wf5du3YBAM4///yQ78dsNgc9VqlU6Ny5c8jnArVlB6NGjcJVV13V6HOIEhETVyIZ+Pbbb3HkyBEsWbIES5YsabB/0aJFDRLXuqNNAAITY+67775GR866d+/ebCxKpTLkdkmSIn6dp556CjNmzMDNN9+MJ554Aunp6VAoFJg6dWqDiTyRai7OUERRhCAIWLFiRcifNxqNQY/rn+P20thM9cZG+1pyLuoL972KoohRo0bhgQceCLm/Z8+eAICsrCxs3LgRX331FVasWIEVK1ZgwYIFmDhxIhYuXNjs64Tznq6++moUFhbi/vvvx6mnngqj0QhRFHHhhReG9fmK5uIU/td79913Qya2KlXwP8d170aEcvz4cXTs2DFq8RHJBRNXIhlYtGgRsrKyAjPp61q2bBk+/vhjvPbaa00mF/7bz2q1GhdccEGbxRrJ63z44YcYMWIE/vWvfwVtr6ioQIcOHZr82bZY8apbt26QJAkFBQWBBCsa/Odk8+bNjT4nMzMTer0eO3bsaLBv+/btUCgUyM3NBXBidLGioiJospjVam1xjNE6n926dYPdbg/rM6bRaHDppZfi0ksvhSiKuPPOO/H6669jxowZYX2Jakp5eTlWrVqFWbNm4bHHHgts9498hrJr166gkeXdu3dDFMWgSVONHWPnzp3Q6/WNjjR369YNQG3CHo2/f7fddhsGDhzY6uMQyQ1rXIniXE1NDZYtW4ZLLrkEf/7znxv8ueuuu1BVVdVsS6usrCycd955eP3113HkyJEG+6PVwDyS11EqlQ1G/T744IOwam0NBgOA2uQtWq688koolUrMmjWrQVySJDVooxSuzMxMnHvuufj3v/+NAwcONDguUHsuRo8ejU8//TTo1vSxY8ewePFinH322YHbyf4kqG4Lpurq6rBGKhsTrfN59dVXY82aNfjq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pFlytu7IcyjxPPJMRG0r4lKB5cuX4+WXX8bNN9+MTz/9FPv374fVasV///tfjB49ui1iJCJKGlxy9sTI85ai2nrZuuUC/pHnfjmWhB95JqKGWlTjOnnyZBw6dAhz586FSqXC999/j2HDhkU7NiKipJTsS876R57nLN8Ga5kDmUYtdOraEdgSuytpRp6JqKGISwXKy8tx1VVX4dVXX8Xrr7+Oq6++GqNHj27QGouIiFrOv+TskK4Z6J3dstn5cuYfee6bY4HN6cWhcgdsTi/65VjYCosoiUU84tqvXz8UFBTg119/RUFBAW699VYsXboUd955J5YvX47ly5e3RZxERJRkkn3kmYgainjE9a9//Sv+97//oaCgILDtmmuuwW+//Qa32x3V4IiIKLkl+8gzEQWLeMR1xowZIbd37twZK1eubHVAREREREShhD3i+uyzz6Kmpibw+Mcff4TL5Qo8rqqqClrylYiIiIgomsJOXKdPn46qqqrA44suuihoIQKHw4HXX389utEREREREf0h7MQ11CouRERERETtJeLJWUREREREscDElYiIiIhkIaKuAm+99RaMRiMAwOv14u2330aHDh0AIKj+lYiIiIgo2sJOXLt06YI333wz8Dg7Oxvvvvtug+cQEVFiEUUpsAiASacCBKCqxssFAYio3YWduO7fv78NwyAioni0wVqGhYVW7C62o7LGjSqnFwBg0qlgSdGge5YRk4blcQlWImoXrHElIoozoihh+1Eb1u09ju1HbRDFyLu4ROMYG6xlmLN8GzYfroQgALYaD9xeEW6fiCqnFwIkbCmqxJzl27DBWhbx8YmIIhXxyllERNR26o5wur0+aFTKiEc1o3EMUZSwsNCKCocHeRl6bD1ig08EDFoVIEmo8YoorXbj5GwTDpTX4J1CKwbmprFsgIjaFEdciYjiRN0RTrNOhc5peph1qohGNaNxDADYWVyF3cV2ZJm0cLh9qHb5oFEpIAAQBAEapQLVLi8cbhGZRi12Fduxs5iTdImobTFxJSKKA3VHOPMz9DBoVVAqBBi0KuSl61FZ48E7hdYmb/lH4xh+lQ4P3F4fdGolPD4RoiRBWWc0VSkAogR4RBE6tRJurw+VDk9UzgURUWOYuBIRxYG6I5yCEHy7XRCEsEY1o3EMP4teDY1KCafHB7VSAYUgwFcn4fVJgEIA1AoFnJ7acgSLXh3hu44//qT+5/1lLa4NJqK206LEdc+ePXj00Ucxfvx4FBcXAwBWrFiBLVu2RDU4IqJkUXeEM5RwRjWjcQy/nlkmdM8yosTugl6jhEGrhNsnQkLtkt9unwiDVgW9RoESuws9sozomWUK673Gqw3WMjy0bBMAYPbnWzFt6W+YunQjJ54RxZGIE9fVq1ejf//+WLduHZYtWwa73Q4A+O233/D4449HPUAiiq5ozDan6Ks7whlKOKOa0TiGn0IhYNKwPFhS1DhQ5kAHoxZKAah2e1Ht8UGlENDBoMGB8hpYUtSYOCxP1hOz/LXB247YAACd0lJaVBtMRG0r4q4CDz30EJ588klMmzYNJtOJb9fnn38+XnrppagGR0TRFY3Z5tQ2/COcW4oqodcog271S5KEErsL/XIsTY5qRuMYdQ3KS8cjY/sEPjPmFHVQH1cJAvrlWDBR5p+furXB3TNSANigFAQYtEroNUpYyxzsmkAUJyJOXDdt2oTFixc32J6VlYXS0tKoBEVE0ecfUapweJBl0kKn1sLp8QVGlB4Z20fWyYfc+Uc45yzfBmuZA5lGLXTq2tHTErsrrFHNaByjvkF56RiYm5bQK2dFUhvcO9scoyiJCGhB4pqamoojR46goKAgaPuvv/6KTp06RS0wIoqe+rPN/f8419YockSpMXWXOm2PJK3+CGep3QWNShnRqGY0jlGfQiEkdMJ2ojZYC6Bh6YxOrUSp3cWuCURxIOLE9dprr8WDDz6IDz74AIIgQBRF/Pjjj7jvvvswceLEtoiRiFqJI0qRi1VZRf0RzpYkzNE4RjKpWxus1Tac+pFIXROI5C7ixPWpp57C5MmTkZubC5/Ph5NPPhk+nw8TJkzAo48+2hYxElErBY8oNcQRpWCxLquIxghnoo+SRlPd2mCzRhe0ryW1wUTUdsLqKmCz2QL/r9Fo8Oabb2Lv3r3473//i/feew/bt2/Hu+++C6UydAsWIoqtaM42T3TRbOJP8lC3g8LB8hoAgE+SUO3ywlrmSIiuCUSJIqwR17S0NBw5cgRZWVk4//zzsWzZMuTm5iI3N7et4yOiKIj2bPNExrKK5OSvDX6vcB8AGw6X10BQqhKiawJRIgkrcTUajTh+/DiysrLw/fffw+Ph7UQiOWmL2eaJimUVyWtQXjr6ZRvx5ZeH8NilJyPNlMLaYKI4E1biesEFF2DEiBHo06cPAOCKK66ARqMJ+dxvv/02etERUdS0xWzzRFS3rMKgbfgrkmUVic2fpA7OT4dazWtMFG/CSlzfe+89LFy4EHv27MHq1avRt29f6PX6to6Nkkx7tx5KRpxt3jyWVRARxa+wEteUlBT89a9/BQD8/PPPmDt3LlJTU9syLkoyXNGp/XC2edNYVkFEFL/C6ipQ13fffceklaLK33po8+FKmHUqdE7Tc41wiil/WUXfHAtsTi8OlTtgc3rRL8fCFcaIiGIorBHXadOm4YknnoDBYMC0adOafO68efOiEhglB67oRPGKZRVERPEnrMT1119/DXQS+PXXX9s0IEoubD1E8YxlFURE8SWsxPW7774L+f9ErcXWQ0RERBSuiGtcG7N9+3b07NkzWoejJMEVnYiIiChcUUtcXS4X9uzZE63DUZLwtx4qsbsgScFLaPpbD/XIMrL1EBEREUUvcSVqibprhFvLHKh2eeETuUY4ERERNcTElWKOrYeIiIgoHGFNziJqa2w9RERERM0JO3FNS0tr0K6oLq/XG5WAKHmx9RARERE1JezEdf78+W0YBhERERFR08JOXCdNmtSWcRC1O1GUWJpAREQkI6xxpaS0wVqGhYVW7C62w+2t7RXbPcuIScPyOBksjvHLBhFRcmPiSklng7UMc5ZvQ4XDgyyTFjq1Fk6PD1uKKjFn+TZ2MohT/LJBRERsh0VJRRQlLCy0osLhQX6GHgatCkqFAINWhbx0PSprPHin0ApRlJo/GLUb/5eNzYcrYdap0DlND7NOFfiyscFaFusQiYioHcQ8cT18+DCuv/56ZGRkICUlBf3798fPP/8c2C9JEh577DF07NgRKSkpuOCCC7Br164YRkxytrO4CruL7cgyaRt0yRAEAZlGLXYV27GzuCpGEVJ97fFlQxQlbD9qw7q9x7H9qI1fXIiI4lTEpQLfffcdRowYEZUXLy8vx1lnnYURI0ZgxYoVyMzMxK5du5CWlhZ4zrPPPosXXngBCxcuREFBAWbMmIExY8Zg69at0Ol0UYmDkkelwwO31wedWhtyv06tRKndhUqHp50jo8ZE8mWjJe3UWIJARCQfEY+4XnjhhejWrRuefPJJHDx4sFUvPnfuXOTm5mLBggU444wzUFBQgNGjR6Nbt24Aakdb58+fj0cffRSXXXYZBgwYgHfeeQdFRUX45JNPWvXalJwsejU0KiWcHl/I/U5PbeJi0avbOTJqzIkvG8qQ+3VqJdxeX4u+bLAEgYhIXiIecT18+DDeffddLFy4ELNmzcL555+PW265BZdffjk0Gk1Ex/rss88wZswYjBs3DqtXr0anTp1w55134tZbbwUA7Nu3D0ePHsUFF1wQ+BmLxYIhQ4ZgzZo1uPbaaxsc0+VyweVyBR7bbDYAgMfjgcfDUbSm+M9PIp+ngjQdemXpsf2IDWZNStAIniRJqKx2ok9HMwrSdHF9HpLhWvkZNQIMagW8Xg+0moa/slxeLwxqBYwaIaLzIYoS3ivcB4fTje4Z/s+CBK1WAZNGh72l1Xhh5Xbcd2Ev9MxsXfeCZLpecsdrJS+8XvLR3LUK9xoKkiS1uJjrl19+wYIFC/D+++8DACZMmIBbbrkFp5xySlg/77/VP23aNIwbNw7r16/HPffcg9deew2TJk1CYWEhzjrrLBQVFaFjx46Bn7v66qshCAKWLl3a4JgzZ87ErFmzGmxfvHgx9Hp9S94mEREREbUhh8OBCRMmoLKyEmZz42VfrUpcAaCoqAhvvPEGnnnmGahUKjidTgwdOhSvvfYa+vbt2+TPajQaDB48GIWFhYFtU6ZMwfr167FmzZoWJa6hRlxzc3NRWlra5Img2m87K1euxKhRo6BWJ/at8o0Hy7F43UHsLakO1DV2yzRg/JBcnJqb1vwBYiyZrhVQe72e+2oHbDVeZBg10Klryz2O290wp6hw35heEV+3n/eXYfbnW9EpLQXKP0beK50e7Cm2w+uToFYK8PgkdEnXw+0TI34dUZSwu8QOW40HRo2AvRvXJM31krNk+7sld7xe8tHctbLZbOjQoUOziWuL+rh6PB58+umn+Pe//42VK1di8ODBeOmllzB+/HiUlJTg0Ucfxbhx47B169Ymj9OxY0ecfPLJQdv69OmDjz76CACQnZ0NADh27FhQ4nrs2DGceuqpIY+p1Wqh1TaceKNWq/mhDlMynKvTu2ZhUH6m7JvZJ8O1Amqv1wMXq05MoqryQKNSomfHVExs4SSqNFMKBKUKdrcEg1YJCcC+MieqPUCKRgW3KMELETqtBhlaJaxlDry37jAG5Wc2+zmpP+HLoFbg5jxgy1E7Tu+a1cKzQO0pWf5uJQpeL/lo7FqFe/0iTlzvvvtuvP/++5AkCTfccAOeffZZ9OvXL7DfYDDgueeeQ05OTrPHOuuss7Bjx46gbTt37kReXh4AoKCgANnZ2Vi1alUgUbXZbFi3bh3uuOOOSEMnCqJQCC2ahU6xMSgvHQNz06L2ZaNnlgnds4zYUlQJvUaJarcP1S4fNCoFIElw+0SYdCoYtMqIuheEWuDC662t3Xruqx144GIVuxUQEbVQxInr1q1b8eKLL+LKK68MObIJAB06dMB3333X7LH+9re/YdiwYXjqqadw9dVX46effsIbb7yBN954A0Btq5upU6fiySefRI8ePQLtsHJycnD55ZdHGjoRyVw0v2woFAImDcvDnOXbYC1zQKtSwCeKUCmUqPGKUCkEdE7VBybwhdMqrX7PWf/P+ieV2Wq8eKfQioG5abIb3SciigcRJ66rVq1q/qAqFYYPH97s804//XR8/PHHmD59OmbPno2CggLMnz8f1113XeA5DzzwAKqrq3HbbbehoqICZ599Nr788kv2cCWiVhuUl45HxvbBwkIrNhdVwicCbq8IU4oKnVP1SK3TFi2cVmlN9ZwFgAyjplU9Z4mIkl2Lalx37dqF7777DsXFxRBFMWjfY489FtGxLrnkElxyySWN7hcEAbNnz8bs2bNbEioRUZP8JQjbj9oCo689Mg1QKE60uZYkCSV2F/rlWNAzy9ToscJZ4MJd5eECF0RELRRx4vrmm2/ijjvuQIcOHZCdnR00qiAIQsSJKxFRrCkUAk7OsWDa6J6Ys3wbDpTXINOoDXQvKLG7YElRY+KwvCZv8ddd4MKgbfjrlQtcEBG1TsSJ65NPPok5c+bgwQcfbIt4iKidiKIk+64K0Va3dGB3sR2ldhc0KiX65VjC6l5Qf8JX/XKB43Y3enZMbXLUloiIGhdx4lpeXo5x48a1RSxE1E7qt2vSqJTonmXEpBa2lkokreleUH/Cl3/U1uX1AgDMKapmR22JiKhxiuafEmzcuHH4+uuv2yIWoqgQRQnbj9qwbu9xbD9qgyi2ao2NhONv17T5cCXMOhU6p+lh1qmwpagSc5ZvwwZrWaxDjDl/94IhXTPQO9scUaLpH7Xtm2OBzenFoXIHqpw+AMB9Y3ol/RcDIqLWCGvE9YUXXgj8f/fu3TFjxgysXbsW/fv3b9AwdsqUKdGNkCgCHElsWmPtmgxaFfSa2ib7bNfUevVHbY0aAbs3/J8sVmUjIopnYSWu//jHP4IeG41GrF69GqtXrw7aLggCE1eKmVCN350eX2Ak8ZGxfZI+eW2qXVMkTfapeXV7zno8HuyOcTxERIkgrMR13759bR0HUatwJDE84bRraq7JPhERUaxEXOM6e/ZsOByOBttramrYa5ViJpKRxGRWt11TKGzX1DzWUBMRxU7EieusWbNgt9sbbHc4HJg1a1ZUgiKK1ImRRGXI/Tq1Em6vL+lHEv3tmkrsLkhSbcIlAbC7vCirduFwRQ26ZxnZrqkRG6xlmLp0I6Yt/Q2PfLwJ05b+hqlLN3JCGxFRO4k4cZUkKeRShr/99hvS05O7fpBihyOJ4fG3a7KkqGEtc+CozYnNhyuw6VAlNhfZUGp3o6zajV8Plsc61LjDbgxERLEXduKalpaG9PR0CIKAnj17Ij09PfDHYrFg1KhRuPrqq9syVqJGhRpJ9PMv19mDI4kATrRr6mjRYW+JHeXVtaPQaXoNunbQ40hlDROxeurXUBu0KigVAgxaFfLS9ais8eCdQivLBoiI2ljYCxDMnz8fkiTh5ptvxqxZs2CxWAL7NBoN8vPzMXTo0DYJkqg5jTV+j2S5zmQyMDcNaXoNMgxaZJo00CiVMGhrV3qSJImT2ephNwYiovgQduI6adIkAEBBQQGGDRvWoH8rUay1drnOZLKzuAp7SqrROS0FBm3wrwEmYg2xGwMRUXwIK3G12WyB/x84cCBqampQU1MT8rlmM/+Ro9hpzXKdyYSJWGTq1lDXT/QB1lBHgyhK/HtLRM0KK3FNTU0NOSGrLv+kLZ8v9OQYovZSt/E7hcZELDL+GuotRZXQa5RBvw/9NdT9ciysoW4hrnhHROEKK3H97rvv2joOImpHTMQiwxrqtsMV74goEmElrsOHD2/rOIioHTERixxrqKOPK94RUaTCnpxVn8PhwIEDB+B2u4O2DxgwoNVBEVHbYyIWOdZQRxe7NRBRpCJOXEtKSnDTTTdhxYoVIfezxpVIPpiIRY411NHDSYJEFKmIV86aOnUqKioqsG7dOqSkpODLL7/EwoUL0aNHD3z22WdtESMRtSF/IjakawZ6Z5uZtFK74Yp3RBSpiEdcv/32W3z66acYPHgwFAoF8vLyMGrUKJjNZjz99NMYO3ZsW8RJREQJhpMEiShSEY+4VldXIysrC0DtMrAlJSUAgP79++OXX36JbnRERJSw/JMELSlqWMscqHZ54RMlVLu8sJY5OEmQiBqIOHHt1asXduzYAQA45ZRT8Prrr+Pw4cN47bXX0LFjx6gHSEREics/SbBvjgU2pxeHyh2wOb3ol2NhKywiaiDiUoF77rkHR44cAQA8/vjjuPDCC7Fo0SJoNBq8/fbb0Y6PKKq4Og9R/OEkQSIKV8SJ6/XXXx/4/0GDBsFqtWL79u3o0qULOnToENXgiFqiseSUq/MQxS92ayCicLS4j6vb7ca+ffvQrVs3nHbaadGMiajFGktOh3RNx0cbDnF1HiIiIhmLuMbV4XDglltugV6vR9++fXHgwAEAwN13341nnnkm6gEShcu/dOTmw5Uw61TonKaHWafClsOVeO6rHTha6UR+hh4GrQpKhQCDVoW8dD0qazx4p9AKUZRi/RbinihK2H7UhnV7j2P7URvPGRERtauIE9fp06fjt99+w/fffw+dThfYfsEFF2Dp0qVRDY4oXPWXjqybnGYYNah2+eDyig1+rv7qPNS4DdYyTF26EdOW/oZHPt6EaUt/w9SlG7HBWhbr0IiIKElEnLh+8skneOmll3D22WcH9dzr27cv9uzZE9XgiMLV1NKRXlGCQgE4vT5Uuxo2OteplXB7fVydpwmNjmb/UWrB5JWIiNpDxIlrSUlJoI9rXdXV1Q0SBqL2cmLpSGWDfWqlAkpBgE+U4BEbjrpydZ6mNTWazVKLtsfyDCKiEyKenDV48GAsX74cd999NwAEktW33noLQ4cOjW50RGGqu3SkQRv8sTZoVdCpFahyeqGq116Hq/M0r6nR7PqlFpwVHl3shEFEFCzixPWpp57CRRddhK1bt8Lr9eKf//wntm7disLCQqxevbotYiRqVlNLR0KSoFMrIUpAqd0FhSBAp65NckvsLq7O04wTo9nakPt1aiVK7a5AqQV75UaHvzyDnTCIiE6IOHE9++yzsXHjRjzzzDPo378/vv76a5x22mlYs2YN+vfv3xYxEjXLv3TknOXbYC1zINOoDUpOTzLrcNWgzli3twy7i+0otbugUSnRL8eCiRy9alJTo9lAcKkFRwijo355hv+LmEGrgl6jhLXMgXcKrRiYm8YvBUSUVFrUx7Vbt2548803ox0LUav4l470J06hktPxp3fhaGCEmhrNrltqUVXjxdMrOEIYDSzPICIKLezE1WazhfU8s5m/RCl2mls6kqvzRK650WxLihrXD+2Cd9dwhDBaIi3PICJKFmEnrqmpqU12DZAkCYIgwOdr2G6IqD0xOY2+5kazDVoVRwijKJLyDCKiZBJ24vrdd98F/l+SJFx88cV466230KlTpzYJjCiaOGGo9ZoazV639zhHCKMo3PIMdsIgomQTduI6fPjwoMdKpRJnnnkmunbtGvWgiKKJE4aip7HRbI4QRlc45RnshEFEySjiBQiI5IQrPrUP/whhid0FSQpukO8fIeyRZeQIYQT85Rl9cyywOb04VO6AzelFvxwLJ7oRUdJqUVcBIjlgS6H2k0gjhPFUVtLcZEMiomTTqsSVS7xSPGNLofYVTjuyeBePZSWcbEhEdELYieuVV14Z9NjpdOKvf/0rDAZD0PZly5ZFJzKiVmJLofYn5xFCrlRFRBT/wk5cLRZL0OPrr78+6sEQRRMnDMWGHEcIWVZCRCQPYSeuCxYsaMs4iKKOLYUoXCwrISKSB3YVoITlnzBkSVHDWuZAtcsLnyih2uWFtcwhqwlD1LZOlJUoQ+7XqZVwe30sKyEiijEmrpTQ2FJI/kRRwvajNqzbexzbj9ogilLzPxShumUlobCshIgoPrAdFiU8OU8YSnbtNcufZSVERPLAEVdKCv4JQ0O6ZqB3tplJqwy05+IRLCshIpIHJq5EFHfqz/I3aFVQKgQYtCrkpetRWePBO4XWqJYNsKyEiCj+sVSAiOJOrGb5s6yEiCi+MXElonYT7nKqsVw8Qo59aImIkgUTVyJqF5FMtOLiEUREFAprXCkutEfLo2iTY8yxEulEK/8s/xK7C5IUfF79s/x7ZBk5y5+IKMlwxJVirr1aHkWTHGOOlZYsp+qf5T9n+TZYyxzINGqhU9eOwJbYXZzlT0SUpDjiSjHVni2PokWOMcdSJBOt6uIsfyIiqo8jrhQzLRmJizU5xhxrrZloxVn+RERUF0dcKWZaOhIXS03FDAAGjRIbD1bgq61HWfP6h9Yup8rFI4iIyI+JK8XMiZE4Zcj9OrUSbq+vTVoetVRjMVc4PNhSZMOe0moUVdZg7ortmLp0I8sGwIlWREQUPUxcKWZaOxIXC6FirnB4sKu4ClUuLxQQoFEqYNapWfP6By6nSkRE0cLElWJGjiNx9WOWJAmHyh3wihJ0KgV8kgSjToUOJm2bLU0qR5xoRURE0cDJWRQzcmx5VD9mg0YJu9sLpSDA6RWhUgjonKaHAABtuDSpHHGiFRERtRZHXCmm5DgSVzfmyhov3F4RoiTBpFOhx0kmpKacKG2IxzrdWOJEKyIiao2YjrjOnDkTs2bNCtrWq1cvbN++HQBw3nnnYfXq1UH7b7/9drz22mvtFiO1PTmOxPlj/mrrUcxdsR1mnRodTFrUjzge63SJiIjkKualAn379sU333wTeKxSBYd06623Yvbs2YHHer2+3WKj9uMfiZMThULAmJOzsWLTUWwpqkQHSQPUaZHlr9Ptl2OJqzpdIiIiuYp54qpSqZCdnd3ofr1e3+R+oliSY50uERGRXMU8cd21axdycnKg0+kwdOhQPP300+jSpUtg/6JFi/Dee+8hOzsbl156KWbMmNHkqKvL5YLL5Qo8ttlsAACPxwOPh3WGTfGfH56nyAzIMWH6hT2weN1B7C2pRmW1ExqVEqfkmDB+SC4G5Jiifk6jea1EUcLuEjtsNR6YU9Tonmlkoh1l/LslH7xW8sLrJR/NXatwr6Eg1e9D1I5WrFgBu92OXr164ciRI5g1axYOHz6MzZs3w2Qy4Y033kBeXh5ycnLw+++/48EHH8QZZ5yBZcuWNXrMUHWzALB48WKWGRARERHFIYfDgQkTJqCyshJmc+OlgzFNXOurqKhAXl4e5s2bh1tuuaXB/m+//RYjR47E7t270a1bt5DHCDXimpubi9LS0iZPBNV+21m5ciVGjRoFtZqTieJZNK7VxoPleO6rHais8aKDURMocThud8OcosJ9Y3rh1Ny0KEeenPh3Sz54reSF10s+mrtWNpsNHTp0aDZxjXmpQF2pqano2bMndu/eHXL/kCFDAKDJxFWr1UKr1TbYrlar+aEOE8+VfLT0WomihHfXHUZJtQ/5GQYIggAJgFajRMe02hWu3lt3GIPyM1k2ECZRlJrtjMG/W/LBayUvvF7y0di1Cvf6xVXiarfbsWfPHtxwww0h92/cuBEA0LFjx3aMiijx7Cyuwu5iO7JMWghCcHIlcOGEiG2wlmFhoRW7i+1we2tboHXPMmLSsLy47EVMRCRXMV2A4L777sPq1auxf/9+FBYW4oorroBSqcT48eOxZ88ePPHEE9iwYQP279+Pzz77DBMnTsS5556LAQMGxDJsItmrdHjg9vqgUytD7ufCCeHbYC3DnOXbsPlwJcw6FTqn6WHWqbClqBJzlm/DBmtZrEMkIkoYMR1xPXToEMaPH4/jx48jMzMTZ599NtauXYvMzEw4nU588803mD9/Pqqrq5Gbm4urrroKjz76aCxDJkoIFr0aGlVtTatB2/DXABdOCI8oSlhYaEWFw4P8DH1g9NqgVUGvUcJa5sA7hVY8e2XfNnt9OS3cQUTUWjFNXJcsWdLovtzc3AarZhFRdPTMMqF7lhFbiiqh1yiDygXktHBCrBO3cEsudpfYo/7aLE8gomQUVzWuRNQ+EmHhhHhI3E6UXDScEArUllyU2l2w1US35MJfnlDh8CDLpIVOrYXT4wuUJzwytg+TVyJKSDGtcSWi2BmUl45HxvZB3xwLbE4vDpU7YHN60S/HEveJT7zUldYtuQjFX3JhToleyUX98gSDVgWlQoBBq0Jeuh6VNR68U2iFKMZNp0MioqjhiCtREhuUl46BuWmyqpMMt650YG5am7+PcEsuumcaEbrJX+TYEYKIkhlHXImSnEIhoHe2GUO6ZqB3tjmuk1YgssStrflLLiwptb1vq11e+EQJ1S4vrGWONim5YEcIIkpmTFyJSFaimbiJooTtR21Yt/c4th+1tej2enuXXIRbnsCOEESUiFgqQESyEq1WXtGc3NWeJReJ0hGCiKglOOJKRLLiT9xK7C5IUvAIqT9x65FlbDJxa4vJXe1VchGL8gQionjBxJWIZKW1iVsizMqXc0cIIqLWYKkAEcmOP3Hz3+ovtbugUSnRL8eCic3c6k+UWfly7AhBRNRaTFyJSJZamriFu2iAHGbl+8sTiIiSBRNXIpKtliRu0ZrcFevlZomIkhETV6IoY0IT36IxKz8elpslIkpGTFyJoogJTfzzT+6as3wbrGUOZBq10KlrR2BL7K5mJ3f5OxJUODzIMmmhU2vh9PgCHQk4OYqIqO2wqwBRlLRFiyVqGy2dlZ8IHQmIiOSMI65EUVA/ofHffjZoVdBrlLCWOfBOoRUDc9NYNhAnWjK5K1E6EhARyRUTV6IoYEIjT5FO7kqkjgRERHLEUgGiKDiR0ChD7teplXB7fUxoZK5uR4JQwu1IQERELcPElSgKmNAkh2gsN0tERC3HxJUoCpjQJIfWLjdLREStw8SVKAqY0CSPlnYkICKi1uPkLKIo8Sc0/j6upXYXNCol+uVYMJF9XBNKS5ebJSKi1mHiShRFTGiSR0uWm20MV1sjIgoPE1eiKItmQkOJj6utERGFjzWuUSSKErYftWHd3uPYftTG1XOIqElcbY2IKDIccY0SjpoQUSS42hoRUeQ44hoFHDUhokhFstoaERHVYuLaSvVHTQxaFZQKAQatCnnpelTWePBOoZVlA0QUhKutERFFjolrK3HUhIhagqutERFFjolrK3HUhIhagqutERFFjolrK3HUhIhagqutERFFjolrK3HUhIhaisvHEhFFhu2wWsk/ajJn+TZYyxzINGqhU9eOwJbYXRw1IaImcbU1IqLwMXGNAq5RT0StwdXWiIjCw8Q1SjhqQkRERNS2mLhGEUdNiIiIiNoOE1ciShqiKPGuCBGRjDFxJaKksMFaFqhDd3tr29R1zzJiEuvQiYhkg+2wiCjhbbCWYc7ybdh8uBJmnQqd0/Qw61TYUlSJOcu3YYO1LNYhEhFRGJi4ElFCE0UJCwutqHB4kJ+hh0GrglIhwKBVIS9dj8oaD94ptEIUpeYPRkREMcXElYgS2s7iKuwutiPLpIUgBNezCoKATKMWu4rt2FlcFaMIiYgoXExciSihVTo8cHt90KmVIffr1Eq4vT5UOjztHBkREUWKiSsRJTSLXg2NqnY1u1CcntqJWha9up0jIyKiSDFxJaKE1jPLhO5ZRpTYXZCk4DpWSZJQYnehR5YRPbNMMYqQiIjCxcSViCImihK2H7Vh3d7j2H7UFtcTmxQKAZOG5cGSooa1zIFqlxc+UUK1ywtrmQOWFDUmDstjP1ciIhlgH1ciiogc+6EOykvHI2P7BOIutbugUSnRL8eCiXEcNxERBWPiSkRh8/dDrXB4kGXSQqfWwunxBfqhPjK2T9wmgYPy0jEwN40rZxERyRgTVyIKS/1+qP7WUgatCnqNEtYyB94ptGJgblrcJoMKhYDe2eZYh0FERC3EGlciCgv7oRIRUaxxxJUozoiiFJe3s0/0Q9WG3K9TK1Fqd7EfKhERtRkmrkRxJJ4nPtXth2rQNvzVwX6oRETU1lgqQBQn/BOfNh+uhFmnQuc0Pcw6VWDi0wZrWUzjYz9UIiKKNSauRHGg/sQng1YFpUKAQatCXroelTUevFNojWm/VPZDJSKiWGPiShQH5DLxyd8PtW+OBTanF4fKHbA5veiXY4nrVlhERJQYWONKFAfkNPGJ/VCJiChWmLgSxQG5TXxiP1QiIooFlgoQxQFOfCIiImoeE1eiOMCJT0RERM1j4koUJzjxiYiIqGmscSWKI5z4RERE1DgmrkRxhhOfiIiIQmOpABERERHJAhNXIiIiIpKFmCauM2fOhCAIQX969+4d2O90OjF58mRkZGTAaDTiqquuwrFjx2IYMRERERHFSsxHXPv27YsjR44E/vzwww+BfX/729/w+eef44MPPsDq1atRVFSEK6+8MobREpFciaKE7UdtWLf3OLYftUEUpeZ/iIiI4krMJ2epVCpkZ2c32F5ZWYl//etfWLx4Mc4//3wAwIIFC9CnTx+sXbsWZ555ZnuHSkQytcFahoWFVuwutsPtrV2FrHuWEZOG5bHNGBGRjMQ8cd21axdycnKg0+kwdOhQPP300+jSpQs2bNgAj8eDCy64IPDc3r17o0uXLlizZk2jiavL5YLL5Qo8ttlsAACPxwOPJ/brvMcz//nheYp/vFbh23iwHM99tQOVNV50MGqgU6vh9Piw60gFnv3CjvvG9MKpuWltGgOvl3zwWskLr5d8NHetwr2GglR/fcl2tGLFCtjtdvTq1QtHjhzBrFmzcPjwYWzevBmff/45brrppqAkFADOOOMMjBgxAnPnzg15zJkzZ2LWrFkNti9evBh6vb5N3gcRERERtZzD4cCECRNQWVkJs7nxlpAxTVzrq6ioQF5eHubNm4eUlJQWJa6hRlxzc3NRWlra5Img2m87K1euxKhRo6BWq2MdDjWB1yo8O49V4eFlm2HSKWHQNLzBVO32osrpw1NX9kPPk0xtFgevl3zwWskLr5d8NHetbDYbOnTo0GziGvNSgbpSU1PRs2dP7N69G6NGjYLb7UZFRQVSU1MDzzl27FjImlg/rVYLrVbbYLtareaHOkw8V/LBa9U0u1tCtUdEmlEHLxquPqZSqVHt8cDultrlPPJ6yQevlbzweslHY9cq3OsX864CddntduzZswcdO3bEoEGDoFarsWrVqsD+HTt24MCBAxg6dGgMoyQiubDo1dColHB6fCH3Oz21E7Usev6DR0QkBzEdcb3vvvtw6aWXIi8vD0VFRXj88cehVCoxfvx4WCwW3HLLLZg2bRrS09NhNptx9913Y+jQoewoQERh6ZllQvcsI7YUVUKvUUIQToy6SpKEErsL/XIs6JnVdmUCREQUPTFNXA8dOoTx48fj+PHjyMzMxNlnn421a9ciMzMTAPCPf/wDCoUCV111FVwuF8aMGYNXXnklliETkYwoFAImDcvDnOXbYC1zINOohU5dOwJbYnfBkqLGxGF5UCgalhEQEVH8iWniumTJkib363Q6vPzyy3j55ZfbKSIiSjSD8tLxyNg+gT6upXYXNCol+uVYMJF9XImIZCWuJmcREbWFQXnpGJibhp3FVah0eGDRq9Ezy8SRViIimWHiSkRJQaEQ0DubLfGIiOQsrroKEBERERE1hokrEREREckCE1ciIiIikgUmrkREREQkC0xciYiIiEgWmLgSERERkSwwcSUiIiIiWWDiSkRERESywMSViIiIiGSBiSsRERERyQITVyIiIiKSBSauRERERCQLqlgHQETJQRQl7CyuQqXDA4tejZ5ZJigUQqzDIiIiGWHiSkRtboO1DAsLrdhdbIfb64NGpUT3LCMmDcvDoLz0WIdHREQywVIBImpTG6xlmLN8GzYfroRZp0LnND3MOhW2FFVizvJt2GAti3WIREQkE0xciZogihK2H7Vh3d7j2H7UBlGUYh2SrIiihIWFVlQ4PMjP0MOgVUGpEGDQqpCXrkdljQfvFFp5XomIKCwsFSBqBG9vt97O4irsLrYjy6SFIATXswqCgEyjFruK7dhZXIXe2eYYRUlERHLBEVeiEHh7OzoqHR64vT7o1MqQ+3VqJdxeHyodnnaOjIiI5IiJK1E9vL0dPRa9GhqVEk6PL+R+p6d2JNuiV7dzZEREJEdMXInqieT2NjWtZ5YJ3bOMKLG7IEnBib4kSSixu9Ajy4ieWaYYRUhERHLCxJWoHt7ejh6FQsCkYXmwpKhhLXOg2uWFT5RQ7fLCWuaAJUWNicPy2M+ViIjCwsSVqB7e3o6uQXnpeGRsH/TNscDm9OJQuQM2pxf9cix4ZGwfTnQjIqKwsasAUT3+29tbiiqh1yiDygX8t7f75Vh4ezsCg/LSMTA3jStnERFRq3DElage3t5uGwqFgN7ZZgzpmoHe2WaePyIiihgTV6IQeHubiIgo/rBUgKgRvL1NREQUX5i4EjXBf3ubiIiIYo+lAkREREQkC0xciYiIiEgWmLgSERERkSwwcSUiIiIiWWDiSkRERESywMSViIiIiGSBiSsRERERyQITVyIiIiKSBSauRERERCQLTFyJiIiISBaYuBIRERGRLDBxJSIiIiJZYOJKRERERLKginUAbU2SJACAzWaLcSTxz+PxwOFwwGazQa1WxzocagKvlbzweskHr5W88HrJR3PXyp+n+fO2xiR84lpVVQUAyM3NjXEkRERERNSUqqoqWCyWRvcLUnOprcyJooiioiKYTCYIghDrcOKazWZDbm4uDh48CLPZHOtwqAm8VvLC6yUfvFbywuslH81dK0mSUFVVhZycHCgUjVeyJvyIq0KhQOfOnWMdhqyYzWb+ApAJXit54fWSD14reeH1ko+mrlVTI61+nJxFRERERLLAxJWIiIiIZIGJKwVotVo8/vjj0Gq1sQ6FmsFrJS+8XvLBayUvvF7yEa1rlfCTs4iIiIgoMXDElYiIiIhkgYkrEREREckCE1ciIiIikgUmrkREREQkC0xck9yrr76KAQMGBBoCDx06FCtWrIh1WBSGZ555BoIgYOrUqbEOhUKYOXMmBEEI+tO7d+9Yh0VNOHz4MK6//npkZGQgJSUF/fv3x88//xzrsCiE/Pz8Bn+/BEHA5MmTYx0a1ePz+TBjxgwUFBQgJSUF3bp1wxNPPIGW9gZI+JWzqGmdO3fGM888gx49ekCSJCxcuBCXXXYZfv31V/Tt2zfW4VEj1q9fj9dffx0DBgyIdSjUhL59++Kbb74JPFap+Cs3XpWXl+Oss87CiBEjsGLFCmRmZmLXrl1IS0uLdWgUwvr16+Hz+QKPN2/ejFGjRmHcuHExjIpCmTt3Ll599VUsXLgQffv2xc8//4ybbroJFosFU6ZMifh4/C2a5C699NKgx3PmzMGrr76KtWvXMnGNU3a7Hddddx3efPNNPPnkk7EOh5qgUqmQnZ0d6zAoDHPnzkVubi4WLFgQ2FZQUBDDiKgpmZmZQY+feeYZdOvWDcOHD49RRNSYwsJCXHbZZRg7diyA2tHy999/Hz/99FOLjsdSAQrw+XxYsmQJqqurMXTo0FiHQ42YPHkyxo4diwsuuCDWoVAzdu3ahZycHHTt2hXXXXcdDhw4EOuQqBGfffYZBg8ejHHjxiErKwsDBw7Em2++GeuwKAxutxvvvfcebr75ZgiCEOtwqJ5hw4Zh1apV2LlzJwDgt99+ww8//ICLLrqoRcfjiCth06ZNGDp0KJxOJ4xGIz7++GOcfPLJsQ6LQliyZAl++eUXrF+/PtahUDOGDBmCt99+G7169cKRI0cwa9YsnHPOOdi8eTNMJlOsw6N69u7di1dffRXTpk3Dww8/jPXr12PKlCnQaDSYNGlSrMOjJnzyySeoqKjAjTfeGOtQKISHHnoINpsNvXv3hlKphM/nw5w5c3Dddde16HhcOYvgdrtx4MABVFZW4sMPP8Rbb72F1atXM3mNMwcPHsTgwYOxcuXKQG3reeedh1NPPRXz58+PbXDUrIqKCuTl5WHevHm45ZZbYh0O1aPRaDB48GAUFhYGtk2ZMgXr16/HmjVrYhgZNWfMmDHQaDT4/PPPYx0KhbBkyRLcf//9+Pvf/46+ffti48aNmDp1KubNm9eiL4UccSVoNBp0794dADBo0CCsX78e//znP/H666/HODKqa8OGDSguLsZpp50W2Obz+fC///0PL730ElwuF5RKZQwjpKakpqaiZ8+e2L17d6xDoRA6duzY4Mt6nz598NFHH8UoIgqH1WrFN998g2XLlsU6FGrE/fffj4ceegjXXnstAKB///6wWq14+umnmbhSdIiiCJfLFeswqJ6RI0di06ZNQdtuuukm9O7dGw8++CCT1jhnt9uxZ88e3HDDDbEOhUI466yzsGPHjqBtO3fuRF5eXowionAsWLAAWVlZgYk/FH8cDgcUiuApVUqlEqIotuh4TFyT3PTp03HRRRehS5cuqKqqwuLFi/H999/jq6++inVoVI/JZEK/fv2CthkMBmRkZDTYTrF333334dJLL0VeXh6Kiorw+OOPQ6lUYvz48bEOjUL429/+hmHDhuGpp57C1VdfjZ9++glvvPEG3njjjViHRo0QRRELFizApEmT2Goujl166aWYM2cOunTpgr59++LXX3/FvHnzcPPNN7foeLzSSa64uBgTJ07EkSNHYLFYMGDAAHz11VcYNWpUrEMjkrVDhw5h/PjxOH78ODIzM3H22Wdj7dq1Ddr4UHw4/fTT8fHHH2P69OmYPXs2CgoKMH/+/BZPIKG298033+DAgQMtToCofbz44ouYMWMG7rzzThQXFyMnJwe33347HnvssRYdj5OziIiIiEgW2MeViIiIiGSBiSsRERERyQITVyIiIiKSBSauRERERCQLTFyJiIiISBaYuBIRERGRLDBxJSIiIiJZYOJKRERERLLAxJWIqB0IgoBPPvkk1mEQEckaE1ciSjg33ngjLr/88gbbv//+ewiCgIqKinaP6ciRI7jooova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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "# Write your code here" + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(8,6))\n", + "plt.scatter(\n", + " country_features['happiness_score'],\n", + " country_features['healthy_life_expectancy'],\n", + " alpha=0.7\n", + ")\n", + "\n", + "plt.xlabel(\"Happiness Score\")\n", + "plt.ylabel(\"Healthy Life Expectancy\")\n", + "plt.title(\"Are healthier countries happier?\")\n", + "plt.grid(True)\n", + "plt.show()" ] }, { @@ -298,7 +1331,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python3", "language": "python", "name": "python3" }, @@ -312,7 +1345,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.18" + "version": "3.12.11" } }, "nbformat": 4,