{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tables" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import os" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "path2SP = \"/Users/ctoruno/OneDrive - World Justice Project/EU Subnational/EU-S Data/Automated Qualitative Checks/Data\"\n", "\n", "eu_member_states = [\n", " \"Austria\",\"Belgium\",\"Bulgaria\",\"Croatia\",\"Cyprus\",\"Czechia\",\"Denmark\",\"Estonia\",\n", " \"Finland\",\"France\",\"Germany\",\"Greece\",\"Hungary\",\"Ireland\",\"Italy\",\"Latvia\",\n", " \"Lithuania\",\"Luxembourg\",\"Malta\",\"Netherlands\",\"Poland\",\"Portugal\",\"Romania\",\"Slovakia\",\n", " \"Slovenia\",\"Spain\",\"Sweden\"\n", "]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Table 1: Extracted Data" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "data_tbl01 = {\n", " \"Country\": [\"Austria\", \"Belgium\", \"Bulgaria\", \"Croatia\", \"Cyprus\", \"Czechia\", \"Denmark\", \"Estonia\", \"Finland\", \"France\", \n", " \"Germany\", \"Greece\", \"Hungary\", \"Ireland\", \"Italy\", \"Latvia\", \"Lithuania\", \"Luxembourg\", \"Malta\", \n", " \"Netherlands\", \"Poland\", \"Portugal\", \"Romania\", \"Slovakia\", \"Slovenia\", \"Spain\", \"Sweden\"],\n", " \"Total News Extracted\": [46145, 21287, 38118, 37068, 34955, 41415, 11312, 12370, 6647, 64527, \n", " 45321, 49504, 18111, 48409, 93858, 5487, 14396, 7894, 10842, \n", " 23935, 21434, 29624, 33264, 34874, 10211, 112820, 6417],\n", " \"Date Range\": [\"Mar 06, 2023 - Mar 07, 2024\", \"Jun 07, 2023 - Mar 07, 2024\", \"Jul 07, 2023 - Mar 07, 2024\",\n", " \"Jul 07, 2023 - Mar 07, 2024\", \"Jul 07, 2023 - Mar 08, 2024\", \"Jul 07, 2023 - Mar 08, 2024\",\n", " \"Aug 07, 2023 - Mar 07, 2024\", \"Aug 08, 2023 - Mar 07, 2024\", \"Aug 08, 2023 - Mar 07, 2024\",\n", " \"Aug 07, 2023 - Mar 07, 2024\", \"Jan 08, 2024 - Mar 07, 2024\", \"Aug 08, 2023 - Mar 07, 2024\",\n", " \"Aug 08, 2023 - Mar 07, 2024\", \"Aug 08, 2023 - Mar 07, 2024\", \"Aug 08, 2023 - Mar 07, 2024\",\n", " \"Aug 09, 2023 - Mar 07, 2024\", \"Aug 08, 2023 - Mar 07, 2024\", \"Aug 08, 2023 - Mar 07, 2024\",\n", " \"Aug 08, 2023 - Mar 07, 2024\", \"Aug 08, 2023 - Mar 07, 2024\", \"Aug 08, 2023 - Mar 07, 2024\",\n", " \"Aug 08, 2023 - Mar 07, 2024\", \"Aug 08, 2023 - Mar 07, 2024\", \"Aug 08, 2023 - Mar 07, 2024\",\n", " \"Aug 08, 2023 - Mar 07, 2024\", \"Aug 08, 2023 - Mar 07, 2024\", \"Jan 08, 2024 - Mar 07, 2024\"]\n", "}\n", "\n", "tbl01 = pd.DataFrame(data_tbl01)\n", "total_row = pd.DataFrame([[\"Total\", sum(data_tbl01[\"Total News Extracted\"]), \"\"]], columns=tbl01.columns)\n", "tbl01_total = pd.concat([tbl01, total_row], ignore_index=True)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CountryTotal News ExtractedDate Range
Austria46,145Mar 06, 2023 - Mar 07, 2024
Belgium21,287Jun 07, 2023 - Mar 07, 2024
Bulgaria38,118Jul 07, 2023 - Mar 07, 2024
Croatia37,068Jul 07, 2023 - Mar 07, 2024
Cyprus34,955Jul 07, 2023 - Mar 08, 2024
Czechia41,415Jul 07, 2023 - Mar 08, 2024
Denmark11,312Aug 07, 2023 - Mar 07, 2024
Estonia12,370Aug 08, 2023 - Mar 07, 2024
Finland6,647Aug 08, 2023 - Mar 07, 2024
France64,527Aug 07, 2023 - Mar 07, 2024
Germany45,321Jan 08, 2024 - Mar 07, 2024
Greece49,504Aug 08, 2023 - Mar 07, 2024
Hungary18,111Aug 08, 2023 - Mar 07, 2024
Ireland48,409Aug 08, 2023 - Mar 07, 2024
Italy93,858Aug 08, 2023 - Mar 07, 2024
Latvia5,487Aug 09, 2023 - Mar 07, 2024
Lithuania14,396Aug 08, 2023 - Mar 07, 2024
Luxembourg7,894Aug 08, 2023 - Mar 07, 2024
Malta10,842Aug 08, 2023 - Mar 07, 2024
Netherlands23,935Aug 08, 2023 - Mar 07, 2024
Poland21,434Aug 08, 2023 - Mar 07, 2024
Portugal29,624Aug 08, 2023 - Mar 07, 2024
Romania33,264Aug 08, 2023 - Mar 07, 2024
Slovakia34,874Aug 08, 2023 - Mar 07, 2024
Slovenia10,211Aug 08, 2023 - Mar 07, 2024
Spain112,820Aug 08, 2023 - Mar 07, 2024
Sweden6,417Jan 08, 2024 - Mar 07, 2024
Total880,245
\n" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#| label: tbl-extraction\n", "#| tbl-cap: Total news extracted per country\n", "tbl01_total.style.hide(axis=\"index\").format({\n", " 'Total News Extracted': '{:,.0f}'\n", "})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Table 2: Failed Translation" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "path2exdata = f\"{path2SP}/data-extraction-1/data4translation\"\n", "extracted_data = [pd.read_parquet(f\"{path2exdata}/{country}_tp.parquet.gzip\") for country in eu_member_states]\n", "exdata = pd.concat(extracted_data)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "path2trdata = f\"{path2SP}/data-extraction-1/ready4class\"\n", "files = os.listdir(path2trdata)\n", "translated_data = [pd.read_parquet(f\"{path2trdata}/{x}\") for x in files]\n", "trdata = pd.concat(translated_data)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CountryExtracted News (n)Translated News (n)Translated News (%)
Austria46,14544,18195.7
Belgium21,28719,84693.2
Bulgaria38,11833,07086.8
Croatia37,06836,59598.7
Cyprus34,95533,77296.6
Czechia41,41540,62098.1
Denmark11,31210,76195.1
Estonia12,37011,33491.6
Finland6,6476,39996.3
France64,52762,90097.5
Germany45,32140,44489.2
Greece49,50447,18295.3
Hungary18,11117,96599.2
Ireland48,40948,409100.0
Italy93,85882,88588.3
Latvia5,4875,46799.6
Lithuania14,39613,28792.3
Luxembourg7,8947,63696.7
Malta10,84210,55697.4
Netherlands23,93522,64294.6
Poland21,43417,49081.6
Portugal29,62429,41699.3
Romania33,26432,23496.9
Slovakia34,87428,97383.1
Slovenia10,2119,81896.2
Spain112,82088,32478.3
Sweden6,4176,22397.0
European Union880,245808,42993.9
\n" ], "text/plain": [ "" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#| label: tbl-translation\n", "#| tbl-cap: Translation Process (Rate of Success)\n", "\n", "tbl02 = (\n", " exdata.country.value_counts().reset_index().sort_values(\"country\")\n", " .merge(\n", " trdata.country.value_counts().reset_index(), \n", " how = \"left\", \n", " on = \"country\"\n", " )\n", " .assign(\n", " success = lambda df: (1-((df['count_x'] - df['count_y']) / df['count_x']))*100\n", " )\n", " .rename(\n", " columns = {\n", " \"country\": \"Country\",\n", " \"count_x\": \"Extracted News (n)\",\n", " \"count_y\": \"Translated News (n)\",\n", " \"success\": \"Translated News (%)\"\n", " },\n", " # inplace = True\n", " )\n", ")\n", "\n", "total_row = pd.DataFrame(\n", " [[\n", " \"European Union\", \n", " tbl02[\"Extracted News (n)\"].sum(),\n", " tbl02[\"Translated News (n)\"].sum(),\n", " tbl02[\"Translated News (%)\"].mean(),\n", " ]], \n", " columns=tbl02.columns\n", ")\n", "tbl02_total = pd.concat([tbl02, total_row], ignore_index=True)\n", "\n", "tbl02_total.style.hide(axis=\"index\").format({\n", " \"Extracted News (n)\": \"{:,.0f}\",\n", " \"Translated News (n)\": \"{:,.0f}\",\n", " \"Translated News (%)\": \"{:,.1f}\"\n", "})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Table 3: First Stage Classification" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "path2cldata = f\"{path2SP}/data-classification-1/0_compiled\"\n", "\n", "mutate_dict = {\n", " \"Unrelated\" : 0,\n", " \"Related\" : 1,\n", " \"Justice\" : 1,\n", " \"Governance\" : 1,\n", " \"Rule of Law\" : 1,\n", " \"Skipped article\": 2\n", "}" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "cldata = [pd.read_parquet(f\"{path2cldata}/{country}_classified.parquet.gzip\") for country in eu_member_states]\n", "cldata_master = pd.concat(cldata)" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [], "source": [ "data = []\n", "for country in eu_member_states:\n", " file = f\"{path2cldata}/{country}_classified.parquet.gzip\"\n", " df = pd.read_parquet(file)\n", " df[\"topic_related\"] = df[\"topic_related\"].str.strip()\n", " df[\"relation\"] = df[\"topic_related\"].replace(mutate_dict)\n", "\n", " if country == \"Czechia\":\n", " location_column = \"location_Czech\"\n", " else:\n", " location_column = f\"location_{country}\"\n", "\n", " df[\"related_within\"] = df.apply(lambda row: row[location_column] and row[\"relation\"] == 1, axis=1)\n", "\n", " total = len(df)\n", " related = (df.relation.value_counts()[1] / total)*100\n", " within = (df.related_within.value_counts()[True] / total)*100\n", " within_ = (df.related_within.value_counts()[True])\n", " skipped = (df.relation.value_counts()[2] / total)*100\n", "\n", " dict = {\n", " \"Country\": country,\n", " \"Related (%)\" : related,\n", " \"Related - Within (%)\": within,\n", " \"Related - Within (n)\": within_,\n", " \"Unclassified (%)\": skipped\n", " }\n", "\n", " data.append(dict)" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [], "source": [ "tbl03 = pd.DataFrame(data)\n", "total_row = pd.DataFrame(\n", " [[\n", " \"European Union\", \n", " tbl02[\"Related (%)\"].mean(),\n", " tbl02[\"Related - Within (%)\"].mean(),\n", " tbl02[\"Related - Within (n)\"].sum(),\n", " tbl02[\"Unclassified (%)\"].mean(),\n", " ]], \n", " columns=tbl03.columns\n", ")\n", "tbl03_total = pd.concat([tbl03, total_row], ignore_index=True)" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CountryRelated (%)Related - Within (%)Related - Within (n)Unclassified (%)
Austria24.912.75,5900.5
Belgium24.213.82,7371.0
Bulgaria35.124.48,0710.3
Croatia28.817.66,4310.8
Cyprus29.119.96,7160.3
Czechia21.817.57,1141.3
Denmark30.617.61,8970.9
Estonia22.514.11,5990.3
Finland32.823.51,5010.8
France26.515.89,9550.7
Germany29.423.09,2920.8
Greece26.617.18,0271.2
Hungary25.815.42,7680.8
Ireland8.05.52,6760.2
Italy29.124.118,8000.8
Latvia15.111.66360.6
Lithuania31.524.63,2720.7
Luxembourg26.714.71,1190.5
Malta37.630.43,2050.4
Netherlands24.814.23,2230.6
Poland40.733.75,9020.8
Portugal23.214.84,2170.3
Romania43.627.28,7651.0
Slovakia26.817.95,1720.4
Slovenia30.718.21,7860.7
Spain27.718.916,6851.0
Sweden26.715.69682.5
European Union27.818.7148,1240.8
\n" ], "text/plain": [ "" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#| label: tbl-classstage1\n", "#| tbl-cap: Broad classification results\n", "tbl03_total.style.hide(axis=\"index\").format({\n", " \"Related (%)\": \"{:,.1f}\",\n", " \"Related - Within (%)\": \"{:,.1f}\",\n", " \"Related - Within (n)\": \"{:,.0f}\",\n", " \"Unclassified (%)\": \"{:,.1f}\"\n", "})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Table 4: Second Stage Classification" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "tbl04_data = (\n", " cldata_master.copy()\n", " .drop_duplicates(subset = \"id\")\n", " .loc[:,[\"country\", \"pillar_1\", \"pillar_2\", \"pillar_3\", \"pillar_4\", \"pillar_5\", \"pillar_6\", \"pillar_7\", \"pillar_8\"]]\n", " .groupby(\"country\")\n", " .agg(\"mean\")\n", " .apply(lambda x: x*100)\n", " .reset_index()\n", " .rename(\n", " columns = {\n", " \"country\" : \"Country\",\n", " \"pillar_1\": \"Pillar 1\",\n", " \"pillar_2\": \"Pillar 2\",\n", " \"pillar_3\": \"Pillar 3\",\n", " \"pillar_4\": \"Pillar 4\",\n", " \"pillar_5\": \"Pillar 5\",\n", " \"pillar_6\": \"Pillar 6\",\n", " \"pillar_7\": \"Pillar 7\",\n", " \"pillar_8\": \"Pillar 8\",\n", " }\n", " )\n", ")\n", "total_row = pd.DataFrame(\n", " [[\"European Union\"] + tbl04_data.iloc[:, 1:].mean().values.tolist()], \n", " columns=tbl04_data.columns\n", ")\n", "tbl04_total = pd.concat([tbl04_data, total_row], ignore_index=True)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CountryPillar 1Pillar 2Pillar 3Pillar 4Pillar 5Pillar 6Pillar 7Pillar 8
Austria18.99.82.215.35.82.56.115.8
Belgium13.39.01.412.85.81.96.517.1
Bulgaria27.416.73.617.88.15.29.221.3
Croatia20.613.02.315.68.13.06.519.8
Cyprus22.613.73.916.27.56.17.915.6
Czechia14.79.11.710.86.62.74.614.6
Denmark24.312.83.020.29.23.08.220.5
Estonia16.98.92.011.74.33.45.913.2
Finland24.212.91.920.310.23.68.222.5
France20.59.72.318.57.13.15.615.3
Germany20.99.52.117.79.22.57.019.4
Greece20.212.12.616.78.63.96.317.4
Hungary21.813.22.616.45.93.64.014.0
Ireland18.69.42.716.57.03.78.016.2
Italy17.912.32.517.28.24.17.418.4
Latvia10.46.12.07.53.13.32.16.2
Lithuania22.714.12.415.36.64.47.720.7
Luxembourg16.48.33.815.86.63.75.813.1
Malta30.119.37.424.06.49.213.021.4
Netherlands16.69.62.615.55.63.06.014.8
Poland31.618.13.823.17.65.611.423.5
Portugal18.69.53.013.63.13.65.210.6
Romania28.623.34.122.59.57.08.125.0
Slovakia23.113.03.616.04.63.04.915.5
Slovenia24.411.93.118.47.44.37.416.4
Spain20.611.02.617.36.33.36.115.8
Sweden19.810.21.918.19.72.06.319.1
European Union20.912.12.916.77.03.96.917.1
\n" ], "text/plain": [ "" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#| label: tbl-classstage2\n", "#| tbl-cap: Pillar classification results (%)\n", "tbl04_total.style.hide(axis=\"index\").format(precision=1)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.9" } }, "nbformat": 4, "nbformat_minor": 2 }