From aabf858c6c3d26e219f19029538302d459eafca2 Mon Sep 17 00:00:00 2001 From: tpique-ensae Date: Sun, 10 Mar 2024 11:31:28 +0000 Subject: [PATCH] update stats desc spectacles --- Spectacle/Stat_desc.ipynb | 2618 ++++++++++++++++++++----------------- 1 file changed, 1436 insertions(+), 1182 deletions(-) diff --git a/Spectacle/Stat_desc.ipynb b/Spectacle/Stat_desc.ipynb index 4ca2fdd..52df725 100644 --- a/Spectacle/Stat_desc.ipynb +++ b/Spectacle/Stat_desc.ipynb @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 1, "id": "aa915888-cede-4eb0-8a26-7df573d29a3e", "metadata": {}, "outputs": [], @@ -35,7 +35,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 2, "id": "17949e81-c30b-4fdf-9872-d7dc2b22ba9e", "metadata": {}, "outputs": [], @@ -47,7 +47,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, "id": "9c1737a2-bad8-4266-8dec-452085d8cfe7", "metadata": {}, "outputs": [ @@ -60,7 +60,7 @@ " 'projet-bdc2324-team1/0_Input/Company_10/target_information.csv']" ] }, - "execution_count": 5, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -92,7 +92,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 4, "id": "40b705eb-fd18-436b-b150-61611a3c6a84", "metadata": {}, "outputs": [], @@ -112,165 +112,20 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 5, "id": "c56decc3-de19-4786-82a4-1386c72a6bfb", "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", - "
idcustomer_idtarget_nametarget_type_is_importtarget_type_name
01165098618562Newsletter mensuelleFalsemanual_static_filter
11165100618559Newsletter mensuelleFalsemanual_static_filter
21165101618561Newsletter mensuelleFalsemanual_static_filter
31165102618560Newsletter mensuelleFalsemanual_static_filter
41165103618558Newsletter mensuelleFalsemanual_static_filter
..................
69253169815818580Newsletter mensuelleFalsemanual_static_filter
69254169815918569Newsletter mensuelleFalsemanual_static_filter
6925516981602962Newsletter mensuelleFalsemanual_static_filter
6925616981613825Newsletter mensuelleFalsemanual_static_filter
6925716981625731Newsletter mensuelleFalsemanual_static_filter
\n", - "

69258 rows × 5 columns

\n", - "
" - ], - "text/plain": [ - " id customer_id target_name target_type_is_import \\\n", - "0 1165098 618562 Newsletter mensuelle False \n", - "1 1165100 618559 Newsletter mensuelle False \n", - "2 1165101 618561 Newsletter mensuelle False \n", - "3 1165102 618560 Newsletter mensuelle False \n", - "4 1165103 618558 Newsletter mensuelle False \n", - "... ... ... ... ... \n", - "69253 1698158 18580 Newsletter mensuelle False \n", - "69254 1698159 18569 Newsletter mensuelle False \n", - "69255 1698160 2962 Newsletter mensuelle False \n", - "69256 1698161 3825 Newsletter mensuelle False \n", - "69257 1698162 5731 Newsletter mensuelle False \n", - "\n", - " target_type_name \n", - "0 manual_static_filter \n", - "1 manual_static_filter \n", - "2 manual_static_filter \n", - "3 manual_static_filter \n", - "4 manual_static_filter \n", - "... ... \n", - "69253 manual_static_filter \n", - "69254 manual_static_filter \n", - "69255 manual_static_filter \n", - "69256 manual_static_filter \n", - "69257 manual_static_filter \n", - "\n", - "[69258 rows x 5 columns]" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" + "ename": "NameError", + "evalue": "name 'target_information' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[5], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mtarget_information\u001b[49m\n", + "\u001b[0;31mNameError\u001b[0m: name 'target_information' is not defined" + ] } ], "source": [ @@ -617,7 +472,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 6, "id": "afd044b8-ac83-4a35-b959-700cae0b3b41", "metadata": {}, "outputs": [ @@ -632,7 +487,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -646,7 +502,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -660,7 +517,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -674,8 +532,9 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", - ":27: SettingWithCopyWarning: \n", + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n", + ":28: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n" @@ -693,7 +552,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -707,7 +567,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -721,7 +582,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -735,8 +597,9 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", - ":27: SettingWithCopyWarning: \n", + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n", + ":28: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n" @@ -754,7 +617,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -768,7 +632,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -782,8 +647,10 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", - ":13: DtypeWarning: Columns (4,8,10) have mixed types. Specify dtype option on import or set low_memory=False.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n", + "/tmp/ipykernel_437/3170175140.py:10: DtypeWarning: Columns (4,8,10) have mixed types. Specify dtype option on import or set low_memory=False.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -797,8 +664,9 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", - ":27: SettingWithCopyWarning: \n", + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n", + ":28: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n" @@ -816,7 +684,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -830,7 +699,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -844,7 +714,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -858,8 +729,9 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", - ":27: SettingWithCopyWarning: \n", + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n", + ":28: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n" @@ -877,7 +749,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -891,7 +764,8 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -905,8 +779,10 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", - ":13: DtypeWarning: Columns (8,9) have mixed types. Specify dtype option on import or set low_memory=False.\n" + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n", + "/tmp/ipykernel_437/3170175140.py:10: DtypeWarning: Columns (8,9) have mixed types. Specify dtype option on import or set low_memory=False.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n" ] }, { @@ -920,8 +796,9 @@ "name": "stderr", "output_type": "stream", "text": [ - ":13: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", - ":27: SettingWithCopyWarning: \n", + "/tmp/ipykernel_437/3170175140.py:10: FutureWarning: The argument 'date_parser' is deprecated and will be removed in a future version. Please use 'date_format' instead, or read your data in as 'object' dtype and then call 'to_datetime'.\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser)\n", + ":28: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n" @@ -1221,7 +1098,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 7, "id": "3a1fdd6b-ac43-4e90-9a31-4f522bcc44bb", "metadata": {}, "outputs": [ @@ -1229,7 +1106,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_444/3450421856.py:9: DtypeWarning: Columns (38) have mixed types. Specify dtype option on import or set low_memory=False.\n", + "/tmp/ipykernel_437/3450421856.py:9: DtypeWarning: Columns (38) have mixed types. Specify dtype option on import or set low_memory=False.\n", " train_set_spectacle = pd.read_csv(file_in, sep=\",\")\n" ] } @@ -1248,7 +1125,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 8, "id": "3a4c1ff4-2861-4e86-99df-26eea0370dc3", "metadata": {}, "outputs": [ @@ -1461,7 +1338,7 @@ "[5 rows x 40 columns]" ] }, - "execution_count": 4, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -1472,7 +1349,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 13, "id": "4632384d-2a06-445d-9fdb-b0c91b37ebaf", "metadata": {}, "outputs": [ @@ -1482,7 +1359,7 @@ "array([0., 1.])" ] }, - "execution_count": 10, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -1495,7 +1372,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 14, "id": "5fd56696-b479-46c7-8a59-fb8137db5fb5", "metadata": {}, "outputs": [ @@ -1505,7 +1382,7 @@ "array([10, 11, 12, 13, 14])" ] }, - "execution_count": 22, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -1519,7 +1396,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 15, "id": "91c6e047-43d2-456c-81f1-087026eef4f0", "metadata": {}, "outputs": [ @@ -1739,7 +1616,7 @@ "[5 rows x 41 columns]" ] }, - "execution_count": 23, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -1813,6 +1690,54 @@ " plt.show()\n" ] }, + { + "cell_type": "code", + "execution_count": 69, + "id": "cccee90c-67d1-4e14-8410-1210a5ef97d9", + "metadata": {}, + "outputs": [], + "source": [ + "# def d'une fonction permettant de générer un barplot à plusieurs barres selon une modalité \n", + "\n", + "def multiple_barplot(data, x, y, var_labels, bar_width=0.35,\n", + " figsize=(10, 6), xlabel=None, ylabel=None, title=None, dico_labels = None) :\n", + "\n", + " # si on donne aucun nom pour la legende, le graphique reprend les noms des variables x et y \n", + " xlabel = x if xlabel==None else xlabel\n", + " ylabel = y if ylabel==None else ylabel\n", + " \n", + " fig, ax = plt.subplots(figsize=figsize)\n", + " \n", + " categories = data[x].unique()\n", + " bar_width = bar_width\n", + " bar_positions = np.arange(len(categories))\n", + " \n", + " # Grouper les données par label et créer les barres groupées\n", + " for label in data[var_labels].unique():\n", + " label_data = data[data[var_labels] == label]\n", + " values = [label_data[label_data[x] == category][y].values[0] for category in categories]\n", + " \n", + " # label_printed = \"achat durant la période\" if label else \"aucun achat\"\n", + " label_printed = f\"{var_labels}={label}\" if dico_labels==None else dico_labels[label]\n", + " \n", + " ax.bar(bar_positions, values, bar_width, label=label_printed)\n", + " \n", + " # Mise à jour des positions des barres pour le prochain groupe\n", + " bar_positions = [pos + bar_width for pos in bar_positions]\n", + "\n", + " # Ajout des étiquettes, de la légende, etc.\n", + " ax.set_xlabel(xlabel)\n", + " ax.set_ylabel(ylabel)\n", + " ax.set_title(title)\n", + " ax.set_xticks([pos + bar_width / 2 for pos in np.arange(len(categories))])\n", + " ax.set_xticklabels(categories)\n", + " ax.legend()\n", + " \n", + " # Affichage du plot - la proportion de français est la même selon qu'il y ait achat sur la période ou non\n", + " # sauf compagnie 12, et peut-être 13\n", + " plt.show()" + ] + }, { "cell_type": "code", "execution_count": 48, @@ -3840,7 +3765,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 94, "id": "91b743c4-5473-41e1-b97e-cf06904f0fa8", "metadata": { "scrolled": true @@ -3877,81 +3802,81 @@ " 0\n", " 10\n", " 0.0\n", - " 0.226815\n", + " 22.681533\n", " \n", " \n", " 1\n", " 10\n", " 1.0\n", - " 0.456172\n", + " 45.617174\n", " \n", " \n", " 2\n", " 11\n", " 0.0\n", - " 0.086818\n", + " 8.681794\n", " \n", " \n", " 3\n", " 11\n", " 1.0\n", - " 0.000347\n", + " 0.034686\n", " \n", " \n", " 4\n", " 12\n", " 0.0\n", - " 0.387308\n", + " 38.730755\n", " \n", " \n", " 5\n", " 12\n", " 1.0\n", - " 0.000461\n", + " 0.046081\n", " \n", " \n", " 6\n", " 13\n", " 0.0\n", - " 0.125966\n", + " 12.596642\n", " \n", " \n", " 7\n", " 13\n", " 1.0\n", - " 0.167097\n", + " 16.709675\n", " \n", " \n", " 8\n", " 14\n", " 0.0\n", - " 0.777891\n", + " 77.789137\n", " \n", " \n", " 9\n", " 14\n", " 1.0\n", - " 0.175614\n", + " 17.561409\n", " \n", " \n", "\n", "" ], "text/plain": [ - " number_company y_has_purchased opt_in\n", - "0 10 0.0 0.226815\n", - "1 10 1.0 0.456172\n", - "2 11 0.0 0.086818\n", - "3 11 1.0 0.000347\n", - "4 12 0.0 0.387308\n", - "5 12 1.0 0.000461\n", - "6 13 0.0 0.125966\n", - "7 13 1.0 0.167097\n", - "8 14 0.0 0.777891\n", - "9 14 1.0 0.175614" + " number_company y_has_purchased opt_in\n", + "0 10 0.0 22.681533\n", + "1 10 1.0 45.617174\n", + "2 11 0.0 8.681794\n", + "3 11 1.0 0.034686\n", + "4 12 0.0 38.730755\n", + "5 12 1.0 0.046081\n", + "6 13 0.0 12.596642\n", + "7 13 1.0 16.709675\n", + "8 14 0.0 77.789137\n", + "9 14 1.0 17.561409" ] }, - "execution_count": 44, + "execution_count": 94, "metadata": {}, "output_type": "execute_result" } @@ -3960,12 +3885,13 @@ "# on refait le graphique sur train set \n", "\n", "df_graph = train_set_spectacle.groupby([\"number_company\", \"y_has_purchased\"])[\"opt_in\"].mean().reset_index()\n", + "df_graph[\"opt_in\"] = 100 * df_graph[\"opt_in\"]\n", "df_graph" ] }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 96, "id": "728e0021-4f95-4601-bb01-032db2cf6571", "metadata": {}, "outputs": [ @@ -4049,822 +3975,13 @@ }, { "cell_type": "code", - "execution_count": 70, - "id": "ec31d69c-846e-4d52-9ea9-f6712187b028", + "execution_count": 98, + "id": "43deeeb5-8092-42fc-b80b-59d2c58093de", "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", - "
customer_idstreet_idstructure_idmcp_contact_idfidelitytenant_idis_partnerdeleted_atgenderis_email_true...purchase_countfirst_buying_datecountrygender_labelgender_femalegender_malegender_othercountry_frnumber_compagnyalready_purchased
0821538139NaNNaN0875FalseNaN2True...0NaNNaNother001NaN10False
18091261063NaNNaN0875FalseNaN2True...0NaNfrother0011.010False
2110051063NaNNaN0875FalseNaN2False...14NaNfrother0011.010True
31766312731NaNNaN0875FalseNaN0False...1NaNfrfemale1001.010True
43810012395NaNNaN0875FalseNaN0True...1NaNfrfemale1001.010True
..................................................................
3431214667645122NaN1534181.00862FalseNaN2True...0NaNNaNother001NaN14False
3431224667649122NaN1534177.00862FalseNaN2True...0NaNNaNother001NaN14False
3431234667660122NaN1534165.00862FalseNaN0True...0NaNNaNfemale100NaN14False
3431244667679122NaN1534132.00862FalseNaN2True...0NaNNaNother001NaN14False
3431254667686122NaN1567949.00862FalseNaN0True...0NaNNaNfemale100NaN14False
\n", - "

1523688 rows × 29 columns

\n", - "
" - ], - "text/plain": [ - " customer_id street_id structure_id mcp_contact_id fidelity \\\n", - "0 821538 139 NaN NaN 0 \n", - "1 809126 1063 NaN NaN 0 \n", - "2 11005 1063 NaN NaN 0 \n", - "3 17663 12731 NaN NaN 0 \n", - "4 38100 12395 NaN NaN 0 \n", - "... ... ... ... ... ... \n", - "343121 4667645 122 NaN 1534181.0 0 \n", - "343122 4667649 122 NaN 1534177.0 0 \n", - "343123 4667660 122 NaN 1534165.0 0 \n", - "343124 4667679 122 NaN 1534132.0 0 \n", - "343125 4667686 122 NaN 1567949.0 0 \n", - "\n", - " tenant_id is_partner deleted_at gender is_email_true ... \\\n", - "0 875 False NaN 2 True ... \n", - "1 875 False NaN 2 True ... \n", - "2 875 False NaN 2 False ... \n", - "3 875 False NaN 0 False ... \n", - "4 875 False NaN 0 True ... \n", - "... ... ... ... ... ... ... \n", - "343121 862 False NaN 2 True ... \n", - "343122 862 False NaN 2 True ... \n", - "343123 862 False NaN 0 True ... \n", - "343124 862 False NaN 2 True ... \n", - "343125 862 False NaN 0 True ... \n", - "\n", - " purchase_count first_buying_date country gender_label \\\n", - "0 0 NaN NaN other \n", - "1 0 NaN fr other \n", - "2 14 NaN fr other \n", - "3 1 NaN fr female \n", - "4 1 NaN fr female \n", - "... ... ... ... ... \n", - "343121 0 NaN NaN other \n", - "343122 0 NaN NaN other \n", - "343123 0 NaN NaN female \n", - "343124 0 NaN NaN other \n", - "343125 0 NaN NaN female \n", - "\n", - " gender_female gender_male gender_other country_fr number_compagny \\\n", - "0 0 0 1 NaN 10 \n", - "1 0 0 1 1.0 10 \n", - "2 0 0 1 1.0 10 \n", - "3 1 0 0 1.0 10 \n", - "4 1 0 0 1.0 10 \n", - "... ... ... ... ... ... \n", - "343121 0 0 1 NaN 14 \n", - "343122 0 0 1 NaN 14 \n", - "343123 1 0 0 NaN 14 \n", - "343124 0 0 1 NaN 14 \n", - "343125 1 0 0 NaN 14 \n", - "\n", - " already_purchased \n", - "0 False \n", - "1 False \n", - "2 True \n", - "3 True \n", - "4 True \n", - "... ... \n", - "343121 False \n", - "343122 False \n", - "343123 False \n", - "343124 False \n", - "343125 False \n", - "\n", - "[1523688 rows x 29 columns]" - ] - }, - "execution_count": 70, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "customerplus_clean_spectacle" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "id": "e8872cac-bde9-41ad-9297-0f2e02c7f0e8", - "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", - "
customer_idnb_ticketsnb_purchasestotal_amountnb_suppliersvente_internet_maxpurchase_date_minpurchase_date_maxtime_between_purchasenb_tickets_internet...gender_labelgender_femalegender_malegender_othercountry_frnb_campaignsnb_campaigns_openedtime_to_openy_has_purchasednumber_company
010_2993410.00.00.00.00.0NaNNaNNaN0.0...male0101.012.03.00 days 05:47:26.3333333330.010
110_637883.02.062.01.01.0393.205891281.017639112.1882523.0...female1001.03.01.00 days 05:13:511.010
210_7599460.00.00.00.00.0NaNNaNNaN0.0...other001NaN0.00.0NaN0.010
310_206530.00.00.00.00.0NaNNaNNaN0.0...male0101.011.010.01 days 00:45:540.010
410_8247050.00.00.00.00.0NaNNaNNaN0.0...other001NaN0.00.0NaN0.010
..................................................................
69729214_1199500.00.00.00.00.0NaNNaNNaN0.0...male0101.00.00.0NaN0.014
69729314_9380.00.00.00.00.0NaNNaNNaN0.0...male0101.00.00.0NaN0.014
69729414_50047070.00.00.00.00.0NaNNaNNaN0.0...male0101.02.01.02 days 16:42:510.014
69729514_1081840.00.00.00.00.0NaNNaNNaN0.0...other0011.00.00.0NaN0.014
69729614_46639810.00.00.00.00.0NaNNaNNaN0.0...other001NaN0.00.0NaN0.014
\n", - "

697297 rows × 41 columns

\n", - "
" - ], - "text/plain": [ - " customer_id nb_tickets nb_purchases total_amount nb_suppliers \\\n", - "0 10_299341 0.0 0.0 0.0 0.0 \n", - "1 10_63788 3.0 2.0 62.0 1.0 \n", - "2 10_759946 0.0 0.0 0.0 0.0 \n", - "3 10_20653 0.0 0.0 0.0 0.0 \n", - "4 10_824705 0.0 0.0 0.0 0.0 \n", - "... ... ... ... ... ... \n", - "697292 14_119950 0.0 0.0 0.0 0.0 \n", - "697293 14_938 0.0 0.0 0.0 0.0 \n", - "697294 14_5004707 0.0 0.0 0.0 0.0 \n", - "697295 14_108184 0.0 0.0 0.0 0.0 \n", - "697296 14_4663981 0.0 0.0 0.0 0.0 \n", - "\n", - " vente_internet_max purchase_date_min purchase_date_max \\\n", - "0 0.0 NaN NaN \n", - "1 1.0 393.205891 281.017639 \n", - "2 0.0 NaN NaN \n", - "3 0.0 NaN NaN \n", - "4 0.0 NaN NaN \n", - "... ... ... ... \n", - "697292 0.0 NaN NaN \n", - "697293 0.0 NaN NaN \n", - "697294 0.0 NaN NaN \n", - "697295 0.0 NaN NaN \n", - "697296 0.0 NaN NaN \n", - "\n", - " time_between_purchase nb_tickets_internet ... gender_label \\\n", - "0 NaN 0.0 ... male \n", - "1 112.188252 3.0 ... female \n", - "2 NaN 0.0 ... other \n", - "3 NaN 0.0 ... male \n", - "4 NaN 0.0 ... other \n", - "... ... ... ... ... \n", - "697292 NaN 0.0 ... male \n", - "697293 NaN 0.0 ... male \n", - "697294 NaN 0.0 ... male \n", - "697295 NaN 0.0 ... other \n", - "697296 NaN 0.0 ... other \n", - "\n", - " gender_female gender_male gender_other country_fr nb_campaigns \\\n", - "0 0 1 0 1.0 12.0 \n", - "1 1 0 0 1.0 3.0 \n", - "2 0 0 1 NaN 0.0 \n", - "3 0 1 0 1.0 11.0 \n", - "4 0 0 1 NaN 0.0 \n", - "... ... ... ... ... ... \n", - "697292 0 1 0 1.0 0.0 \n", - "697293 0 1 0 1.0 0.0 \n", - "697294 0 1 0 1.0 2.0 \n", - "697295 0 0 1 1.0 0.0 \n", - "697296 0 0 1 NaN 0.0 \n", - "\n", - " nb_campaigns_opened time_to_open y_has_purchased \\\n", - "0 3.0 0 days 05:47:26.333333333 0.0 \n", - "1 1.0 0 days 05:13:51 1.0 \n", - "2 0.0 NaN 0.0 \n", - "3 10.0 1 days 00:45:54 0.0 \n", - "4 0.0 NaN 0.0 \n", - "... ... ... ... \n", - "697292 0.0 NaN 0.0 \n", - "697293 0.0 NaN 0.0 \n", - "697294 1.0 2 days 16:42:51 0.0 \n", - "697295 0.0 NaN 0.0 \n", - "697296 0.0 NaN 0.0 \n", - "\n", - " number_company \n", - "0 10 \n", - "1 10 \n", - "2 10 \n", - "3 10 \n", - "4 10 \n", - "... ... \n", - "697292 14 \n", - "697293 14 \n", - "697294 14 \n", - "697295 14 \n", - "697296 14 \n", - "\n", - "[697297 rows x 41 columns]" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "train_set_spectacle" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "d972ade5-974a-4fc9-8f83-bdf8503e1469", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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DRtqzpw58vHx0aJFi/TEE08oLS3thr/EXbt2TW3bttWPP/6o6OhoNW/eXNeuXdO2bdt0/PhxNW7cWIZhqHPnzlq7dq1GjRqlpk2bau/evRozZoy2bt2qrVu3Wvz1b8+ePRo6dKhGjhwpf39/ffzxx3r66adVuXJlNWvWTJI0ZMgQffbZZxo/frzq1aunS5cu6eeff9bZs2dv+byeeeYZtW/fXgsWLNCJEyf06quv6qmnntK6desk/TM847HHHpOPj49mzZolSea609LSFBERoZMnT+q1115T7dq1tX//fr355pvat2+f1qxZY/GL+PLly7V7925NmjRJJpNJI0aMUPv27dWnTx/9/vvvmjlzplJSUjRkyBB17dpVCQkJ5u0///xz9e7dW4888ojmz58vJycnffDBB2rdurW+++47tWjRwuK8unbtqieeeEJPP/209u3bp1GjRkmSOXxu3brVpr4l2dafb9f777+v2rVr6/3339fff/+toUOHqmPHjmrYsKGcnJz0ySef6NixYxo2bJieeeYZLVu2zLzt4cOH1a5dO0VHR8vDw0O//PKLJk+erB07dpjf14Jws74jSf369dPixYs1fPhwNW/eXAcOHNCjjz6q1NTUm+5/0aJFGjRokF588UW98847KlWqlH777TcdOHDAvE5SUpIeeOABlSpVSm+++abuvfdebd26VePHj9fRo0c1b968PPd/6NAhNW7cWOXLl9eMGTPk5+enzz//XH379tWff/6p4cOHW6z/2muvqUmTJvr444+VmpqqESNGqGPHjjp48KAcHBxseu3y25979eqlXbt2acKECapSpYr+/vtv7dq1y+JnPjd79uzRQw89pLJly+qtt95SeHi4Tp8+rWXLlikjI0MuLi63dP5RUVGKi4vT0aNHNWzYMD355JNydHRUnTp1tHDhQu3evVuvvfaavLy8NGPGDIvtly1bpvXr1+utt96Sh4eHZs2aZd7+sccekySdO3dOkjRmzBgFBATo4sWL+uabbxQZGam1a9ea/5hx6dIlRUVF6dy5c5o8ebIqV66sVatW5fpZL0lXr15Vp06d9PTTT2vo0KH64YcfNG7cOPn4+NzwZze//Ss/fTUv3377rZo1a6ZSpf7vb+WzZs3Sc889pyNHjuibb77JdbsZM2aoSpUqeuedd+Tt7a3w8HClp6fr3LlzGjZs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z52goCCL+vN7vvllS39evHix+vTpo48//liNGjWSr6+vevfuned9l5J0/vx5ZWZm3nSiDlvP/1b7ZDbrz+Hr27KPNXXqVD3//PNq2LChvv76a23btk3x8fFq06aNxeuc12d9bm2S5O7uLldXV4s2FxeXHDVay2//yk9fzU32OVnXlh+5vXdLlixRt27dVKFCBX3++efaunWr4uPj1b9//5uea7Zb7ec366u38jl+I66urgX+uYuij3uUUKxUr17dPOudtUWLFsnJyUnLly+3+E8gr+mY83NT+c34+flpx44dOdqtf6koW7asJGnUqFHq0qVLrvuqWrVqnscpV66cNm3apKysrDzDkp+fn65du6YzZ85YhCXDMJSUlKR//etfNz0fax4eHho7dqzGjh2rP//803x1qWPHjvrll19u+7xsVbZsWbm5ueWYdOL65QV1HEl677338pyVKq9fkAqKLf3ZxcUlx03iUs5fPAvDunXrdOrUKW3YsMF8FUlSrtPsFrbsX7j+/PNPVahQwdx+7dq1fL8W/fr1U79+/XTp0iX98MMPGjNmjDp06KBff/1VISEhKlu2rGrXrq0JEybkun32L/151Xf69Okc7dl/5S+o/mvNlv5ctmxZTZ8+XdOnT9fx48e1bNkyjRw5UsnJyXnOkubr6ysHBweLqzS5udPnn1u4y27L7iuff/65IiMjNXv2bIv1rG/az+9n/e2ypX/drK/mtX9JNgWEbLn9n/n5558rLCxMixcvtlie2+dRQbtZXy3oz/Hz588X2s8oii6CEkqM7C+ivf7mz8uXL+uzzz6zaT/WV1VuJCoqSl9++aWWLVtmMXxgwYIFFutVrVpV4eHh2rNnj2JjY22qR/pnqNjChQsVFxeX5/C7Fi1aaMqUKfr888/1yiuvmNu//vprXbp0KcfkA7by9/dX3759tWfPHk2fPl1paWm3fV55yes96NChg2JjY+Xn56ewsLACO561Jk2aqHTp0jpw4IAGDx5cYPu1pW/Z0p9DQ0O1d+9ei7Z169blGIpUGLJ/ObKeJviDDz4o9GNby56EZPHixapfv765/T//+U++ZqS7noeHh9q2bauMjAx17txZ+/fvV0hIiDp06KAVK1bo3nvvVZkyZWzaZ4sWLfTNN9/o1KlTFr/wfvrpp3J3dy+0qaJvtT9XrFhRgwcP1tq1a7V58+Y813Nzc1NERIS++uorTZgwIc9fJu/0+a9du1Z//vmn+ZfhzMxMLV68WPfee6/56pfJZMrRd/fu3autW7daDBGMiIjQl19+qZUrV5qHwUnKMYve7bqV/pVXX81NSEiI3NzcdOTIkRzLbPl8ymYymeTs7GwRkpKSknKd9a4w5dZXben3N7uKderUKV25csViggfcHQhKKDHat2+vqVOnqkePHnruued09uxZvfPOOzZ9z4Mk1apVSxs2bND//vc/BQYGysvLK8+rIr1799a0adPUu3dvTZgwQeHh4VqxYoW+++67HOt+8MEHatu2rVq3bq2+ffuqQoUKOnfunA4ePKhdu3bpq6++yrOmJ598UvPmzdPAgQN16NAhRUVFKSsrS9u3b1f16tXVvXt3tWzZUq1bt9aIESOUmpqqJk2amGe9q1evnnr16mXT6yBJDRs2VIcOHVS7dm2VKVNGBw8e1GeffaZGjRrJ3d39ts8rL7Vq1dKiRYu0ePFiVapUSa6urqpVq5aio6P19ddfq1mzZnrllVdUu3ZtZWVl6fjx4/r+++81dOhQNWzY0ObjWfP09NR7772nPn366Ny5c3rsscdUvnx5nTlzRnv27NGZM2dy/AU6v+eV375lS3/u1auX3njjDb355puKiIjQgQMHNHPmTPn4+Nhco60aN26sMmXKaODAgRozZoycnJz0xRdfaM+ePYV+bGs1atTQk08+qXfffVcODg5q3ry59u/fr3fffVc+Pj43HLoqSc8++6zc3NzUpEkTBQYGKikpSRMnTpSPj4/5iuxbb72l1atXq3HjxnrppZdUtWpVXblyRUePHtWKFSs0Z86cPIegjRkzxnwPyptvvilfX1998cUX+vbbbzVlypRCe7/y259TUlIUFRWlHj16qFq1avLy8lJ8fLxWrVqV5xXjbFOnTtVDDz2khg0bauTIkapcubL+/PNPLVu2TB988IG8vLzu+PmXLVtWzZs31xtvvGGe9e6XX36xCDcdOnTQuHHjNGbMGEVEROjQoUN66623FBYWZhGu+/Tpo2nTpumpp57S+PHjVblyZa1cudL8WX+zvpVf+e1f+emruXF2dlajRo20bdu2HMtq1aqlJUuWaPbs2br//vtVqlSpPEdwZMv+mo1Bgwbpscce04kTJzRu3DgFBgaah2gXhvz0VVs+x2vVqiVJ+ve//60+ffrI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Yj3rqzyGYeR55WfUqFFKSUkxP06cOHHTOvirN1Bw+HkCAAAlgV2vKL366qsaOXKkunfvLkmqVauWjh07pokTJ6pPnz4KCAiQ9M+VpcDAQPN2ycnJOa4yZXNxcZGLi0vhFw8AAACgxLLrn37T0tJy/PXZwcHBPD14WFiYAgICtHr1avPyjIwMbdy4UY0bN76jtQIAAAC4e9j1ilLHjh01YcIEVaxYUTVq1NDu3bs1depU9e/fX9I/Q+6io6MVGxur8PBwhYeHKzY2Vu7u7urRo0eh1hY68ttC3f/1jk5qf8eOVdz17dtXf//9t5YuXWrvUgAAAFCC2TUovffee3rjjTc0aNAgJScnKygoSAMGDNCbb75pXmf48OG6fPmyBg0apPPnz6thw4b6/vvvC+w7lHD32bBhg6KionT+/HmVLl3a3uUAAACgCLJrUPLy8tL06dPN04HnxmQyKSYmRjExMXesLgAAAAB3N6anKoZWrVqlhx56SKVLl5afn586dOigI0eOmJdv2LBBJpNJf//9t7ktISFBJpNJR48eNbdt3rxZERERcnd3V5kyZdS6dWudP39ekhQaGpojwNatW9cisJpMJn388cd69NFH5e7urvDwcC1btuyGtX/++edq0KCBvLy8FBAQoB49eig5Odlinf3796t9+/by9vaWl5eXmjZtanF+kvTOO+8oMDBQfn5+euGFF3T16tV8HePo0aOKioqSJJUpU0Ymk0l9+/a9Yc0AAAC4+xCUiqFLly5pyJAhio+P19q1a1WqVCk9+uij5kkw8iMhIUEtWrRQjRo1tHXrVm3atEkdO3ZUZmamTbWMHTtW3bp10969e9WuXTv17NlT586dy3P9jIwMjRs3Tnv27NHSpUuVmJhoEVT++OMPNWvWTK6urlq3bp127typ/v3769q1a+Z11q9fryNHjmj9+vWaP3++4uLiFBcXl69jBAcH6+uvv5YkHTp0SKdPn9a///1vm84ZAAAAJZ9dh97h1nTt2tXi+dy5c1W+fHkdOHBANWvWzNc+pkyZogYNGmjWrFnmtho1athcS9++fc1fEBwbG6v33ntPO3bsUJs2bXJdP3uiDkmqVKmSZsyYoQceeEAXL16Up6en3n//ffn4+GjRokVycnKSJFWpUsViH2XKlNHMmTPl4OCgatWqqX379lq7dq2effbZfB3D19dXklS+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V6+WJD3++OOSpClTpmjq1KmaOXOm4uPjFRAQoJYtW+rChQv2LBsAAABACWfXoFSuXDkFBASYH8uXL9e9996riIgIGYah6dOna/To0erSpYtq1qyp+fPnKy0tTQsWLLBn2QAAAABKuCJzj1JGRoY+//xz9e/fXyaTSYmJiUpKSlKrVq3M67i4uCgiIkJbtmzJcz/p6elKTU21eAAAAACALYpMUFq6dKn+/vtv9e3bV5KUlJQkSfL397dYz9/f37wsNxMnTpSPj4/5ERwcXGg1AwAAACiZikxQmjt3rtq2baugoCCLdpPJZPHcMIwcbdcbNWqUUlJSzI8TJ04USr0AAAAASi5HexcgSceOHdOaNWu0ZMkSc1tAQICkf64sBQYGmtuTk5NzXGW6nouLi1xcXAqvWAAAAAAlXpG4ojRv3jyVL19e7du3N7eFhYUpICDAPBOe9M99TBs3blTjxo3tUSYAAACAu4TdryhlZWVp3rx56tOnjxwd/68ck8mk6OhoxcbGKjw8XOHh4YqNjZW7u7t69Ohhx4oBAAAAlHR2D0pr1qzR8ePH1b9//xzLhg8frsuXL2vQoEE6f/68GjZsqO+//15eXl52qBQAAADA3cJkGIZh7yIKU2pqqnx8fJSSkiJvb297lwMAAIACFjryW3uXUKCOTmp/85VwS2zJBkXiHiUAAAAAKEoISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFbsHpT++OMPPfXUU/Lz85O7u7vq1q2rnTt3mpcbhqGYmBgFBQXJzc1NkZGR2r9/vx0r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HZKXl5etpQMAAABAvpgMwzBudePU1FRJKtBJHHx9ffX222+rf//+CgoKUnR0tEaMGCFJSk9Pl7+/vyZPnqwBAwbku0YfHx+lpKQw2URhiSlhsx3GpNi7AqBICB35rb1LKHBHJ7W3dwkACkFJ+7zis6rw2JINbB56d73sIXMFITMzU4sWLdKlS5fUqFEjJSYmKikpSa1atTKv4+LiooiICG3ZsiXP/aSnpys1NdXiAQAAAAC2uK2gVBD27dsnT09Pubi4aODAgfrmm2903333KSkpSZLk7+9vsb6/v795WW4mTpxo8b1PwcHBhVo/AAAAgJLH7kGpatWqSkhI0LZt2/T888+rT58+OnDggHm5yWSyWN8wjBxt1xs1apRSUlLMjxMnThRa7QAAAABKJpsncyhozs7O5skcGjRooPj4eP373/8235eUlJSkwMBA8/rJyck5rjJdz8XFRS4uLoVbNAAAAIASzeYrSp9++qnS09NztGdkZOjTTz+97YIMw1B6errCwsIUEBCg1atXWxxj48aNaty48W0fBwAAAADyckvfo5SSknNWsAsXLtj8PUqvvfaafvzxRx09elT79u3T6NGjtWHDBvXs2VMmk0nR0dGKjY3VN998o59//ll9+/aVu7u7evToYWvZAAAAAJBvNg+9y+seoZMnT8rHx7Zpov/880/16tVLp0+flo+Pj2rXrq1Vq1apZcuWkqThw4fr8uXLGjRokM6fP6+GDRvq+++/5zuUAAAAABSqfAelevXqyWQyyWQyqUWLFnJ0/L9NMzMzlZiYqDZt2th08Llz595wuclkUkxMjGJiYmzaLwAAAADcjnwHpc6dO0uSEhIS1Lp1a3l6epqXOTs7KzQ0VF27di3wAgEAAADgTst3UBozZowyMzMVEhKi1q1bW8xEBwAAAAAliU2TOTg4OGjgwIG6cuVKYdUDAAAAAHZn86x3tWrV0u+//14YtQAAAABAkWBzUJowYYKGDRum5cuX6/Tp00pNTbV4AAAAAEBxZ/P04Nkz23Xq1MlimvDsacMzMzMLrjoAAAAAsAObg9L69esLow4AAAAAKDJsDkoRERGFUQcAAAAAFBk2B6VsaWlpOn78uDIyMizaa9eufdtFAQAAAIA92RyUzpw5o379+mnlypW5LuceJQAAAADFnc2z3kVHR+v8+fPatm2b3NzctGrVKs2f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t0apUqWMpKSkXM911KhRRvXq1S2ONWLECEOScf78ecMwDKNXr17Gc889Z7Hdjz/+aJQqVcq4fPlyrvtt1KiR0bNnz1yX/frrr4YkY/Pmzea2v/76y3BzczO+/PJLwzAMY968eYYk47fffjOvM2DAAMPd3d24cOGCua1169bGgAEDzM9DQkKMNm3aWBzviSeeMNq2bZtrLYZhGF9++aXh5+dnsX779u0t1unZs6fh4+Njfj5mzBjD3d3dSE1NNbe9+uqrRsOGDc3PIyIijJdfftkwDMP47bffDJPJZPzxxx8W+23RooUxatSoPGsDgJKMK0oAUIxNnjxZ8+fP14EDB255HzVq1FCpUv/334G/v79q1aplfu7g4CA/Pz8lJydLknbu3KnffvtNXl5e8vT0lKenp3x9fXXlyhUdOXLEvF2tWrXk7Oxsfn7w4EHVqVNHHh4e5rYmTZooKytLhw4dyrW2gwcP6sEHH7SYpKJRo0YW6+zcuVNxcXHmWjw9PdW6dWtlZWUpMTEx1/0mJCSoRYsWeR7T0dFRDRs2NLf5+fmpatWqOnjwoLnN3d1d9957r8XrFhoaKk9PT4u27Nctr/obNWpksd/169erZcuWqlChgry8vNS7d2+dPXvWPJTw0KFDeuCBByz2Yf1c+meY3/X3IAUGBuaoJduuXbtkGIaqVKli8Tpu3LjR4j0FgLuJo70LAADcumbNmql169Z67bXX1LdvX4tlpUqVkmEYFm3XDx3L5uTkZPHcZDLl2paVlSVJysrK0v33368vvvgix77KlStn/vf1gUiSDMPIc1a+vNqt689NVlaWBgwYoJdeeinHsooVK+a6jZubW577y+uY1vXb+rrdSPZ+jx07pnbt2mngwIEaN26cfH19tWnTJj399NPm9y631zG3mm2pJSsrSw4ODtq5c6ccHBwsll0f/ADgbkJQAoBibtKkSapbt655woRs5cqVU1JSksUv1gkJCbd9vPr162vx4sUqX768vL29873dfffdp/nz5+vSpUvmELV582aVKlUqR+3Xb7N06VKLtm3btuWoZ//+/apcuXK+a6ldu7bWrl2rfv365XrMa9euafv27WrcuLEk6ezZs/r1119VvXr1fB8jL9b1b9u2TdWqVZMk/fTTT7p27Zreffdd81W+L7/80mL9atWqaceOHRZtP/30023VVK9ePWVmZio5OVlNmza9rX0BQEnB0DsAKOZq1aqlnj175pg9LTIyUmfOnNGUKVN05MgRvf/++1q5cuVtH69nz54qW7asHnnkEf34449KTEzUxo0b9fLLL99wYomePXvK1dVVffr00c8//6z169frxRdfVK9eveTv75/rNgMHDtSRI0c0ZMgQHTp0SAsWLFBcXJzFOiNGjNDWrVv1wgsvKCEhQYcPH9ayZcv04osv5lnLmDFjtHDhQo0ZM0YHDx7Uvn37NGXKFElSeHi4HnnkET377LPatGmT9uzZo6eeekoVKlTQI488YvsLZmXz5s2aMmWKfv31V73//vv66quv9PLLL0uS7r33Xl27dk3vvfeefv/9d3322WeaM2eOxfYvvviiVqxYoalTp+rw4cP64IMPtHLlytv6Dq0qVaqoZ8+e6t27t5YsWaLExETFx8dr8uTJWrFixW2dLwAUVwQlACgBxo0bl2P4VfXq1TVr1iy9//77qlOnjnbs2KFhw4bd9rHc3d31ww8/qGLFiurSpYuqV6+u/v376/Llyze8wuTu7q7vvvtO586d07/+9S899thjatGihWbOnJnnNhUrVtTXX3+t//3vf6pTp47mzJmj2NhYi3Vq166tjRs36vDhw2ratKnq1aunN954Q4GBgXnuNzIyUl999ZWWLVumunXrqnnz5tq+fbt5+bx583T//ferQ4cOatSokQzD0IoVK3IMZ7sVQ4cO1c6dO1WvXj2NGzdO7777rlq3bi1Jqlu3rqZOnarJkyerZs2a+uKLL3JMAd+kSRPNmTNHU6dOVZ06dbRq1Sq98sorcnV1va265s2bp969e2vo0KGqWrWqOnXqpO3btys4OPi29gsAxZXJyM8AcAAAcNtCQ0MVHR1t8f1FBeHZZ5/VL7/8oh9//LFA9wsAdzPuUQIAoJh555131LJlS3l4eGjlypWaP3++Zs2aZe+yAKBEISgBAFDM7NixQ1OmTNGFCxdUqVIlzZgxQ88884y9ywKAEoWhdwAAAABghckcAAAAAMAKQQkAAAAArBCUAAAAAMAKQQkAAAAArBCUAAAAAMAKQQkAAAAArBCUAAAAAMAKQQkAAAAArPw/q5Zjnui4MTsAAAAASUVORK5CYII=", + "image/png": "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8+bNea7n5uamyMhIffnll5owYUKef0wW9fmvXbtWf/zxh/mP4czMTC1evFh33323+eqXyWTK0Xf37t2rrVu3WgwRjIyM1BdffKGVK1eah8FJyjGL3u26lf6VV1/NTWhoqNzc3HTkyJEcy2z5fMpmMpnk7OxsEZKSk5NznfWuMOXWV23p9ze7inXq1ClduXLFYoIH3BkISig1OnTooKlTp6pHjx569tlndebMGb311ls2fc+DJNWpU0cbNmzQ//73PwUFBcnLyyvPqyK9e/fWtGnT1Lt3b02YMEERERFasWKFvv322xzrvv/++2rXrp3atGmjvn37qmLFijp79qwOHjyoXbt26csvv8yzpieeeELz5s3TwIEDdejQIUVHRysrK0vbt29XjRo11L17d7Vq1Upt2rTRiBEjlJaWpqZNm5pnvWvQoIF69epl0+sgSY0aNVLHjh1Vt25dlStXTgcPHtSnn36qxo0by93d/bbPKy916tTRokWLtHjxYlWuXFmurq6qU6eOYmJi9NVXX6l58+Z6+eWXVbduXWVlZen48eP67rvvNHToUDVq1Mjm41nz9PTUu+++qz59+ujs2bN69NFH5e/vrz///FN79uzRn3/+meN/oPN7XvntW7b05169eum1117T66+/rsjISB04cEAzZ86Uj4+PzTXaqkmTJipXrpwGDhyoMWPGyMnJSZ9//rn27NlT6Me2VqtWLT3xxBN6++235eDgoBYtWmj//v16++235ePjc8Ohq5L0zDPPyM3NTU2bNlVQUJCSk5M1ceJE+fj4mK/IvvHGG1q9erWaNGmiF198UdWqVdOVK1d09OhRrVixQnPmzMlzCNqYMWPM96C8/vrr8vX11eeff65vvvlGU6ZMKbT3K7/9OTU1VdHR0erRo4eqV68uLy8vJSQkaNWqVXleMc42depUPfDAA2rUqJFGjhypKlWq6I8//tCyZcv0/vvvy8vLq8jPv3z58mrRooVee+0186x3P//8s0W46dixo8aNG6cxY8YoMjJShw4d0htvvKHw8HCLcN2nTx9NmzZNTz75pMaPH68qVapo5cqV5s/6m/Wt/Mpv/8pPX82Ns7OzGjdurG3btuVYVqdOHS1ZskSzZ8/WvffeqzJlyuQ5giNb9tdsDBo0SI8++qhOnDihcePGKSgoyDxEuzDkp6/a8jlep04dSdI777yj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BQtyzCoXFRWlP//8U1OmTNGRI0f03nvvaeXKlTets1KlSnJ2dta7776r3377TcuWLdO4cePydY7XCwsLU1JSkhITE/XXX38pPT39ptvk5zXKy4kTJ8yvx8KFC/Xuu+/qpZdekiRVrVpVPXv2VO/evbVkyRIlJSUpISFBkydP1ooVK/J9Th4eHnruuef0yiuvaNWqVTpw4ICeeeYZXbp0SU899ZSk/L03I0aM0NatW/X8888rMTFRhw8f1rJly/TCCy/kuxYAAICSiKBUwpQpU0aLFi3Szp07Vbt2bb388st68803LdZxdnbWd999J39/f7Vv31516tTRpEmTcgzlup1jODo6asaMGXr//fcVHByshx9+ONd9VapUSV999ZX+97//qV69epozZ455QoJsNWrU0KxZs/Tee++pXr162rFjh4YNG3bTOitUqKD4+Hh9+eWXqlmzpiZNmqS33norX+d4va5du6pt27aKjo5WhQoVtHDhwptuk5/XKC+9e/fW5cuXdd999+n555/XCy+8oGeffda8fN68eerdu7eGDh2qatWq6aGHHtL27dvNV83ya9KkSeratat69eqle+65R7/++qu+/fZblStXTlL+3pu6detq48aNOnz4sJo1a6YGDRrotddeM9/nBQAAUFqZjPzcqFCCpaWlycfHR6mpqfL29rZYduXKFSUlJSk8PJzZu1AkoqKiVL9+fU2fPt3epRQafq4AAEUtbOQ39i6hQB2d1MHeJZRaN8oG1riiBAAAAABWCEoAAAAAYIVZ74AitGHDBnuXAAAAgHzgihIAAAAAWCEoAQAAAIAVgpKkUj7xH1Ck+HkCAAClwR0dlJycnCRJly5dsnMlQOmR/fOU/fMFAABQEt3Rkzk4ODiobNmySklJkSS5u7vLZDLZuSqgZDIMQ5cuXVJKSorKli2b7y84BgAAKI7u6KAkSYGBgZJkDksAbk/ZsmXNP1cAAAAl1R0flEwmk4KCguTv76+rV6/auxygRHNycuJKEgAAKBXu+KCUzcHBgT/wAAAAAEi6wydzAAAAAIDcEJQAAAAAwApBCQAAAACsEJQAAAAAwApBCQAAAACs2DUohYWFyWQy5Xg8//zzkv75AsvY2FgFBwfLzc1NUVFR2r9/vz1LBgAAAHAHsGtQSkhI0OnTp82P1atXS5Iee+wxSdKUKVM0depUzZw5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5v0GBAQY6enp5nU++OADo1y5csaFCxfMbd98841RpkwZIzk5OddzHTVqlFGjRg2LY40YMcKQZJw7d84wDMPo1auX8eyzz1ps98MPPxhlypQxLl++nOt+GzdubPTs2TPXZb/88oshydi8ebO57a+//jLc3NyML774wjAMw5g3b54hyfj111/N6wwYMMBwd3c3zp8/b25r06aNMWDAAPPz0NBQo23bthbHe/zxx4127drlWothGMYXX3xh+Pn5WazfoUMHi3V69uxp+Pj4mJ+PGTPGcHd3N9LS0sxtr7zyitGoUSPz88jISOOll14yDMMwfv31V8NkMhm///67xX5btmxpjBo1Ks/aAKA044oSAJRgkydP1vz583XgwIFb3ketWrVUpsz//ToICAhQnTp1zM8dHBzk5+enlJQUSdLOnTv166+/ysvLS56envL09JSvr6+uXLmiI0eOmLerU6eOxX1JBw8eVL169eTh4WFua9q0qbKysnTo0KFcazt48KDuv/9+i0kqGjdubLHOzp07FR8fb67F09NTbdq0UVZWlpKSknLdb2Jiolq2bJnnMR0dHdWoUSNzm5+fn6pVq6aDBw+a29zd3XX33XdbvG5hYWEWs/8FBASYX7e86m/cuLHFftevX69WrVqpYsWK8vLyUu/evXXmzBnzUMJDhw7pvvvus9iH9XPpn2F+Xl5e5udBQUE5asm2a9cuGYahqlWrWryOGzdutHhPAeBOwmQOAFCCNW/eXG3atNG///1v9e3b12JZmTJlZBiGRdv1Q8eyOTk5WTw3mUy5tmVlZUmSsrKydO+99+rzzz/Psa8KFSqY/319IJIkwzDynJUvr3br+nOTlZWlAQMG6MUXX8yxrFKlSrlu4+bmluf+8jqmdf22vm43kr3fY8eOqX379ho4cKDGjRsnX19fbdq0SU899ZT5vcvtdcytZltqycrKkoODg3bu3CkHBweLZUU17TsAFDcEJQAo4SZNmqT69eubJ0zIVqFCBSUnJ1v8YZ2YmHjbx7vnnnu0ePFi+fv7y9vbO9/b1axZU/Pnz9fFixfNIWrz5s0qU6ZMjtqv32bp0qUWbdu2bctRz/79+1WlSpV811K3bl2tXbtW/fr1y/WY165d0/bt29WkSRNJ0pkzZ/TLL7+oRo0a+T5GXqzr37Ztm6pXry5J+vHHH3Xt2jW9/fbb5qt8X3zxhcX61atX144dOyzafvzxx9uqqUGDBsrMzFRKSoqaNWt2W/sCgNKCoXcAUMLVqVNHPXv2zDF7WlRUlP78809NmTJFR44c0XvvvaeVK1fe9vF69uyp8uXL6+GHH9YPP/ygpKQkbdy4US+99NINJ5bo2bOnXF1d1adPH/30009av369XnjhBfXq1UsBAQG5bjNw4EAdOXJEQ4YM0aFDh7RgwQLFx8dbrDNixAht3bpVzz//vBITE3X48GEtW7ZML7zwQp61jBkzRgsXLtSYMWN08OBB7du3T1OmTJEkRURE6OGHH9YzzzyjTZs2ac+ePXryySdVsWJFPfzww7a/YFY2b96sKVOm6JdfftF7772nL7/8Ui+99JIk6e6779a1a9f07rvv6rffftOnn36qOXPmWGz/wgsvaMWKFZo6daoOHz6s999/XytXrryt79CqWrWqevbsqd69e2vJkiVKSkpSQkKCJk+erBUrVtzW+QJASUVQAoBSYNy4cTmGX9WoUUOzZs3Se++9p3r16mnHjh0aNmzYbR/L3d1d33//vSpVqqQuXbqoRo0a6t+/vy5fvnzDK0zu7u769ttvdfbsWf3rX//So48+qpYtW2rmzJl5blOpUiV99dVX+t///qd69eppzpw5iouLs1inbt262rhxow4fPqxmzZqpQYMGeu211xQUFJTnfqOiovTll19q2bJlql+/vlq0aKHt27ebl8+bN0/33nuvOnbsqMaNG8swDK1YsSLHcLZbMXToUO3cuVMNGjTQuHHj9Pbbb6tNmzaSpPr162vq1KmaPHmyateurc8//zzHFPBNmzbVnDlzNHXqVNWrV0+rVq3Syy+/LFdX19uqa968eerdu7eGDh2qatWq6aGHHtL27dsVEhJyW/sFgJLKZORnADgAALhtYWFhiomJsfj+ooLwzDPP6Oeff9YPP/xQoPsFgDsZ9ygBAFDCvPXWW2rVqpU8PDy0cuVKzZ8/X7NmzbJ3WQBQqhCUAAAoYXbs2KEpU6bo/Pnzqly5smbMmKGnn37a3mUBQKnC0DsAAAAAsMJkDgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABg5f8BhTVk1PFx0PUAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -4874,47 +3991,16 @@ } ], "source": [ - "# Création du barplot groupé\n", - "fig, ax = plt.subplots(figsize=(10, 6))\n", - "\n", - "categories = df_graph[\"number_company\"].unique()\n", - "bar_width = 0.35\n", - "bar_positions = np.arange(len(categories))\n", - "\n", - "# Grouper les données par label et créer les barres groupées\n", - "for label in df_graph[\"y_has_purchased\"].unique():\n", - " label_data = df_graph[df_graph['y_has_purchased'] == label]\n", - " values = [label_data[label_data['number_company'] == category]['opt_in'].values[0]*100 for category in categories]\n", - "\n", - " label_printed = \"achat durant la période\" if label else \"aucun achat\"\n", - " ax.bar(bar_positions, values, bar_width, label=label_printed)\n", - "\n", - " # Mise à jour des positions des barres pour le prochain groupe\n", - " bar_positions = [pos + bar_width for pos in bar_positions]\n", - "\n", - "# Ajout des étiquettes, de la légende, etc.\n", - "ax.set_xlabel('Numero de compagnie')\n", - "ax.set_ylabel('Part de consentement (%)')\n", - "ax.set_title('Part de consentement au mailing selon les compagnies (train set)')\n", - "ax.set_xticks([pos + bar_width / 2 for pos in np.arange(len(categories))])\n", - "ax.set_xticklabels(categories)\n", - "ax.legend()\n", - "\n", - "# Affichage du plot\n", - "plt.show()" + "# with the generic function\n", + "multiple_barplot(df_graph, x=\"number_company\", y=\"opt_in\", var_labels=\"y_has_purchased\",\n", + " dico_labels = {0 : \"aucun achat\", 1 : \"achat durant la période\"},\n", + " xlabel = \"Numéro de compagnie\", ylabel = \"Part de consentement (%)\", \n", + " title = \"Part de consentement au mailing selon les compagnies (train set)\")" ] }, { "cell_type": "code", - "execution_count": null, - "id": "43deeeb5-8092-42fc-b80b-59d2c58093de", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 124, + "execution_count": 79, "id": "32960530-cb46-4eeb-a6d2-1dcf5fb640d8", "metadata": {}, "outputs": [ @@ -4994,7 +4080,7 @@ "4 14 0.331954 0.316181 0.351865" ] }, - "execution_count": 124, + "execution_count": 79, "metadata": {}, "output_type": "execute_result" } @@ -5008,7 +4094,7 @@ }, { "cell_type": "code", - "execution_count": 126, + "execution_count": 80, "id": "1b4a49d7-7bfe-4e80-aa7e-c9c6d4bc46e2", "metadata": {}, "outputs": [ @@ -5042,7 +4128,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 82, "id": "c7348c95-e506-4002-90d9-d3b6768af985", "metadata": {}, "outputs": [ @@ -5083,7 +4169,7 @@ " 0.171838\n", " 0.333929\n", " 0.494232\n", - " 0.660243\n", + " 66.024263\n", " \n", " \n", " 1\n", @@ -5092,7 +4178,7 @@ " 0.312165\n", " 0.683363\n", " 0.004472\n", - " 0.686433\n", + " 68.643306\n", " \n", " \n", " 2\n", @@ -5101,7 +4187,7 @@ " 0.151162\n", " 0.273204\n", " 0.575635\n", - " 0.643794\n", + " 64.379376\n", " \n", " \n", " 3\n", @@ -5110,7 +4196,7 @@ " 0.328477\n", " 0.597641\n", " 0.073881\n", - " 0.645318\n", + " 64.531835\n", " \n", " \n", " 4\n", @@ -5119,7 +4205,7 @@ " 0.334546\n", " 0.433672\n", " 0.231782\n", - " 0.564517\n", + " 56.451654\n", " \n", " \n", " 5\n", @@ -5128,7 +4214,7 @@ " 0.366020\n", " 0.506659\n", " 0.127321\n", - " 0.580579\n", + " 58.057873\n", " \n", " \n", " 6\n", @@ -5137,7 +4223,7 @@ " 0.314243\n", " 0.503242\n", " 0.182515\n", - " 0.615598\n", + " 61.559817\n", " \n", " \n", " 7\n", @@ -5146,7 +4232,7 @@ " 0.351721\n", " 0.504910\n", " 0.143369\n", - " 0.589414\n", + " 58.941356\n", " \n", " \n", " 8\n", @@ -5155,7 +4241,7 @@ " 0.317971\n", " 0.296388\n", " 0.385641\n", - " 0.482434\n", + " 48.243443\n", " \n", " \n", " 9\n", @@ -5164,7 +4250,7 @@ " 0.451289\n", " 0.485106\n", " 0.063605\n", - " 0.518057\n", + " 51.805692\n", " \n", " \n", "\n", @@ -5184,38 +4270,38 @@ "9 14 1.0 0.451289 0.485106 0.063605 \n", "\n", " share_of_women \n", - "0 0.660243 \n", - "1 0.686433 \n", - "2 0.643794 \n", - "3 0.645318 \n", - "4 0.564517 \n", - "5 0.580579 \n", - "6 0.615598 \n", - "7 0.589414 \n", - "8 0.482434 \n", - "9 0.518057 " + "0 66.024263 \n", + "1 68.643306 \n", + "2 64.379376 \n", + "3 64.531835 \n", + "4 56.451654 \n", + "5 58.057873 \n", + "6 61.559817 \n", + "7 58.941356 \n", + "8 48.243443 \n", + "9 51.805692 " ] }, - "execution_count": 58, + "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "company_genders = train_set_spectacle.groupby([\"number_company\", \"y_has_purchased\"])[[\"gender_male\", \"gender_female\", \"gender_other\"]].mean().reset_index()\n", - "company_genders[\"share_of_women\"] = company_genders[\"gender_female\"]/(1-company_genders[\"gender_other\"])\n", + "company_genders[\"share_of_women\"] = 100 * (company_genders[\"gender_female\"]/(1-company_genders[\"gender_other\"]))\n", "company_genders" ] }, { "cell_type": "code", - "execution_count": 59, - "id": "799db5a6-24e3-43e9-a5ff-c8a7168a2897", + "execution_count": 84, + "id": "b36e5a8f-45dc-4b74-8137-80b7e916aa84", "metadata": {}, "outputs": [ { "data": { - "image/png": "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08cff3ze+SVBuXLl7FcfnnnmmQKXyfsD0NPTU3379lXfvn31zz//6LvvvtN//vMftWnTRnv27JG/v3+B619sPVdqKKj+MmXKaN++ffnm5f1PcVGd67zt/ve//73oSIeVK1fWpEmTJP37P+dffvmlkpKSlJ2drQkTJhS4Tt6obX/88cd5t+uO4y9oQJTMzEx5e3vbr2pNmzZN3bp1U3JyssNyf//9t8qWLWufDgsLs//xdrF9XKri6ONhYWHnPS/nynsvxo4dax/wxup8IdHV+jIzM1WxYkX79NmzZ3XgwAH7H+HO9l9n+uGFLF68WH/++aeWLl1qv4okKd8w4pe6n8s9p3nrHzx40KX9SgX/rpo2bZqaN2+u8ePHO7Sfb2CPwnSxzxlXPrMuJu98lZTfZbhyEJQAi7wvovXw8LC3nTx5Up9++qlL27nY/xyfq0WLFvryyy81e/Zsh9sYpk+f7rBc9erVFR8fr40bN+b7o+5ydOjQQcnJyQoLCzvvH/klgb+/v1q0aKENGzYoISHBfnXhYsqWLat7771Xe/fuVZ8+fbRr1658t0+5st6l1CBJAQEBatSokVJSUvTmm2/Kz89P0r+jg02bNk3XXHPNZd/GeT5t2rSRp6endu7ced5bcApSrVo1vfrqq5o5c6bWr19/weWqVq2qjz/+WH379rX/r/K53HH8KSkpeuONN+z/6XH06FF98803atasmf1n3Gaz5at37ty52rt3r6699lp7W2Jiot588039/PPPDv1nxowZhVZvcfTxFi1aaNSoUdq4caPD7XfWz5ubbrpJZcuW1c8//6xnn3320g/Kifo+++wzh9txv/zyS509e9Y+Wqiz/deZfiid/6pHXpiwrmcdWtrZ/Vhd7jnNu/V0586d+ea58jsnT0F9f9OmTVq5cqViYmJcru9SFfQ548pn1rnvZ97nyrl+++03SXLqcx84F0EJsGjfvr1Gjx6tLl266Mknn9SBAwf05ptvOv2LME+dOnW0dOlSffPNN4qKilJQUNB5r/Z069ZNb7/9trp166Zhw4YpPj5e8+bN04IFC/It+8EHH6hdu3Zq06aNevTooYoVK+rgwYPaunWr1q9fr6+++srlY+7Tp49mzpypW265RS+88IISEhKUm5ur3bt3a+HCherXr58aNWrk8naLwjvvvKObb75ZzZo109NPP63Y2FgdPXpUO3bs0DfffKPFixdLkjp27KjatWurQYMGqlChgn7//XeNGTNGlStXVnx8/Hm378x6ztZQkOHDh6tVq1Zq0aKF+vfvL29vb73//vv66aef9PnnnxfKFcqCxMbG6vXXX9crr7yi3377TW3btlW5cuX0119/ac2aNQoICNDgwYO1adMmPfvss7rvvvsUHx8vb29vLV68WJs2bdLLL798wX2899576tixoxo3bqwXXnhBlSpV0u7du7VgwQJ99tlnbjl+Dw8PtWrVSn379lVubq5GjhypI0eOOHw5ZYcOHTRlyhRdd911SkhI0Lp16/TGG2/ku62qT58++vjjj9WuXTu9/vrrioiI0PTp0/XLL79Icu1WoAsp6j6edxzt27fX0KFDFRERoc8++8x+HHkCAwM1duxYde/eXQcPHtS9996r8PBw7d+/Xxs3btT+/fvzXYk4lyv1paSkyNPTU61atdKWLVv02muvqW7duurcubMk5/uv5Fw/rFOnjv1cd+/eXV5eXqpevbqaNm2qcuXKqWfPnho0aJC8vLz02WefaePGjfmOz5n9WF3uOb3mmmtUpUoVrVq1Sr1793aYV6dOHc2YMUNffPGFqlSpIl9fX/txnk+HDh00ZMgQDRo0SImJidq2bZtef/11xcXFufw9S65w5nPGlfc87zhHjhypdu3aycPDw+E/GlatWmW/9RNwibtHkwCK0/mGB7f6+OOPTfXq1Y2Pj4+pUqWKGT58uJk0aVK+UZIKGkEuT3p6urnpppuMv7+/kVTgaETn+uOPP8w999xjAgMDTVBQkLnnnnvMihUrChz2e+PGjaZz584mPDzceHl5mcjISHPrrbeaCRMmXPQcnK/mY8eOmVdffdVUr17deHt724cnfuGFFxxGA5RknnnmGYd180bueuONNxza80Zb+uqrr+xtiYmJplatWk7Xdb79Pfroo6ZixYrGy8vLVKhQwTRt2tQMHTrUvsxbb71lmjZtasqXL2+8vb1NpUqVzGOPPWZ27dp1wfPj7HrO1FDQiGbGGLNs2TJz6623moCAAOPn52caN25svvnmG4dlztdX887pxYbqLmh4cGP+HaGwRYsWJjg42Pj4+JjKlSube++91z4s8V9//WV69OhhrrvuOhMQEGACAwNNQkKCefvtt83Zs2cvuE9jjFm5cqVp166dCQkJMT4+PqZq1ar5RjS7nOPPO679+/c7tHfv3t0EBATYp/PO/ciRI83gwYPNNddcY7y9vU39+vXNggULHNY9dOiQeeyxx0x4eLjx9/c3N998s1m2bJlJTEzM93P7008/mdtuu834+vqa0NBQ89hjj5mpU6fmGxHtfP28e/fupnLlyvnqtPaRouzjxhjz888/m1atWjkcx//+978C+1ZaWppp3769CQ0NNV5eXqZixYqmffv2Dj/XBXGmvrz3c926daZjx472z78HH3zQ/PXXX/m2ebH+m8eZfjhw4EATHR1typQp43DcK1asME2aNDH+/v6mQoUK5vHHHzfr168v8H262H4KGh78cs6pMca89tprply5cg7DXxtjzK5du0zr1q1NUFCQfch1Ywr+HM5z+vRp079/f1OxYkXj6+trrr/+ejNr1qx8/dSY8496dymfUa58zjjznp8+fdo8/vjjpkKFCsZms+U7582aNcs30iDgDJsxfPsWAKB02bVrl+Li4vTGG2+cd+CTwvLkk0/q888/14EDB1y6FRP/fvnr4MGDtX//fp4fcdKff/6puLg4ffLJJ7r//vvdXU6Jt3PnTsXHx2vBggVq1aqVu8vBFYZb7wAAcNLrr7+u6OhoValSRceOHdOcOXP00Ucf6dVXXyUkoVhER0erT58+GjZsmO67775Cu+WztBo6dKhatmxJSMIlISgBAOAkLy8vvfHGG/rjjz909uxZxcfHa/To0Xr++efdXRquIq+++qr8/f21d+/eYh104Upz9uxZVa1aVQMHDnR3KbhCcesdAAAAAFhwvRYAAAAALAhKAAAAAGBBUAIAAAAAi1I/mENubq7+/PNPBQUFFdkXOQIAAAAo+YwxOnr0qKKjoy86amSpD0p//vknI8IAAAAAsNuzZ4+uueaaCy5T6oNSUFCQpH9PRnBwsJurAQAAAOAuR44cUUxMjD0jXEipD0p5t9sFBwcTlAAAAAA49UgOgzkAAAAAgAVBCQAAAAAsCEoAAAAAYFHqn1ECAAAo6YwxOnv2rHJyctxdCnBF8/DwkKenZ6F8LRBBCQAAwI2ys7O1b98+nThxwt2lAKWCv7+/oqKi5O3tfVnbISgBAAC4SW5urjIyMuTh4aHo6Gh5e3sXyv+EA1cjY4yys7O1f/9+ZWRkKD4+/qJfKnshbg1KsbGx+v333/O19+rVS++9956MMRo8eLAmTpyoQ4cOqVGjRnrvvfdUq1YtN1QLAABQuLKzs5Wbm6uYmBj5+/u7uxzgiufn5ycvLy/9/vvvys7Olq+v7yVvy62DOaxdu1b79u2zv1JTUyVJ9913nyRp1KhRGj16tMaNG6e1a9cqMjJSrVq10tGjR91ZNgAAQKG6nP/1BuCosH6e3PpTWaFCBUVGRtpfc+bMUdWqVZWYmChjjMaMGaNXXnlFnTp1Uu3atTV16lSdOHFC06dPd2fZAAAAAEq5EvPfF9nZ2Zo2bZoeffRR2Ww2ZWRkKDMzU61bt7Yv4+Pjo8TERK1YseK82zl9+rSOHDni8AIAAAAAV5SYwRxmzZqlf/75Rz169JAkZWZmSpIiIiIclouIiCjwuaY8w4cP1+DBg4usTgAAgOIQ+/LcYt3frhHti3V/V7IePXron3/+0axZs9xdCopQibmiNGnSJLVr107R0dEO7daRX4wxFxwNZuDAgTp8+LD9tWfPniKpFwAAALhUS5culc1m0z///OPuUnAeJeKK0u+//67vvvtOKSkp9rbIyEhJ/15ZioqKsrdnZWXlu8p0Lh8fH/n4+BRdsQAAAABKvRJxRWny5MkKDw9X+/b/d8k3Li5OkZGR9pHwpH+fY0pLS1PTpk3dUSYAAAD+f/Pnz9fNN9+ssmXLKiwsTB06dNDOnTvt8wu6YpKeni6bzaZdu3bZ23744QclJibK399f5cqVU5s2bXTo0CFJ/36VzJgxYxz2W69ePSUlJdmnbTabPvroI919993y9/dXfHy8Zs+efcHap02bpgYNGigoKEiRkZHq0qWLsrKyHJbZsmWL2rdvr+DgYAUFBalZs2YOxydJb775pqKiohQWFqZnnnlGZ86ccWofu3btUosWLSRJ5cqVk81msz9+gpLD7UEpNzdXkydPVvfu3eXp+X8XuGw2m/r06aPk5GR9/fXX+umnn9SjRw/5+/urS5cubqwYAAAAx48fV9++fbV27VotWrRIZcqU0d13363c3Fynt5Genq6WLVuqVq1aWrlypZYvX66OHTsqJyfHpVoGDx6szp07a9OmTbr99tvVtWtXHTx48LzLZ2dna8iQIdq4caNmzZqljIwMh6Cyd+9e3XLLLfL19dXixYu1bt06Pfroozp79qx9mSVLlmjnzp1asmSJpk6dqilTpmjKlClO7SMmJkYzZ86UJG3btk379u3TO++849Ixo+i5/da77777Trt379ajjz6ab96AAQN08uRJ9erVy/6FswsXLlRQUJAbKgUAAECee+65x2F60qRJCg8P188//6zatWs7tY1Ro0apQYMGev/99+1ttWrVcrmWHj166MEHH5QkJScna+zYsVqzZo3atm1b4PLn/t1ZpUoVvfvuu2rYsKGOHTumwMBAvffeewoJCdGMGTPk5eUlSapWrZrDNsqVK6dx48bJw8ND1113ndq3b69FixbpiSeecGofoaGhkqTw8HCVLVvW5WNG0XP7FaXWrVvLGJOv80n/XlVKSkrSvn37dOrUKaWlpTn9gwcAAICis3PnTnXp0kVVqlRRcHCw4uLiJEm7d+92eht5V5QuV0JCgv3fAQEBCgoKyncr3bk2bNigO++8U5UrV1ZQUJCaN28u6f9qT09PV7NmzewhqSC1atWSh4eHfToqKsphnxfbB0o+twclAAAAXHk6duyoAwcO6MMPP9Tq1au1evVqSf/eciZJZcr8+2emMca+zrnP8EiSn5/fBfdRpkwZh/UL2oakfIHGZrOd9xbA48ePq3Xr1goMDNS0adO0du1aff311w61X6yui+3TmX2g5CMoAQAAwCUHDhzQ1q1b9eqrr6ply5aqUaOGfQCGPBUqVJAk7du3z96Wnp7usExCQoIWLVp03v1UqFDBYf0jR44oIyPjsmr/5Zdf9Pfff2vEiBFq1qyZrrvuunxXnxISErRs2bICQ1lh7cPb21uSXH4eC8XH7c8ooRRICnF3BYUr6bC7KwAAoEQrV66cwsLCNHHiREVFRWn37t16+eWXHZa59tprFRMTo6SkJA0dOlTbt2/XW2+95bDMwIEDVadOHfXq1Us9e/aUt7e3lixZovvuu0/ly5fXrbfeqilTpqhjx44qV66cXnvtNYfb3S5FpUqV5O3trbFjx6pnz5766aefNGTIEIdlnn32WY0dO1YPPPCABg4cqJCQEK1atUoNGzZU9erVC2UflStXls1m05w5c3T77bfLz89PgYGBl3VsKFwEJQAAgBJo14j2F1/ITcqUKaMZM2aod+/eql27tqpXr653333X/hyO9O+taZ9//rmefvpp1a1bVzfeeKOGDh2q++67z75MtWrVtHDhQv3nP/9Rw4YN5efnp0aNGtkHZhg4cKB+++03dejQQSEhIRoyZMhlX1GqUKGCpkyZov/85z969913df311+vNN9/UHXfcYV8mLCxMixcv1osvvqjExER5eHioXr16uummmwptHxUrVtTgwYP18ssv65FHHlG3bt0cRs2D+9mM9cbPUubIkSMKCQnR4cOHFRwc7O5ySieuKAEAcElOnTqljIwMxcXFydfX193lAKXChX6uXMkGPKMEAAAAABYEJQAAAACwICgBAAAAgAVBCQAAAAAsCEoAAAAAYEFQAgAAAAALghIAAAAAWBCUAAAAAMCCoAQAAADgvLKzs5WcnKytW7e6u5RiRVACAABAsUtKSlK9evXctv+lS5fKZrPpn3/+cVsNl6JHjx666667inWf/fv31+bNm3XddddddNnCqK+kvDeebt07AAAACpYUUsz7O1y8+ysEu3btUlxcnDZs2ODW0FUYkpKSNGvWLKWnp7u7FAczZ87UTz/9pPnz58tms110+XfeeUfGmGKorOhxRQkAAAC4BNnZ2e4uocjdc889Wrx4sby9vS+4XE5OjnJzcxUSEqKyZcsWT3FFjKAEAAAAl82fP18333yzypYtq7CwMHXo0EE7d+50WOaPP/7QAw88oNDQUAUEBKhBgwZavXq1wzKffvqpYmNjFRISogceeEBHjx51eh9xcXGSpPr168tms6l58+bnrXfevHmqVq2a/Pz81KJFC+3atcthfkG3Ao4ZM0axsbH26bzbyoYPH67o6GhVq1ZNkjRt2jQ1aNBAQUFBioyMVJcuXZSVlWVfL+9WskWLFqlBgwby9/dX06ZNtW3bNknSlClTNHjwYG3cuFE2m002m01Tpkw577Gcy5n3wap58+Z69tln9eyzz9rXe/XVVx2uBGVnZ2vAgAGqWLGiAgIC1KhRIy1dutQ+f8qUKSpbtqzmzJmjmjVrysfHR7///nu+W+9Onz6t3r17Kzw8XL6+vrr55pu1du1ah3ou9t5I0ooVK3TLLbfIz89PMTEx6t27t44fP+7UObpUBCUAAAC47Pjx4+rbt6/Wrl2rRYsWqUyZMrr77ruVm5srSTp27JgSExP1559/avbs2dq4caMGDBhgny9JO3fu1KxZszRnzhzNmTNHaWlpGjFihNP7WLNmjSTpu+++0759+5SSklJgrXv27FGnTp10++23Kz09XY8//rhefvnlSzruRYsWaevWrUpNTdWcOXMk/RsqhgwZoo0bN2rWrFnKyMhQ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ITg569ixY+ratas+/PBDlStXzt5ujNGYMWP0yiuvqFOnTqpdu7amTp2qEydOaPr06S7vBwAAAACc5XJQuvHGGzV37lz7dF44+vDDD9WkSROXC3jmmWfUvn173XbbbQ7tGRkZyszMtH9PkyT5+PgoMTFRK1asOO/2Tp8+rSNHjji8AAAAAMAVLo96N3z4cLVt21Y///yzzp49q3feeUdbtmzRypUrlZaW5tK2ZsyYofXr12vt2rX55mVmZkqSIiIiHNojIiL0+++/X7C+wYMHu1QHAAAAAJzL5StKTZs21Q8//KATJ06oatWqWrhwoSIiIrRy5UrdcMMNTm9nz549ev755zVt2jSHQSGsrLfzGWMueIvfwIEDdfjwYftrz549TtcEAAAAANIlfo9SnTp1NHXq1Mva8bp165SVleUQrnJycvT9999r3Lhx2rZtm6R/ryxFRUXZl8nKysp3lelcPj4+8vHxuazaAAAAAFzdLikoSf8GlqysLOXm5jq0W0euO5+WLVtq8+bNDm2PPPKIrrvuOr300kuqUqWKIiMjlZqaqvr160uSsrOzlZaWppEjR15q2QAAAABwUS4HpXXr1ql79+7aunWrjDEO82w2m3JycpzaTlBQkGrXru3QFhAQoLCwMHt7nz59lJycrPj4eMXHxys5OVn+/v7q0qWLq2UDAAAAgNNcDkqPPPKIqlWrpkmTJikiIuKShgR31oABA3Ty5En16tVLhw4dUqNGjbRw4UIFBQUV2T4BAAAAwOWglJGRoZSUFF177bWFXszSpUsdpm02m5KSkpSUlFTo+wIAAACA83F51LuWLVtq48aNRVELAAAAAJQILl9R+uijj9S9e3f99NNPql27try8vBzm33HHHYVWHAAAAAC4g8tBacWKFVq+fLm+/fbbfPNcGcwBAAAAAEoql2+96927tx5++GHt27dPubm5Di9CEgAAAIDSwOWgdODAAb3wwgsX/NJXAAAAALiSuRyUOnXqpCVLlhRFLQAAAABQIrj8jFK1atU0cOBALV++XHXq1Mk3mEPv3r0LrTgAAAAAcIdLGvUuMDBQaWlpSktLc5hns9kISgAAAACueJf0hbMAAAAAUJq5/IwSAAAAAJR2Ll9RMsbov//9r5YsWaKsrCzl5uY6zE9JSSm04gAAAADAHVwOSs8//7wmTpyoFi1aKCIiQjabrSjqAgAAAAC3cTkoTZs2TSkpKbr99tuLoh4AAAAAcDuXn1EKCQlRlSpViqIWAAAAACgRXA5KSUlJGjx4sE6ePFkU9QAAAACA27l86919992nzz//XOHh4YqNjc33hbPr168vtOIAAAAAwB1cDko9evTQunXr9NBDDzGYAwAAAIBSyeWgNHfuXC1YsEA333xzUdQDAAAAAG7n8jNKMTExCg4OLopaAAAAAKBEcDkovfXWWxowYIB27dpVBOUAAAAAgPu5fOvdQw89pBMnTqhq1ary9/fPN5jDwYMHC604AAAAAHAHl4PSmDFjiqAMAAAAACg5XA5K3bt3L4o6AAAAAKDEcPkZJUnauXOnXn31VT344IPKysqSJM2fP19btmwp1OIAAAAAwB1cDkppaWmqU6eOVq9erZSUFB07dkyStGnTJg0aNKjQCwQAAACA4uZyUHr55Zc1dOhQpaamytvb297eokULrVy5slCLAwAAAAB3cDkobd68WXfffXe+9goVKujAgQOFUhQAAAAAuJPLQals2bLat29fvvYNGzaoYsWKhVIUAAAAALiTy0GpS5cueumll5SZmSmbzabc3Fz98MMP6t+/v7p161YUNQIAAABAsXI5KA0bNkyVKlVSxYoVdezYMdWsWVO33HKLmjZtqldffbUoagQAAACAYuXU9ygdOXJEwcHBkiQvLy999tlnGjJkiNavX6/c3FzVr19f8fHxRVooAAAAABQXp4JSuXLltG/fPoWHh+vWW29VSkqKqlSpoipVqhR1fQAAAABQ7Jy69S4wMNA+ot3SpUt15syZIi0KAAAAANzJqStKt912m1q0aKEaNWpIku6++26H71A61+LFiwuvOgAAAABwA6eC0rRp0zR16lTt3LlTaWlpqlWrlvz9/Yu6NgAAAABwC6eCkp+fn3r27ClJ+vHHHzVy5EiVLVu2KOsCAAAAALdxKiida8mSJUVRBwAAAACUGC5/jxIAAAAAlHYEJQAAAACwICgBAAAAgAVBCQAAAAAsLikoLVu2TA899JCaNGmivXv3SpI+/fRTLV++vFCLAwAAAAB3cDkozZw5U23atJGfn582bNig06dPS5KOHj2q5OTkQi8QAAAAAIqby0Fp6NChmjBhgj788EN5eXnZ25s2bar169cXanEAAAAA4A4uB6Vt27bplltuydceHBysf/75pzBqAgAAAAC3cjkoRUVFaceOHfnaly9fripVqhRKUQAAAADgTi4HpaeeekrPP/+8Vq9eLZvNpj///FOfffaZ+vfvr169ehVFjQAAAABQrDxdXWHAgAE6fPiwWrRooVOnTumWW26Rj4+P+vfvr2effbYoagQAAACAYuVyUJKkYcOG6ZVXXtHPP/+s3Nxc1axZU4GBgYVdGwAAAAC4xSUFJUny9/dXgwYNCrMWAAAAACgRnApKnTp1cnqDKSkpl1wMAAAAAJQETg3mEBISYn8FBwdr0aJF+vHHH+3z161bp0WLFikkJKTICgUAAACA4uLUFaXJkyfb//3SSy+pc+fOmjBhgjw8PCRJOTk56tWrl4KDg4umSgAAAAAoRi4PD/7xxx+rf//+9pAkSR4eHurbt68+/vjjQi0OAAAAANzB5aB09uxZbd26NV/71q1blZub69K2xo8fr4SEBAUHBys4OFhNmjTRt99+a59vjFFSUpKio6Pl5+en5s2ba8uWLa6WDAAAAAAucXnUu0ceeUSPPvqoduzYocaNG0uSVq1apREjRuiRRx5xaVvXXHONRowYoWuvvVaSNHXqVN15553asGGDatWqpVGjRmn06NGaMmWKqlWrpqFDh6pVq1batm2bgoKCXC0dAAAAAJziclB68803FRkZqbffflv79u2TJEVFRWnAgAHq16+fS9vq2LGjw/SwYcM0fvx4rVq1SjVr1tSYMWP0yiuv2Efdmzp1qiIiIjR9+nQ99dRTBW7z9OnTOn36tH36yJEjLtUEAAAAAC7felemTBkNGDBAe/fu1T///KN//vlHe/fu1YABAxyeW3JVTk6OZsyYoePHj6tJkybKyMhQZmamWrdubV/Gx8dHiYmJWrFixXm3M3z4cIdR+mJiYi65JgAAAABXJ5eD0rnyni26HJs3b1ZgYKB8fHzUs2dPff3116pZs6YyMzMlSREREQ7LR0RE2OcVZODAgTp8+LD9tWfPnsuqDwAAAMDVx+Vb7wpb9erVlZ6ern/++UczZ85U9+7dlZaWZp9vs9kcljfG5Gs7l4+Pj3x8fIqsXgAAAACl32VdUSoM3t7euvbaa9WgQQMNHz5cdevW1TvvvKPIyEhJynf1KCsrK99VJgAAAAAoTG4PSlbGGJ0+fVpxcXGKjIxUamqqfV52drbS0tLUtGlTN1YIAAAAoLRzOSh98sknDqPK5cnOztYnn3zi0rb+85//aNmyZdq1a5c2b96sV155RUuXLlXXrl1ls9nUp08fJScn6+uvv9ZPP/2kHj16yN/fX126dHG1bAAAAABw2iV9j1Lbtm0VHh7u0H706FE98sgj6tatm9Pb+uuvv/Twww9r3759CgkJUUJCgubPn69WrVpJkgYMGKCTJ0+qV69eOnTokBo1aqSFCxfyHUoAAAAAipTLQel8gyn88ccfCgkJcWlbkyZNuuB8m82mpKQkJSUlubRdAAAAALgcTgel+vXry2azyWazqWXLlvL0/L9Vc3JylJGRobZt2xZJkQAAAABQnJwOSnfddZckKT09XW3atFFgYKB9nre3t2JjY3XPPfcUeoEAAAAAUNycDkqDBg1STk6OKleurDZt2igqKqoo6wIAAAAAt3Fp1DsPDw/17NlTp06dKqp6AAAAAMDtXB4evE6dOvrtt9+KohYAAAAAKBFcDkrDhg1T//79NWfOHO3bt09HjhxxeAEAAADAlc7l4cHzRra74447HIYJzxs2PCcnp/CqAwAAAAA3cDkoLVmypCjqAAAAAIASw+WglJiYWBR1AAAAAECJ4XJQynPixAnt3r1b2dnZDu0JCQmXXRQAAAAAuJPLQWn//v165JFH9O233xY4n2eUAAAAAFzpXB71rk+fPjp06JBWrVolPz8/zZ8/X1OnTlV8fLxmz55dFDUCAAAAQLFy+YrS4sWL9b///U833nijypQpo8qVK6tVq1YKDg7W8OHD1b59+6KoEwAAAACKjctXlI4fP67w8HBJUmhoqPbv3y/p3y+iXb9+feFWBwAAAABu4HJQql69urZt2yZJqlevnj744APt3btXEyZMUFRUVKEXCAAAAADFzeVb7/r06aM///xTkjRo0CC1adNGn332mby9vTVlypTCrg8AAAAAip3LQalr1672f9evX1+7du3SL7/8okqVKql8+fKFWhwAAAAAuIPTt96dOHFCzzzzjCpWrKjw8HB16dJFf//9t/z9/XX99dcTkgAAAACUGk4HpUGDBmnKlClq3769HnjgAaWmpurpp58uytoAAAAAwC2cvvUuJSVFkyZN0gMPPCBJeuihh3TTTTcpJydHHh4eRVYgAAAAABQ3p68o7dmzR82aNbNPN2zYUJ6envaBHQAAAACgtHA6KOXk5Mjb29uhzdPTU2fPni30ogAA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l7Heepedna0BAwaoYsWKCggIUKNGjbR06dILnkMAKM0ISgBwBfLw8FBycrLGjh2rP/7447K2tXjxYv3555/6/vvvNXr0aCUlJalDhw4qV66cVq9erZ49e6pnz57as2ePJOnEiRNq0aKFAgMD9f3332v58uUKDAxU27ZtHa4cLVq0SFu3blVqaqrmzJmjEydOqG3btipXrpzWrl2rr776St99952effbZ89a2Z88ederUSbfffrvS09P1+OOP6+WXX3ZYZvPmzWrTpo06deqkTZs26YsvvtDy5csvuN25c+eqU6dOat++vTZs2KBFixapQYMG9vk9evTQjz/+qNmzZ2vlypUyxuj222/XmTNn7MucOHFC7777rmbMmKH58+dr6dKl6tSpk+bNm6d58+bp008/1cSJE/Xf//7XYd9vvPGGEhIStH79eg0cOFAvvPCCUlNT7fPLlCmjd999Vz/99JOmTp2qxYsXa8CAAfb5P/zwg3r27Knnn39e6enpatWqlYYNG5bvGHfu3KlZs2Zpzpw5mjNnjtLS0vLdrnmuRx55RD/88INmzJihTZs26b777lPbtm0dAiIAXFUMAOCK0r17d3PnnXcaY4xp3LixefTRR40xxnz99dfm3I/1QYMGmbp16zqs+/bbb5vKlSs7bKty5comJyfH3la9enXTrFkz+/TZs2dNQECA+fzzz40xxkyaNMlUr17d5Obm2pc5ffq08fPzMwsWLLBvNyIiwpw+fdq+zMSJE025cuXMsWPH7G1z5841ZcqUMZmZmQUe68CBA02NGjUc9vXSSy8ZSebQoUPGGGMefvhh8+STTzqst2zZMlOmTBlz8uTJArfbpEkT07Vr1wLn/frrr0aS+eGHH+xtf//9t/Hz8zNffvmlMcaYyZMnG0lmx44d9mWeeuop4+/vb44ePWpva9OmjXnqqafs05UrVzZt27Z12N/9999v2rVrV2Atxhjz5ZdfmrCwMIfl27dv77BM165dTUhIiH160KBBxt/f3xw5csTe9uKLL5pGjRrZpxMTE83zzz9vjDFmx44dxmazmb179zpst2XLlmbgwIHnrQ0ASjOuKAHAFWzkyJGaOnWqfv7550veRq1atVSmzP/9OoiIiFCdOnXs0x4eHgoLC1NWVpYkad26ddqxY4eCgoIUGBiowMBAhYaG6tSpU9q5c6d9vTp16sjb29s+vXXrVtWtW1cBAQH2tptuukm5ubnatm1bgbVt3bpVjRs3dhikokmTJg7LrFu3TlOmTLHXEhgYqDZt2ig3N1cZGRkFbjc9PV0tW7Y87z49PT3VqFEje1tYWJiqV6+urVu32tv8/f1VtWpVh/MWGxurwMBAh7a883a++ps0aeKw3SVLlqhVq1aqWLGigoKC1K1bNx04cMB+K+G2bdvUsGFDh21Yp6V/b/M79xmkqKiofLXkWb9+vYwxqlatmsN5TEtLc3hPAeBq4unuAgAAl+6WW25RmzZt9J///Ec9evRwmFemTBkZYxzazr11LI+Xl5fDtM1mK7AtNzdXkpSbm6sbbrhBn332Wb5tVahQwf7vcwORJBljzjsq3/narfUXJDc3V0899ZR69+6db16lSpUKXMfPz++82zvfPq31u3reLiRvu7///rtuv/129ezZU0OGDFFoaKiWL1+uxx57zP7eFXQeC6rZlVpyc3Pl4eGhdevWycPDw2HeucEPAK4mBCUAuMKNGDFC9erVsw+YkKdChQrKzMx0+MM6PT39svd3/fXX64svvlB4eLiCg4OdXq9mzZqaOnWqjh8/bg9RP/zwg8qUKZOv9nPXmTVrlkPbqlWr8tWzZcsWXXvttU7XkpCQoEWLFumRRx4pcJ9nz57V6tWr1bRpU0nSgQMH9Ouvv6pGjRpO7+N8rPWvWrVK1113nSTpxx9/1NmzZ/XWW2/Zr/J9+eWXDstfd911WrNmjUPbjz/+eFk11a9fXzk5OcrKylKzZs0ua1sAUFpw6x0AXOHq1Kmjrl275hs9rXnz5tq/f79GjRqlnTt36r333tO333572fvr2rWrypcvrzvvvFPLli1TRkaG0tLS9Pzzz19wYImuXbvK19dX3bt3108//aQlS5boueee08MPP6yIiIgC1+nZs6d27typvn37atu2bZo+fbqmTJnisMxLL72klStX6plnnlF6erq2b9+u2bNn67nnnjtvLYMGDdLnn3+uQYMGaevWrdq8ebNGjRolSYqPj9edd96pJ554QsuXL9fGjRv10EMPqWLFirrzzjtdP2EWP/zwg0aNGqVff/1V7733nr766is9//zzkqSqVavq7NmzGjt2rH777Td9+umnmjBhgsP6zz33nObNm6fRo0dr+/bt+uCDD/Ttt99e1ndoVatWTV27dlW3bt2UkpKijIwMrV27ViNHjtS8efMu63gB4EpFUAKAUmDIkCH5br+qUaOG3n//fb333nuqW7eu1qxZo/79+1/2vvz9/fX999+rUqVK6tSpk2rUqKFHH31UJ0+evOAVJn9/fy1YsEAHDx7UjTfeqHvvvVctW7bUuHHjzrtOpUqVNHPmTH3zzTeqW7euJkyYoOTkZIdlEhISlJaWpu3bt6tZs2aqX7++XnvtNUVFRZ13u82bN9dXX32l2bNnq169err11lu1evVq+/zJkyfrhhtuUIcOHdSkSRMZYzRv3rx8t7Ndin79+mndunWqX7++hgwZorfeektt2rSRJNWrV0+jR4/WyJEjVbt2bX322Wf5hoC/6aabNGHCBI0ePVp169bV/Pnz9cILL8jX1/ey6po8ebK6deumfv36qXr16rrjjju0evVqxcTEXNZ2AeBKZTPO3AAOAAAuW2xsrPr06ePw/UWF4YknntAvv/yiZcuWFep2AeBqxjNKAABcYd588021atVKAQEB+vbbbzV16lS9//777i4LAEoVghIAAFeYNWvWaNSoUTp69KiqVKmid999V48//ri7ywKAUoVb7wAAAADAgsEcAAAAAMCCoAQAAAAAFgQlAAAAALAgKAEAAACABUEJAAAAACwISgAAAABgQVACAAAAAAuCEgAAAABY/H+p6RTzLCL8LgAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAIiCAYAAAD2CjhuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABkGklEQVR4nO3dfXzO9f////thZ3bOxs6EjUbOhpKzYiRnoROVikLnkspZyrv6mjBnJUWREkpSvclbCMvJIqdhCAlNJGtCzhnb8/dHvx0fx2sbx8G2Y+Z2vVyOy8Xr+Tp7vF7Hc8d293q9nofNGGMEAAAAALAr4e4CAAAAAKCoISgBAAAAgAVBCQAAAAAsCEoAAAAAYEFQAgAAAAALghIAAAAAWBCUAAAAAMCCoAQAAAAAFgQlAAAAALAgKOG6MnXqVNlsNvvL09NTN9xwgx5//HEdOHAgX/eVmJioOXPmXNU29u7dK5vNpqlTp+ZLTdnbbNeunUJCQmSz2dS7d+982zYcFcT756yEhATZbLZC3y9c484+YrV8+XLZbDYtX77c3aUUuFWrVikhIUH//PNPge4n+3fO3r1783W7K1askI+Pj37//Xd72wcffFCg/chmsykhIaHAtn81FixYkGtt58+fV+XKlTV27NhCrwnFA0EJ16UpU6Zo9erVSkpK0tNPP60vvvhCTZo00alTp/JtH/kRlApCnz59tHbtWn3yySdavXq1+vTp4+6SgOtWZGSkVq9erXbt2rm7lOvKqlWrNHjw4AIPSgXBGKPevXvr6aefVsWKFe3tBR2UVq9eraeeeqrAtn81FixYoMGDB+do9/Ly0v/7f/9Pb775pg4fPuyGynCtIyjhulSzZk01bNhQzZs316BBgzRgwAClpqbmS7A5c+bM1RdYgH7++WfVr19f9957rxo2bOjwixZA4fLx8VHDhg1VtmxZd5eCa8TChQu1ceNGvfDCC1e8jfPnz+vChQsurdOwYUPdcMMNV7xPd3nkkUdks9n04YcfursUXIMISoD+/QUgyX4bw+DBg9WgQQOFhIQoKChIN998syZPnixjjMN60dHRat++vWbPnq26deuqZMmSGjx4sGw2m06dOqVp06bZb/Nr1qzZJWv4888/1alTJwUGBio4OFgPPfSQ0tLScl32p59+0t13362QkBCVLFlSdevW1VdffXXJ7WffVrN7925999139rqybwk5fvy4+vfvr5iYGHl7e6tcuXLq3bt3jqtsNptNvXr10pQpU1S1alX5+vqqXr16WrNmjYwxGj16tGJiYhQQEKA77rhDu3fvdli/WbNmqlmzplavXq3GjRvL19dX0dHRmjJliiRp/vz5uvnmm+Xn56datWpp4cKFOY5l165d6ty5s8LCwuTj46Nq1arp/fffd1gmKytLQ4cOtddYqlQpxcXF6d13373keXJ2PWdqyMvKlSvVokULBQYGys/PT40bN9b8+fMdlsm+ZWfZsmV67rnnVKZMGYWGhqpjx476888/ndpPbr788ks1atRI/v7+CggIUOvWrbVp0yaHZX777Tc9/PDDioqKko+Pj8LDw9WiRQulpKRcdvtr165Vhw4dFBoaqpIlS6py5co5bu905fiXLl2qp59+WqGhoQoKClLXrl116tQppaWlqVOnTipVqpQiIyPVv39/nT9/3r5+9i1to0aN0rBhw1ShQgWVLFlS9erV05IlSxz2tXv3bj3++OOKjY2Vn5+fypUrpw4dOmjr1q05jm/btm1q1aqV/Pz8VLZsWT3//POaP39+jlvWsvv5+vXr1aRJE/n5+alSpUoaMWKEsrKyctRpvRJQkH1ckn755Re1adNGfn5+KlOmjHr06KETJ07kuuz333+vFi1aKCgoSH5+frrttttynMPcOFNf9i2imzZtUseOHRUUFKTg4GA9+uijOnToUI5tOtN/pUv3w4SEBL388suSpJiYGPtnYfb79+WXX6pVq1aKjIyUr6+vqlWrpldffTXXOw6c6e/5eU4lacKECbr11ltVtWpVe1t0dLS2bdum5ORk+/FER0dL+r/P/s8++0z9+vVTuXLl5OPjo927d+vQoUPq2bOnqlevroCAAIWFhemOO+7QihUrcuzXeuvd1X5GOfs5c7n3vHv37vafjYtvrc/+3ebt7a2HHnpIkyZNyvE7HLgsA1xHpkyZYiSZ9evXO7S/++67RpKZNGmSMcaY7t27m8mTJ5ukpCSTlJRkhgwZYnx9fc3gwYMd1qtYsaKJjIw0lSpVMp988olZtmyZWbdunVm9erXx9fU1d911l1m9erVZvXq12bZtW551nT592lSrVs0EBwebcePGmUWLFpkXX3zRVKhQwUgyU6ZMsS+7dOlS4+3tbZo0aWK+/PJLs3DhQtO9e/ccy1kd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Of7s4zp06JBDe7du3Yy/v799Ovvcjxw50gwePNjccMMNxtvb29StW9csWrTIYd2jR4+aJ5980oSFhRk/Pz9z++23mxUrVpj4+PgcP7c///yzufPOO03JkiVNSEiIefLJJ820adNyjIiWVz/v1q2bqVixYo46rX2kIPu4McZs377dtGzZ0uE4/ve//+Xat5KTk027du1MSEiI8fLyMuXKlTPt2rVz+LnOjTP1Zb+fGzZsMB06dLB//j3yyCPmr7/+yrHNy/XfbM70w4EDB5qoqChTokQJh+NetWqVadSokfHz8zNly5Y1Tz31lNm4cWOu79Pl9pPb8OBXc06NMeaNN94wpUuXdhj+2hhj9u7da1q1amUCAwPtQ64bk/vncLZz586Z/v37m3LlypmSJUuam2++2cyZMydHPzUm71HvruQzypXPGWfe83PnzpmnnnrKlC1b1thsthznvEmTJjlGGgScYTOGb98CABQve/fuVUxMjEaPHp3nwCf55ZlnntEXX3yhw4cPu3QrJv798tfBgwfr0KFDPD/ipD///FMxMTH69NNP9dBDD7m7nCJvz549io2N1aJFi9SyZUt3l4NrDLfeAQDgpDfffFNRUVGqVKmSTp48qXnz5unjjz/W66+/TkhCoYiKilLv3r01bNgwPfjgg/l2y2dxNXToULVo0YKQhCtCUAIAwEleXl4aPXq0/vjjD124cEGxsbEaM2aMXnrpJXeXhuvI66+/Lj8/Px04cKBQB1241ly4cEGVK1fWwIED3V0KrlHcegcAAAAAFlyvBQAAAAALghIAAAAAWBCUAAAAAMCi2A/mkJWVpT///FOBgYEF9kWOAAAAAIo+Y4xOnDihqKioy44aWeyD0p9//smIMAAAAADs9u/frxtuuOGSyxT7oBQYGCjp35MRFBTk5moAAAAAuMvx48dVvnx5e0a4lGIflLJvtwsKCiIoAQAAAHDqkRwGcwAAAAAAC4ISAAAAAFgQlAAAAADAotg/owQAAHAtyMzM1Pnz591dBnBN8/LykoeHR75si6AEAADgRsYYpaWl6Z9//nF3KUCxUKpUKUVERFz1d6gSlAAAANwoOySFhYXJz8/vqv+4A65XxhidPn1a6enpkqTIyMir2p5bg1J0dLR+//33HO09e/bU+++/L2OMBg8erEmTJuno0aNq0KCB3n//fdWoUcMN1QIA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Wrp0qU6ePKn4+Hjdcsst+uijjy75zJKr+yhXrpwGDx6sV199VeHh4erVq9dVHRfyn81Yb/wsZo4fP67g4GAdO3aM71QqKFxRAgDgipw9e1apqamKiYlRyZIl3V0OUCxc6ufKlWzAFSUAAAAAsCAoAQAAAIAFQQkAAAAALAhKAAAAAGBBUAIAAAAAC4ISAAAAAFgQlAAAAADAgqAEAAAAABYEJQAAAAB5ysjIUGJionbs2OHuUgoVQQkAAACFLiEhQXXq1HHb/pcvXy6bzaZ//vnHbTVcie7du+vee+8t1H32799fW7du1U033XTZZfOjvqLy3ni6de8AAADIXUJwIe/vWOHuLx/s3btXMTEx2rRpk1tDV35ISEjQnDlzlJKS4u5SHMyaNUs///yzFi5cKJvNdtnl3333XRljCqGygscVJQAAAOAKZGRkuLuEAnf//fdr6dKl8vb2vuRymZmZysrKUnBwsEqVKlU4xRUwghIAAABctnDhQt1+++0qVaqUQkND1b59e+3Zs8dhmT/++EMPP/ywQkJC5O/vr3r16mnt2rUOy3z22WeKjo5WcHCwHn74YZ04ccLpfcTExEiS6tatK5vNpmbNmuVZ74IFC1SlShX5+vqqefPm2rt3r8P83G4FHDt2rKKjo+3T2beVDR8+XFFRUapSpYokafr06apXr54CAwMVERGhzp07Kz093b5e9q1kS5YsUb169eTn56fGjRtr586dkqSpU6dq8ODB2rx5s2w2m2w2m6ZOnZrnsVzMmffBqlmzZurVq5d69eplX+/11193uBKUkZGhAQMGqFy5cvL391eDBg20fPly+/ypU6eqVKlSmjdvnqpXry4fHx/9/vvvOW69O3funF588UWFhYWpZMmSuv3227V+/XqHei733kjSqlWr1LRpU/n6+qp8+fJ68cUXderUKafO0ZUiKAEAAMBlp06dUt++fbV+/XotWbJEJUqU0H333aesrCxJ0smTJxUfH68///xTc+fO1ebNmzVgwAD7fEnas2eP5syZo3nz5mnevHlKTk7WiBEjnN7HunXrJEnff/+9Dh48qNmzZ+da6/79+9WxY0fdddddSklJ0VNPPaVXX331io57yZIl2rFjh5KSkjRv3jxJ/4aKIUOGaPPmzZozZ45SU1PVvXv3HOu+9tprevvtt/XTTz/J09NTTzzxhCTpoYce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fn5+uu+++zRmzBiVKlXKPj/7vf/ss88UHR2t4OBgPfzwwzpx4oR9GeutdxkZGRowYIDKlSsnf39/NWjQQMuXL7/kOQSA4oygBADXIA8PDyUmJmrcuHH6448/rmpbS5cu1Z9//qkffvhBY8aMUUJCgtq3b6/SpUtr7dq16tGjh3r06KH9+/dLkk6fPq3mzZsrICBAP/zwg1auXKmAgAC1adNGGRkZ9u0uWbJEO3bsUFJSkubNm6fTp0+rTZs2Kl26tNavX6+vv/5a33//vXr16pVnbfv371fHjh111113KSUlRU899ZReffVVh2W2bt2q1q1bq2PHjtqyZYu+/PJLrVy58pLbnT9/vjp27Kh27dpp06ZNWrJkierVq2ef3717d/3000+aO3euVq9eLWOM7rrrLp0/f96+zOnTp/Xee+9p5syZWrhwoZYvX66OHTtqwYIFWrBggT777DNNmjRJ//3vfx32PXr0aMXFxWnjxo0aOHCg+vTpo6SkJPv8EiVK6L333tPPP/+sadOmaenSpRowYIB9/o8//qgePXropZdeUkpKilq2bKlhw4blOMY9e/Zozpw5mjdvnubNm6fk5OQct2te7PHHH9ePP/6omTNnasuWLXrwwQfVpk0bh4AIANcVAwC4pnTr1s3cc889xhhjGjZsaJ544gljjDHffPONufhjfdCgQaZ27doO677zzjumYsWKDtuqWLGiyczMtLdVrVrVNGnSxD594cIF4+/vb7744gtjjDGTJ082VatWNVlZWfZlzp07Z3x9fc2iRYvs2w0PDzfnzp2zLzNp0iRTunRpc/LkSXvb/PnzTYkSJUxaWlquxzpw4EBTrVo1h3298sorRpI5evSoMcaYxx57zDzzzDMO661YscKUKFHCnDlzJtftNmrUyHTp0iXXeb/++quRZH788Ud7299//218fX3NV199ZYwxZsqUKUaS2b17t32ZZ5991vj5+ZkTJ07Y21q3bm2effZZ+3TFihVNmzZtHPb30EMPmbZt2+ZaizHGfPXVVyY0NNRh+Xbt2jks06VLFxMcHGyfHjRokPHz8zPHjx+3t7388sumQYMG9un4+Hjz0ksvGWOM2b17t7HZbObAgQMO223RooUZOHBgnrUBQHHGFSUAuIaNHDlS06ZN0/bt2694GzVq1FCJEv/36yA8PFy1atWyT3t4eCg0NFTp6emSpA0bNmj37t0KDAxUQECAAgICFBISorNnz2rPnj329WrVquXwXNKOHTtUu3Zt+fv729tuu+02ZWVlaefOnbnWtmPHDjVs2NBhkIpGjRo5LLNhwwZNnTrVXktAQIBat26trKwspaam5rrdlJQUtWjRIs99enp6qkGDBva20NBQVa1aVTt27LC3+fn5qXLlyg7nLTo62mH0v/DwcPt5y6v+Ro0aOWx32bJlatmypcqVK6fAwEB17dpVhw8ftt9KuHPnTtWvX99hG9Zp6d/b/AIDA+3TkZGROWrJtnHjRhljVKVKFYfzmJyc7PCeAsD1hMEcAOAa1rRpU7Vu3Vr/+c9/1L17d4d5JUqUkDHGoe3iW8eyeXl5OUzbbLZc27KysiRJWVlZuuWWW/T555/n2FbZsmXt/744EEmSMSbPUfnyarfWn5usrCw9++yzevHFF3PMq1ChQq7r+Pr65rm9vPZprd/V83Yp2dv9/fffddddd6lHjx4aMmSIQkJCtHLlSj355JP29y6385hbza7UkpWVJQ8PD23YsEEeHh4O8wpr2HcAKGoISgBwjRsxYoTq1KljHzAhW9myZZWWlubwh3VKSspV7+/mm2/Wl19+qbCwMAUFBTm9XvXq1TVt2jSdOnXKHqJ+/PFHlShRIkftF68zZ84ch7Y1a9bkqGfbtm268cYbna4lLi5OS5Ys0eOPP57rPi9cuKC1a9eqcePGkqTDhw/r119/VbVq1ZzeR16s9a9Zs0Y33XSTJOmnn37ShQsX9Pbbb9uv8n311VcOy990001at26dQ9tPP/10VTXVrVtXmZmZSk9PV5MmTa5qWwBQXHDrHQBc42rVqqUuXbrkGD2tWbNmOnTokEaNGqU9e/bo/fff13fffXfV++vSpYvKlCmje+65RytWrFBqaqqSk5P10ksvXXJgiS5duqhkyZLq1q2bfv75Zy1btkwvvPCCHnvsMYWHh+e6To8ePbRnzx717dtXO3fu1IwZMzR16lSHZV555RWtXr1azz//vFJSUrRr1y7NnTtXL7zwQp61DBo0SF988YUGDRqkHTt2aOvWrRo1apQkKTY2Vvfcc4+efvpprVy5Ups3b9ajjz6qcuXK6Z577nH9hFn8+OOPGjVqlH799Ve9//77+vrrr/XSSy9JkipXrqwLFy5o3Lhx+u233/TZZ59p4sSJDuu/8MILWrBggcaMGaNdu3bpww8/1HfffXdV36FVpUoVdenSRV27dtXs2bOVmpqq9evXa+TIkVqwYMFVHS8AXKsISgBQDAwZMiTH7VfVqlXTBx98oPfff1+1a9fWunXr1L9//6vel5+fn3744QdVqFBBHTt2VLVq1fTEE0/ozJkzl7zC5Ofnp0WLFunIkSO69dZb9cADD6hFixYaP358nutUqFBBs2bN0rfffqvatWtr4sSJSkxMdFgmLi5OycnJ2rVrl5o0aaK6devqjTfeUGRkZJ7bbdasmb7++mvNnTtXderU0R133KG1a9fa50+ZMkW33HKL2rdvr0aNGskYowULFuS4ne1K9OvXTxs2bFDdunU1ZMgQvf3222rdurUkqU6dOhozZoxGjhypmjVr6vPPP88xBPxtt92miRMnasyYMapdu7YWLlyoPn36qGTJkldV15QpU9S1a1f169dPVatW1d133621a9eqfPnyV7VdALhW2YwzN4ADAICrFh0drd69ezt8f1F+ePrpp/XLL79oxYoV+bpdALie8YwSAADXmLfeekstW7aUv7+/vvvuO02bNk0ffPCBu8sCgGKFoAQAwDVm3bp1GjVqlE6cOKFKlSrpvffe01NPPeXusgCgWOHWOwAAAACwYDAHAAAAALAgKAEAAACABUEJAAAAACwISgAAAABgQVACAAAAAAuCEgAAAABYEJQAAAAAwIKgBAAAAAAWBCUAAAAAsPj/AN1JC6NqIxiRAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -5225,39 +4311,17 @@ } ], "source": [ - "# Création du barplot groupé\n", - "fig, ax = plt.subplots(figsize=(10, 6))\n", + "# création barplot avec la fonction générique\n", "\n", - "categories = company_genders[\"number_company\"].unique()\n", - "bar_width = 0.35\n", - "bar_positions = np.arange(len(categories))\n", - "\n", - "# Grouper les données par label et créer les barres groupées\n", - "for label in company_genders[\"y_has_purchased\"].unique():\n", - " label_data = company_genders[df_graph['y_has_purchased'] == label]\n", - " values = [label_data[label_data['number_company'] == category]['share_of_women'].values[0]*100 for category in categories]\n", - "\n", - " label_printed = \"achat durant la période\" if label else \"aucun achat\"\n", - " ax.bar(bar_positions, values, bar_width, label=label_printed)\n", - "\n", - " # Mise à jour des positions des barres pour le prochain groupe\n", - " bar_positions = [pos + bar_width for pos in bar_positions]\n", - "\n", - "# Ajout des étiquettes, de la légende, etc.\n", - "ax.set_xlabel('Numero de compagnie')\n", - "ax.set_ylabel('Part de femmes (%)')\n", - "ax.set_title('Part de femmes selon les compagnies de spectacle (train set)')\n", - "ax.set_xticks([pos + bar_width / 2 for pos in np.arange(len(categories))])\n", - "ax.set_xticklabels(categories)\n", - "ax.legend()\n", - "\n", - "# Affichage du plot - la proportion de femmes est la même selon qu'il y ait achat sur la période ou non\n", - "plt.show()" + "multiple_barplot(company_genders, x=\"number_company\", y=\"share_of_women\", var_labels=\"y_has_purchased\",\n", + " dico_labels = {0 : \"aucun achat\", 1 : \"achat durant la période\"},\n", + " xlabel = \"Numéro de compagnie\", ylabel = \"Part de femmes (%)\", \n", + " title = \"Part de femmes selon les compagnies de spectacle (train set)\")" ] }, { "cell_type": "code", - "execution_count": 144, + "execution_count": 87, "id": "ed6374e5-f36c-4f8e-9dba-602715b726f1", "metadata": {}, "outputs": [ @@ -5325,7 +4389,7 @@ "4 14 0.993978" ] }, - "execution_count": 144, + "execution_count": 87, "metadata": {}, "output_type": "execute_result" } @@ -5339,7 +4403,7 @@ }, { "cell_type": "code", - "execution_count": 147, + "execution_count": 88, "id": "8d95cdd9-2ab3-4c9a-8442-bb9b98e0dd18", "metadata": {}, "outputs": [ @@ -5369,7 +4433,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 90, "id": "b459f81f-6d30-44fa-ad65-e85acbf12fd2", "metadata": {}, "outputs": [ @@ -5404,61 +4468,61 @@ " 0\n", " 10\n", " 0.0\n", - " 0.995421\n", + " 99.542095\n", " \n", " \n", " 1\n", " 10\n", " 1.0\n", - " 0.999097\n", + " 99.909747\n", " \n", " \n", " 2\n", " 11\n", " 0.0\n", - " 0.995433\n", + " 99.543280\n", " \n", " \n", " 3\n", " 11\n", " 1.0\n", - " 0.995016\n", + " 99.501602\n", " \n", " \n", " 4\n", " 12\n", " 0.0\n", - " 0.001565\n", + " 0.156470\n", " \n", " \n", " 5\n", " 12\n", " 1.0\n", - " 0.002656\n", + " 0.265579\n", " \n", " \n", " 6\n", " 13\n", " 0.0\n", - " 0.843896\n", + " 84.389610\n", " \n", " \n", " 7\n", " 13\n", " 1.0\n", - " 0.775967\n", + " 77.596741\n", " \n", " \n", " 8\n", " 14\n", " 0.0\n", - " 0.995202\n", + " 99.520205\n", " \n", " \n", " 9\n", " 14\n", " 1.0\n", - " 0.984715\n", + " 98.471506\n", " \n", " \n", "\n", @@ -5466,19 +4530,19 @@ ], "text/plain": [ " number_company y_has_purchased country_fr\n", - "0 10 0.0 0.995421\n", - "1 10 1.0 0.999097\n", - "2 11 0.0 0.995433\n", - "3 11 1.0 0.995016\n", - "4 12 0.0 0.001565\n", - "5 12 1.0 0.002656\n", - "6 13 0.0 0.843896\n", - "7 13 1.0 0.775967\n", - "8 14 0.0 0.995202\n", - "9 14 1.0 0.984715" + "0 10 0.0 99.542095\n", + "1 10 1.0 99.909747\n", + "2 11 0.0 99.543280\n", + "3 11 1.0 99.501602\n", + "4 12 0.0 0.156470\n", + "5 12 1.0 0.265579\n", + "6 13 0.0 84.389610\n", + "7 13 1.0 77.596741\n", + "8 14 0.0 99.520205\n", + "9 14 1.0 98.471506" ] }, - "execution_count": 60, + "execution_count": 90, "metadata": {}, "output_type": "execute_result" } @@ -5487,18 +4551,19 @@ "# graphique sur le train set\n", "\n", "company_country_fr = train_set_spectacle.groupby([\"number_company\", \"y_has_purchased\"])[[\"country_fr\"]].mean().reset_index()\n", + "company_country_fr[\"country_fr\"] = 100 * company_country_fr[\"country_fr\"]\n", "company_country_fr" ] }, { "cell_type": "code", - "execution_count": 61, - "id": "357a6cd6-b1f2-41b8-9d92-155de84858cf", + "execution_count": 92, + "id": "4a037b48-1d65-4ed3-a012-7d6f5a312533", "metadata": {}, "outputs": [ { "data": { - "image/png": "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00+rTp06+vDDDyXd/OtxVq5du6ZnnnlGx48f17Bhw1SiRAn99NNPeumllzLMu3LlSjVo0EBRUVGaOHGi/Pz8NHv2bL300ku6evWqzbNNt0tJSVHDhg21Zs0a9ezZU08//bRSUlK0YcMGHTlyRNWrV7f7mP3xxx+qXr26ChcurM8++0yhoaFasmSJevTooTNnzmjgwIE287/33nuqUaOGJk+erEuXLundd99V06ZNtWfPHjk7O2v8+PF6/fXXdfDgQf344482y86ePVvdunXTW2+9pU8//VROTk46cOCA/vjjjyzrS7/t6bnnntOjjz5qDQhhYWHWX3oGDBigatWqaeLEiXJyclJwcLBOnz4tSRo4cKBCQ0N15coV/fjjj6pdu7aWL1+eIRCPGzdOpUqVst4a8uGHH6pRo0ZKSEiQn5+fJGnJkiVq2rSpSpcurVGjRqlw4cI6dOiQli5dal3P8ePHFRgYqOHDhysoKEjnzp3TtGnTFBUVpW3btqlkyZJZ7mu7du20detWDR06VCVKlNCFCxe0detWnT17Nus3UNLy5cv17LPPqlq1apo9e7ZSU1M1cuRI/e9//8swb5cuXRQXF6cePXpoxIgROnfunD7++GNVr15dO3bsUEhIiBITE1WvXj0VLVpU48aNU0hIiE6ePKmVK1faPI+RmSlTpqhz586qVauWJk6cqODgYO3bt0+///67dZ6ZM2eqbdu2ql+/vmbNmqWkpCSNHDnS+t48+eSTNuts2bKlXn75ZXXp0kXLli2z/kL7yy+/qFu3burTp49mzpypd999V8WLF1eLFi1sln/vvfdUuXJlTZ48WRcvXlRMTIxq166tbdu2qVixYpJuXitKliypVq1aKSAgQCdOnNCECRP0+OOP648//lCBAgUkSTt37lS9evVUokQJTZs2TZ6enpo4caJmzJiR6fHYsWOH3nnnHfXv318hISGaPHmyXn31VRUvXlxPPfVUlsfR3utD7969NX36dA0ZMkSVKlVSYmKifv/997ueM3/88Yfq1q2riIgIxcXFydPTU+PHj9fMmTMzzBsbG6sPPvhAHTt21AcffKDk5GR98sknqlmzpjZt2qQyZcpkuR1767tx44YaNWqkLl26qH///lq3bp2GDBmiw4cPa8GCBdb57Dl/pbufhx9++KESExP1/fff2wT4sLAwSdLBgwfVpk0bFS1aVK6urtqxY4eGDh2qP//80yYI23O+Z+Zejunff/+tXbt26Y033rBpX79+/V0/rzp16qTGjRtr+vTpSkxMVL58+e7pmpXu+eef10svvaRXX31Vu3bt0oABAyQpwx8NbmXvdcae9/xOnzvpateurQEDBujChQs2ARSQATxkpk6dakgyNmzYYNy4ccO4fPmysXDhQiMoKMjw8fExTp48mWGZ1NRU48aNG8bHH39sBAYGGmlpadZpRYoUMZydnY29e/dmWM7Ly8t45ZVX7KprwoQJhiTjv//9r017586dDUnG1KlTrW2lSpUyKlWqZNy4ccNm3iZNmhhhYWFGampqltv5+uuvDUnGl19+ecd6ihQpYlN7QkJChjqio6ONRx55xLh48aLNst27dzfc3d2Nc+fOGYZhGCtXrjQkGY0aNbKZ79tvvzUkGevXr7e2NW7c2ChSpEiGerp3727kz5//jjXfaV8aN25s05Ze01NPPXXX5VNSUowbN24YdevWNZ577jlre/oxKVeunJGSkmJt37RpkyHJmDVrlrXt0UcfNR599FHj2rVrdtedkpJiJCcnG5GRkUavXr0ybPfW98Lb29vo2bOn3etOFxUVZYSHh9vUdenSJSMgIMC49SNi/fr1hiTjs88+s1n+6NGjhoeHh9GvXz/DMAxj8+bNhiRj3rx5puq4fPmy4evrazz55JM2/79ulZqaaoSHhxvlypWzOccvX75sBAcHG9WrV7e2DRw4MNN6K1asaEgy5s6da227ceOGERQUZLRo0cLaln5+VK5c2aaeQ4cOGfny5TNee+21LPclJSXFuHLliuHl5WX8+9//tra/+OKLhpeXl3H69GmbfSpTpowhyUhISLC2FylSxHB3dzcOHz5sbbt27ZoREBBgdOnSJUOdK1eutLbZe30oW7as0bx58yz3IysvvfSS4eHhYXOtTElJMUqVKmWzH0eOHDFcXFyMt956y2b5y5cvG6GhoUbLli3vuB176nvllVcMSTbH2TAMY+jQoYYkY+3atYZh2H/+2nMeGoZhvPnmm4Y9v0Klf3Z8/fXXhrOzs/WaaO920s/jdPd6TOfMmWP9/LtdVp9X6Z+Z7du3v+O6DcPcNSt930aOHGmzjm7duhnu7u53PC72XGfsfc8NI+vPnXTLli0zJBk///xzlvPg4cStfXhoPfHEE8qXL598fHzU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n3yiAgUKKCIiQqtXr9aUKVMy/EX+/fff14IFC1S3bl29//778vDw0MSJE61fAn6vt9ums/f6EBUVpSZNmqh8+fLy9/fXnj17NH369LsG0g8++EDz58/X008/rY8++kienp4aN25chi8zj4iI0Mcff6z3339ff/31lxo0aCB/f3/973//06ZNm6w9Tlmxtz5XV1d99tlnunLlih5//HHrqH0NGza0juJo7/lrz3koyfpL+IgRI9SwYUM5OzurfPnyqlevnlxdXdW6dWv169dP169f14QJEzLccmrvdm6XHcfUw8NDGzZsyPBskpnPq3T/9Jp1r+y5ztj7nqfve2afO+k2bNigwMDATP9ghIfcfR/eAshl6SMQxcfH33G+r776yihZsqTh5uZmFCtWzBg2bJgxZcqUTEfXun1EuHTbt283atSoYXh6ehqSjFq1at1xm3///bfx/PPPG97e3oaPj4/x/PPPG+vWrcsw2pFhGMaOHTuMli1bGsHBwUa+fPmM0NBQ4+mnnzYmTpx412Nw7do146OPPjIiIyMNV1dXIzAw0Hj66aeNdevW2ezX3UbtS2/v1KmTUbBgQSNfvnxGUFCQUb16dWPIkCHWedJHFvvuu+8yLHv7Os+dO2e88MILRv78+Q2LxWIdsWratGlGnTp1jJCQEMPV1dUIDw83WrZsaezcufOu+3unUftur8kwDCMpKcno06ePUbBgQcPd3d2oXLmyMW/ePOOVV16xGdkpvf5PPvkkwzokGQMHDrRpW79+vdGwYUPDx8fHkGQ8+uijNiNbnT9/3nj11VeN4OBgw9PT03jyySeNNWvWGLVq1bI5d24/btevXze6du1qlC9f3vD19TU8PDyMkiVLGgMHDjQSExPvenzmz59vlC9f3nB1dTUKFy5sDB8+PMNoYem++uorIyoqyvDy8jI8PDyMRx991Gjfvr2xefNmwzAM488//zRat25tPProo4aHh4fh5+dnVK1a1YiLi7trHYZhGIsWLTJq1apleHl5GZ6enkaZMmWMESNG2Mwzb948IyoqynB3dze8vLyMunXrGr/99pvNPOn13zpCnmHcHOXNy8srw3Zr1aplPPbYY9bX6efH9OnTjR49ehhBQUGGm5ubUbNmTeu+pkv/f+vv72/4+PgYDRo0MH7//fcM/4cMwzDWrFljREVFGW5ubkZoaKjRt29f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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIiCAYAAADCc/lyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABptElEQVR4nO3dd3QUZf/+8WuTkF5IQipCEjpIF6lCQKRXURFBqgVERASkiEiQjgoIUh4VCYqUR0VEpIqA9B5ARAQMRcpDbwECJPP7g1/2y5IEdiAhm/B+nbPnZO9pnymZzZWZuddiGIYhAAAAAIDdnLK6AAAAAADIbghSAAAAAGASQQoAAAAATCJIAQAAAIBJBCkAAAAAMIkgBQAAAAAmEaQAAAAAwCSCFAAAAACYRJACAAAAAJMIUnjkxMbGymKxWF8uLi567LHH1LFjRx09ejRDlzV8+HDNmzfvgeZx8OBBWSwWxcbGZkhN9oqMjFSHDh0eeh0zZ87UuHHjMnSeBw8eVKNGjRQQECCLxaIePXpk6PwftoexL2JiYmSxWDJt/sgYK1eulMVi0cqVK7O6FOu59eDBg1ldSqZbuHChYmJiMn05mfV7+PXXXysoKEiXLl2ytmXE51V6supzzF7pfe6cO3dOuXPnzrTtguyPIIVH1rRp07R+/XotW7ZMr732mmbNmqXq1asrISEhw5aRmR9MD1tYWJjWr1+vRo0aZepyMiNIvfPOO9q4caO++uorrV+/Xu+8806Gzv9he1j7Ao6vfPnyWr9+vcqXL5/VpTxSFi5cqMGDB2d1GfflypUreu+999S3b1/5+PhY2zPz88rRz1npfe74+/vrnXfe0bvvvqvr168//MLg8FyyugAgq5QsWVIVKlSQJNWqVUtJSUkaMmSI5s2bpzZt2jzQvK9evSoPD4+MKNNhuLm5qXLlylldxn35448/VLFiRTVv3vyu4924ccN6ldKRZed9gYzl6+vLsQBTpk+frjNnzujVV1+973lcvXpV7u7udl8ty87nrC5dumjo0KH6/vvv1bp166wuBw6GK1LA/5dykj906JAkafDgwapUqZICAgLk6+ur8uXLa+rUqTIMw2a6yMhINW7cWHPnzlW5cuXk7u6uwYMHy2KxKCEhQdOnT7feRlizZs271nDs2DG1bNlSPj4+8vPz04svvqgTJ06kOe6WLVvUtGlTBQQEyN3dXeXKldN///tfu9Y1MTFRH374oYoXLy53d3cFBgaqVq1aWrduXbrTpHdrxr59+9S6dWsFBwfLzc1NxYsX18SJE23GSbn9aNasWRowYIDCw8Pl6+urZ555Rnv37rWOV7NmTf3yyy86dOiQze2XKSZPnqwyZcrI29tbPj4+KlasmN577710a05Z7v79+7Vo0SLr/A4ePGgd9s0336hXr17Kmzev3NzctH//fp06dUpdu3ZViRIl5O3treDgYD399NNavXp1mtvk448/1pgxYxQVFSVvb29VqVJFGzZsSFXPxo0b1aRJEwUGBsrd3V0FCxa0uc1w//796tixowoXLixPT0/lzZtXTZo00a5du+65L06dOqXXX39d+fLlk5ubm4KCglStWjX9+uuv6W6fFL/88ovKli0rNzc3RUVF6eOPP05zPMMwNGnSJJUtW1YeHh7y9/fX888/r3/++cdmvO3bt6tx48bWYyI8PFyNGjXSv//+e89aFi9erNq1a8vPz0+enp4qXry4RowYYTPO/PnzVaVKFXl6esrHx0d16tTR+vXrbcZJuSVq586deuGFF+Tn56eAgAD17NlTN2/e1N69e1W/fn35+PgoMjJSo0ePtpk+5fiYMWOGevbsqdDQUHl4eCg6Olrbt2+3GXfLli1q1aqVIiMj5eHhocjISL300kvWc8nt1qxZoypVqsjd3V158+bVwIED9eWXX6a6JS7lvLJ48WKVL19eHh4eKlasmL766qs067zz1j57zg9XrlxR7969FRUVJXd3dwUEBKhChQqaNWvWXfeRJG3YsEHVqlWTu7u7wsPD1b9/f924cSPNcefMmaMqVarIy8tL3t7eqlevXqptmBZ76uvQoYO8vb21e/du1a5dW15eXgoKClK3bt105coVm/nZe/xKdz8OO3ToYD3H3X6eStl/EydOVI0aNRQcHCwvLy+VKlVKo0ePTnP72HO8Z+Q2lW6dR5s0aaLcuXNb2+72eZVyy+bSpUvVqVMnBQUFydPTU4mJiQ90zkr5Hd29e7deeukl+fn5KSQkRJ06ddKFCxfuuR72nGfs2ef3+twJCQlRnTp1NGXKFLu2Lx4tjv1vV+Ah2r9/vyQpKChI0q0Tf+fOnZU/f35Jt/5weOutt3T06FF98MEHNtNu27ZNe/bs0fvvv6+oqCh5eXmpefPmevrpp1Wr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ynwPHTqkhg0bqkuXLhoyZIgCAgK0Zs0avfLKK9Z9l9Z2TKtmM7UkJyfL2dlZW7dulbOzs82wh9WtPQA4EoIUADwCRo4cqbJly1o7dEgRFBSkEydO2PzhHRcX98DLK1++vObMmaPg4GD5+vraPV2JEiU0ffp0JSQkWEPW2rVr5eTklKr226eZN2+eTduGDRtS1bN7924VKlTI7lpKly6t5cuXq2PHjmku8+bNm9q4caOqVq0qSTpz5oz+/vtvFS9e3O5lpOfO+jds2KBixYpJkrZs2aKbN2/qk08+sV4l/O9//2szfrFixbRp0yabti1btjxQTeXKlVNSUpJOnjyp6tWrP9C8ACAn4NY+AHgElCpVSm3atEnV+1vNmjV16tQpjR49WgcOHNDEiRO1aNGiB15emzZtlCdPHjVr1kyrV69WfHy8Vq1apbfffvuuHV+0adNG7u7uat++vf744w+tWLFCb731ltq2bauQkJA0p+nSpYsOHDignj17au/evZo5c6ZiY2Ntxunbt6/Wr1+vN998U3Fxcdq3b5/mz5+vt956K91aBg0apFmzZmnQoEHas2ePdu3apdGjR0uSChcurGbNmum1117TmjVrtGPHDr388svKmzevmjVrZn6D3WHt2rUaPXq0/v77b02cOFHfffed3n77bUlSwYIFdfPmTU2YMEH//POPvvnmG02ZMsVm+rfeeksLFy7UmDFjtG/fPv3nP//RokWLHug7xIoUKaI2bdqoXbt2mjt3ruLj47V582aNGjVKCxcufKD1BYDsiCAFAI+IIUOGpLq9q3jx4po0aZImTpyoMmXKaNOmTerdu/cDL8vT01O///678ufPrxYtWqh48eLq1KmTrl69etcrVJ6enlqyZInOnj2rJ598Us8//7xq166tzz77LN1p8ufPrx9++EE///yzypQpoylTpmj48OE245QuXVqrVq3Svn37VL16dZUrV04DBw5UWFhYuvOtWbOmvvvuO82fP19ly5bV008/rY0bN1qHT5s2TU888YQaN26sKlWqyDAMLVy4MNXtcvejV69e2rp1q8qVK6chQ4bok08+Ub169SRJZcuW1ZgxYzRq1CiVLFlS3377baou7qtVq6YpU6ZozJgxKlOmjBYvXqx33nlH7u7uD1TXtGnT1K5dO/Xq1UtFixZV06ZNtXHjRuXLl++B5gsA2ZHFsOfmcgAA8FBERkaqR48eNt/flBFee+01/fXXX1q9enWGzhcAHlU8IwUAQA708ccfq06dOvLy8tKiRYs0ffp0TZo0KavLAoAcgyAFAEAOtGnTJo0ePVqXLl1SgQIFNH78eL366qtZXRYA5Bjc2gcAAAAAJtHZBAAAAACYRJACAAAAAJMIUgAAAABgEkEKAAAAAEwiSAEAAACASQQpAAAAADCJIAUAAAAAJhGkAAAAAMAkghQAAAAAmPT/AFLEY2RJFPgqAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -5508,35 +4573,12 @@ } ], "source": [ - "# Création du barplot groupé\n", - "fig, ax = plt.subplots(figsize=(10, 6))\n", + "# generic function to generate the barplot - nationality\n", "\n", - "categories = company_country_fr[\"number_company\"].unique()\n", - "bar_width = 0.35\n", - "bar_positions = np.arange(len(categories))\n", - "\n", - "# Grouper les données par label et créer les barres groupées\n", - "for label in company_country_fr[\"y_has_purchased\"].unique():\n", - " label_data = company_country_fr[df_graph['y_has_purchased'] == label]\n", - " values = [label_data[label_data['number_company'] == category]['country_fr'].values[0]*100 for category in categories]\n", - "\n", - " label_printed = \"achat durant la période\" if label else \"aucun achat\"\n", - " ax.bar(bar_positions, values, bar_width, label=label_printed)\n", - "\n", - " # Mise à jour des positions des barres pour le prochain groupe\n", - " bar_positions = [pos + bar_width for pos in bar_positions]\n", - "\n", - "# Ajout des étiquettes, de la légende, etc.\n", - "ax.set_xlabel('Numero de compagnie')\n", - "ax.set_ylabel('Part de clients frnaçais (%)')\n", - "ax.set_title('Part de clients français des compagnies de spectacle (train set)')\n", - "ax.set_xticks([pos + bar_width / 2 for pos in np.arange(len(categories))])\n", - "ax.set_xticklabels(categories)\n", - "ax.legend()\n", - "\n", - "# Affichage du plot - la proportion de français est la même selon qu'il y ait achat sur la période ou non\n", - "# sauf compagnie 12, et peut-être 13\n", - "plt.show()" + "multiple_barplot(company_country_fr, x=\"number_company\", y=\"country_fr\", var_labels=\"y_has_purchased\",\n", + " dico_labels = {0 : \"aucun achat\", 1 : \"achat durant la période\"},\n", + " xlabel = \"Numéro de compagnie\", ylabel = \"Part de clients français (%)\", \n", + " title = \"Part de clients français des compagnies de spectacle (train set)\")" ] }, { @@ -6040,6 +5082,1218 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 102, + "id": "4fdf4134-d32c-42c3-ab4f-36ad4783332c", + "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", + "
customer_idnb_ticketsnb_purchasestotal_amountnb_suppliersvente_internet_maxpurchase_date_minpurchase_date_maxtime_between_purchasenb_tickets_internet...gender_labelgender_femalegender_malegender_othercountry_frnb_campaignsnb_campaigns_openedtime_to_openy_has_purchasednumber_company
010_2993410.00.00.00.00.0NaNNaNNaN0.0...male0101.012.03.00 days 05:47:26.3333333330.010
110_637883.02.062.01.01.0393.205891281.017639112.1882523.0...female1001.03.01.00 days 05:13:511.010
210_7599460.00.00.00.00.0NaNNaNNaN0.0...other001NaN0.00.0NaN0.010
310_206530.00.00.00.00.0NaNNaNNaN0.0...male0101.011.010.01 days 00:45:540.010
410_8247050.00.00.00.00.0NaNNaNNaN0.0...other001NaN0.00.0NaN0.010
\n", + "

5 rows × 41 columns

\n", + "
" + ], + "text/plain": [ + " customer_id nb_tickets nb_purchases total_amount nb_suppliers \\\n", + "0 10_299341 0.0 0.0 0.0 0.0 \n", + "1 10_63788 3.0 2.0 62.0 1.0 \n", + "2 10_759946 0.0 0.0 0.0 0.0 \n", + "3 10_20653 0.0 0.0 0.0 0.0 \n", + "4 10_824705 0.0 0.0 0.0 0.0 \n", + "\n", + " vente_internet_max purchase_date_min purchase_date_max \\\n", + "0 0.0 NaN NaN \n", + "1 1.0 393.205891 281.017639 \n", + "2 0.0 NaN NaN \n", + "3 0.0 NaN NaN \n", + "4 0.0 NaN NaN \n", + "\n", + " time_between_purchase nb_tickets_internet ... gender_label \\\n", + "0 NaN 0.0 ... male \n", + "1 112.188252 3.0 ... female \n", + "2 NaN 0.0 ... other \n", + "3 NaN 0.0 ... male \n", + "4 NaN 0.0 ... other \n", + "\n", + " gender_female gender_male gender_other country_fr nb_campaigns \\\n", + "0 0 1 0 1.0 12.0 \n", + "1 1 0 0 1.0 3.0 \n", + "2 0 0 1 NaN 0.0 \n", + "3 0 1 0 1.0 11.0 \n", + "4 0 0 1 NaN 0.0 \n", + "\n", + " nb_campaigns_opened time_to_open y_has_purchased \\\n", + "0 3.0 0 days 05:47:26.333333333 0.0 \n", + "1 1.0 0 days 05:13:51 1.0 \n", + "2 0.0 NaN 0.0 \n", + "3 10.0 1 days 00:45:54 0.0 \n", + "4 0.0 NaN 0.0 \n", + "\n", + " number_company \n", + "0 10 \n", + "1 10 \n", + "2 10 \n", + "3 10 \n", + "4 10 \n", + "\n", + "[5 rows x 41 columns]" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# same statistics on the train set\n", + "\n", + "train_set_spectacle.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "id": "14ff9886-742c-4a60-8824-5d31f7c76aea", + "metadata": {}, + "outputs": [], + "source": [ + "train_set_spectacle[\"no_campaign_opened\"] = train_set_spectacle[\"nb_campaigns_opened\"]==0" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "id": "16285593-a0fa-461c-aeb8-c64ffdf9a0d6", + "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", + "
number_companyy_has_purchasedno_campaign_opened
0100.091.227517
1101.062.343470
2110.084.608320
3111.078.598682
4120.0100.000000
5121.0100.000000
6130.090.124799
7131.094.158651
8140.072.903385
9141.073.549517
\n", + "
" + ], + "text/plain": [ + " number_company y_has_purchased no_campaign_opened\n", + "0 10 0.0 91.227517\n", + "1 10 1.0 62.343470\n", + "2 11 0.0 84.608320\n", + "3 11 1.0 78.598682\n", + "4 12 0.0 100.000000\n", + "5 12 1.0 100.000000\n", + "6 13 0.0 90.124799\n", + "7 13 1.0 94.158651\n", + "8 14 0.0 72.903385\n", + "9 14 1.0 73.549517" + ] + }, + "execution_count": 108, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "company_lazy_customers = train_set_spectacle.groupby([\"number_company\", \"y_has_purchased\"])[\"no_campaign_opened\"].mean().reset_index()\n", + "company_lazy_customers[\"no_campaign_opened\"] = 100 * company_lazy_customers[\"no_campaign_opened\"] \n", + "company_lazy_customers" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "id": "d35f00e3-b9b0-42b3-9dce-785c1ad5506c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIiCAYAAADCc/lyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB0wklEQVR4nO3dd3yN9///8edJZItIIlNJqL2pUZRQtTcdSqtolaqqVaVLjNpVRbWlilaNalHV0qrV2jGCqpoxanzslSAk1+8Pv5yvIwnn4qQ5icf9dsvtlvO+1vO6znXOySvv63ofi2EYhgAAAAAAdnPJ7AAAAAAAkNVQSAEAAACASRRSAAAAAGAShRQAAAAAmEQhBQAAAAAmUUgBAAAAgEkUUgAAAABgEoUUAAAAAJhEIQUAAAAAJlFIIU3Tp0+XxWKx/uTIkUOPPPKIOnbsqGPHjjl0W8OGDdPChQsfaB2HDh2SxWLR9OnTHZLJXpGRkerQocN/nmPWrFkaN25chm5DyrzjCvPuPBczk8ViUXR0dGbHyHDHjx9XdHS0YmNjM3Q7mfk6TPkseBj9V++zsJXW+Z5yHh46dMiudQwePFglSpRQcnKyJCkhIUHR0dFatWqV4wNLWrVqlSwWS4at/0FNmjQpzfePvXv3yt3dXVu3bv3vQ2UTFFK4q2nTpmn9+vVatmyZOnfurNmzZ6tGjRqKj4932DYcUUg5i7CwMK1fv16NGzfO0O3wAY87LViwQO+//35mx3ioHD9+XIMGDcrwQgqZg/fZzPGgn6PHjx/XqFGjNHjwYLm43PozNyEhQYMGDcqwQqdChQpav369KlSokCHrf1DpFVJFihRRu3bt1KtXr/8+VDaRI7MDwLmVKlVKFStWlCTVrl1bSUlJGjJkiBYuXKh27do90LqvXr0qLy8vR8R0Gh4eHnr88cczOwYeQuXLl8/sCMB/7urVq/L09Hxoe82yowf9HP3kk0+UO3dutWrV6r7XkZCQIG9vb7vnz5UrV5b97O/evbsqVqyodevWqVq1apkdJ8uhRwqmpLxRHD58WJI0aNAgValSRQEBAcqVK5cqVKigqVOnyjAMm+UiIyPVpEkTzZ8/X+XLl5enp6cGDRoki8Wi+Ph4zZgxw3oZYa1ate6a4fjx43r22Wfl6+srPz8/Pffcczp58mSa827evFnNmjVTQECAPD09Vb58eX333Xd27ev169c1ePBgFS9eXJ6engoMDFTt2rW1bt26dJdJ7xKcffv2qW3btgoODpaHh4eKFy+uTz/91GaelEsDZs+erXfffVfh4eHKlSuXnnrqKe3Zs8c6X61atfTzzz/r8OHDNpdfpvjss89UtmxZ5cyZU76+vipWrJjeeeede+6vo49rQkKC+vbtqwIFCsjT01MBAQGqWLGiZs+efc8sx44d06uvvqp8+fLJ3d1d4eHhevrpp/W///3POs+RI0f0wgsv2BzTjz76yHoph/R/z8fo0aM1cuRIRUZGysvLS7Vq1dLevXt148YN9e/fX+Hh4fLz81PLli116tQpmywp5+6CBQtUpkwZeXp6qmDBgho/frzNfNeuXVOfPn1Urlw5+fn5KSAgQFWrVtWPP/6Yav8uXLigl19+WQEBAcqZM6caN26sgwcPprokLjo6WhaLRbt27dLzzz8vPz8/hYSEqFOnTrp48WKqnHde2nfp0iXrc+Du7q68efOqZ8+eqXqU582bpypVqsjPz0/e3t4qWLCgOnXqdM/n6dKlS+rcubMCAwOVM2dONWjQQHv37k1zXnteA+m5V76U187MmTPVu3dvhYaGysvLS1FRUdq2bVuq9dn7vnC383DVqlWqVKmSJKljx47W12HK87d582a1adPGes5FRkbq+eeft7532rudu3mQY2qxWNS9e3d98803Kl68uLy9vVW2bFktXrz4nssmJydr1KhRKlasmDw8PBQcHKz27dvr33//tZkvvctNa9WqZX2fP336tNzd3dPsTf3nn39ksVisr7WUy7t+++03derUSUFBQfL29tb169e1f/9+dezYUYULF5a3t7fy5s2rpk2baufOnTbrdNT7bFrmzp2revXqKSwsTF5eXipevLj69++f6vV2+/7frkOHDoqMjLRpu9fn0N0u+3yQ95O01KpVS6VKldL69etVrVo163k9bdo0SdLPP/+sChUqyNvbW6VLl9bSpUttlrf3OXqQS1kTExM1depUtW3b1tobdejQIQUFBUmS9e8Oi8ViPTdTjsvWrVv19NNPy9/fX48++qgk+1/HaV3a16FDB+XMmVP79+9Xo0aNlDNnTuXLl099+vTR9evX77kvK1asUK1atRQYGCgvLy/lz59frVu3VkJCgs3+Dh061PpaDAoKUseOHXX69GnrPJGRkdq1a5dWr15t3ffbz7PHHntMxYsX1+eff27qWOMWeqRgyv79+yXJ+qZ06NAhdenSRfnz55ckbdiwQW+88YaOHTumDz74wGbZrVu3avfu3XrvvfdUoEAB+fj4qEWLFnryySdVu3Zt6wdprly50t3+1atX9dRTT+n48eMaPny4ihQpop9//lnPPfdcqnlXrlypBg0aqEqVKvr888/l5+enOXPm6LnnnlNCQsJd7ye5efOmGjZsqD///FM9e/bUk08+qZs3b2rDhg06cuSIqf/a/P3336pWrZry58+vjz76SKGhofr111/Vo0cPnTlzRgMHDrSZ/5133lH16tX15Zdf6tKlS3r77bfVtGlT7d69W66urpo0aZJeffVVHThwQAsWLLBZds6cOerWrZveeOMNjRkzRi4uLtq/f7/+/vvvu2bMiOPau3dvffPNNxo6dKjKly+v+Ph4/fXXXzp79uxdsxw7dkyVKlXSjRs39M4776hMmTI6e/asfv31V50/f14hISE6ffq0qlWrpsTERA0ZMkSRkZFavHix+vbtqwMHDmjSpEk26/z0009VpkwZffrpp7pw4YL69Omjpk2bqkqVKnJzc9NXX32lw4cPq2/fvnrllVe0aNEim+VjY2PVs2dPRUdHKzQ0VN9++63efPNNJSYmqm/fvpJu/cFz7tw59e3bV3nz5lViYqJ+//13tWrVStOmTVP79u0l3fojtGnTptq8ebOio6Otl4Q0aNAg3WPSunVrPffcc3r55Ze1c+dODRgwQJL01VdfpbtMQkKCoqKi9O+//1qP465du/TBBx9o586d+v3332WxWLR+/Xo999xzeu655xQdHS1PT08dPnxYK1asuOvzZBiGWrRooXXr1umDDz5QpUqVtHbtWjVs2DDVvGZfA7czk++dd95RhQoV9OWXX+rixYuKjo5WrVq1tG3bNhUsWFCS/efvvc7DChUqaNq0aerYsaPee+8962VIjzzyiKRb741FixZVmzZtFBAQoBMnTuizzz5TpUqV9PfffytPnjx2bSckJCTN4/IgxzTFzz//rJiYGA0ePFg5c+bUqFGj1LJlS+3Zs8d6vDp06JDqvfK1117T5MmT1b17dzVp0kSHDh3S+++/r1WrVmnr1q3WfbNHUFCQmjRpohkzZmjQoEHWP36lW5eWu7u7p7r6oVOnTmrcuLG++eYbxcfHy83NTceP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HovFoqZNm9q0lSlT5p7nWbly5eTu7q5XX31VM2bM0MGDB1PNs3jxYuXOnVtNmza1eQ8oV66cQkNDTQ2sERwcLEkOH5X5YUAhhbv6+uuvFRMTo23btun48ePasWOHqlevLknatGmT6tWrJ0maMmWK1q5dq5iYGL377ruSlOoP57CwsAfOc/bs2TQvdQkNDbV5nHJvQd++feXm5mbz061bN0m6a5Fx+vRphYeH2/zxfb95b968qQkTJqTK0ahRozRzBAYG2jxO6YK3pxB58cUXrZeptW7dWsHBwapSpYqWLVt2z5yOPq7jx4/X22+/rYULF6p27doKCAhQixYttG/fvrtmOX36tPXyqLvlTet8Svkgv/PywYCAAJvH7u7ud22/du2aTfudx+H2tpRtzZ8/X88++6zy5s2rmTNnav369YqJiVGnTp1s1nf27FnlyJEj1bbTu4RLur9z4n//+5927NiR6nny9fWVYRjW56lmzZpauHChbt68qfbt2+uRRx5RqVKl7nkvW8p+3JntzmN1P6+B25nJl97zlPIcmTl/7TkP76Zt27aaOHGiXnnlFf3666/atGmTYmJiFBQUZPO83c92HvSYprjzuZNunVt3O69SjmV6r797Xbqblhw5cujFF1/UggULdOHCBUm37ocKCwtT/fr1U82f1rZ79+6t999/Xy1atNBPP/2kjRs3KiYmRmXLlk1zfx7kfTYtV65cUY0aNbRx40YNHTpUq1atUkxMjObPn3/f63XU59CdHmTf73zfkm69b9rzXmr2ObofV69elZubm1xdXU0vm9Z5Ze/rOD3e3t7y9PS0afPw8Ej1GXOnRx99VL///ruCg4P1+uuv69FHH9Wjjz6qTz75xDrP//73P124cEHu7u6p3gdOnjxp9z9SJVkzOup5eJhwjxTuqnjx4tZR++40Z84cubm5afHixTZvFOkNZe6I624DAwO1adOmVO13DoqQ8t+oAQMGpDtyz92uxw4KCtKaNWuUnJz8QB9i/v7+cnV11YsvvqjXX389zXkKFChw3+tPS8eOHdWxY0fFx8frjz/+0MCBA9WkSRPt3btXERERaS6TEcfVx8dHgwYN0qBBg/S///3P2jvVtGlT/fPPP+nmDwoKSnXTelp5T5w4kar9+PHjNjkdJa1BN1LaUv4omTlzpgoUKKC5c+fanOt33lQcGBiomzdv6ty5czZ/fKQ3sMf9ypMnj7y8vNK97+H2Y9S8eXM1b95c169f14YNGzR8+HC1bdtWkZGRqlq1aprLp+zH2bNnbf4wu3M/HPEasDdfes9TSj4z568952F6Ll68qMWLF2vgwIHq37+/tT3lPrrb3c92MuN9JUXKsTxx4kSqAvD48eM255Wnp2eaN9WfOXMm1Wu0Y8eOGj16tPV+tUWLFqlnz55p/kGc1mfJzJkz1b59ew0bNizVtnLnzm33/t2vFStW6Pjx41q1apW1F0qStTC8naenZ5qDO9z5h689n0Mpn713Huf7KWgz2n/xHOXJk0eJiYmKj4+Xj4+PqWXvPK/MvI4zQo0aNVSjRg0lJSVp8+bNmjBhgnr27KmQkBC1adNGefLkUWBgYKpBPVLc3tt8Lyn74+jPzocBPVK4bylf1Hv7B93Vq1f1zTffmFrPvf4DervatWvr8uXLqQYDmDVrls3jokWLqnDhwtq+fbsqVqyY5s/d3mQaNmyoa9euPfAXYHp7e6t27dratm2bypQpk2aOtP4rfC/2HDMfHx81bNhQ7777rhITE7Vr1650583o4xoSEqIOHTro+eef1549e2xGHbpTw4YNtXLlyrteelmnTh39/fffqb5E8Ouvv5bFYrG50dgRdu3ape3bt9u0zZo1S76+vtbvDbFYLHJ3d7f5MD558mSqUftS/siaO3euTfucOXMcmrlJkyY6cOCAAgMD03ye7hwdTLp1XkVFRWnkyJGSlOaIdylSjvG3335r037nOePI18C98s2ePdtmxNDDhw9r3bp11hHSzJy/9pyH6f0n32KxyDCMVDd0f/nll0pKSrJps2c7d8qo9xV7PPnkk5Ju/VF8u5iYGO3evVt16tSxtkVGRmrHjh028+3duzfNfS1evLiqVKmiadOmadasWbp+/bo6duxody6LxZLqeP/8888PdKmSmc+mlNf9nRm++OKLVPNGRkZq7969NsXP2bNnU40Ia8/nUEhIiDw9PVMd57RGC81sGfEc3alYsWKSpAMHDti030+Po5nXcUZydXVVlSpVrCNypnzuNWnSRGfPnlVSUlKa7wG3/7P4XufywYMH5eLi4pABPx429EjhvjVu3Fhjx45V27Zt9eqrr+rs2bMaM2ZMqjedeyldurRWrVqln376SWFhYfL19U33xdy+fXt9/PHHat++vT788EMVLlxYv/zyi3799ddU837xxRdq2LCh6tevrw4dOihv3rw6d+6cdu/era1bt2revHnpZnr++ec1bdo0de3aVXv27FHt2rWVnJysjRs3qnjx4mrTpo3d+/fJJ5/oiSeeUI0aNfTaa68pMjJSly9f1v79+/XTTz/d12hOpUuX1vz58/XZZ5/psccek4uLiypWrKjOnTvLy8tL1atXV1hYmE6ePKnhw4fLz8/Peq9JWjLiuFapUkVNmjRRmTJl5O/vr927d+ubb75R1apV7/r9HIMHD9aSJUtUs2ZNvfPOOypdurQuXLigpUuXqnfv3ipWrJh69eqlr7/+Wo0bN9bgwYMVERGhn3/+WZMmTdJrr732wPfi3Sk8PFzNmjVTdHS0wsLCNHPmTC1btkwjR4607kvK8P7dunXT008/raNHj2rIkCEKCwuzuZyxQYMGql69uvr06aNLly7pscce0/r16/X1119LksMu4+nZs6d++OEH1axZU7169VKZMmWUnJysI0eO6LffflOfPn1UpUoVffDBB/r3339Vp04dPfLII7pw4YI++eQTm/s70lKvXj3VrFlT/fr1U3x8vCpWrKi1a9em+Y+UB3kNmMl36tQptWzZUp07d9bFixc1cOBAeXp6Wkclk+w/f+05Dx999FF5eXnp22+/VfHixZUzZ06Fh4crPDxcNWvW1OjRo5UnTx5FRkZq9erVmjp1aqr/vNuznbRkxPuKPYoWLapXX31VEyZMkIuLixo2bGgdtS9fvnw2X+z54osv6oUXXlC3bt3UunVrHT58WKNGjUo1WlqKTp06qUuXLjp+/LiqVatm6o+6Jk2aaPr06SpWrJjKlCmjLVu2aPTo0Q90eWZ677NpqVatmvz9/dW1a1cNHDhQbm5u+vbbb1P9A0a6dVy++OILvfDCC+rcubPOnj2rUaNGpRqx1p7PIYvFohdeeEFfffWVHn30UZUtW1abNm1K9Q8NZ5ARz9GdUv5psmHDBut9b9Kt3pmIiAj9+OOPqlOnjgICAqyvzfTkypXL7texo33++edasWKFGjdurPz58+vatWvWqwueeuopSVKbNm307bffqlGjRnrzzTdVuXJlubm56d9//9XKlSvVvHlztWzZUtKtc3nOnDmaO3euChYsKE9PT5UuXdq6vQ0bNqhcuXLy9/fP0P3KljJ1qAs4rZQRcu4c8etOX331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AJhEIQUAAAAAJlFIAVlcYmKihg0bpt27d2d2FAAAgIcGhRTSFB0drXLlymXa9letWiWLxaILFy5kWob70aFDB7Vo0eI/3Wbfvn21c+dOFStW7J7zOiJfVn1uAAAAHClTv0cqS4v2+4+3l/WGrz106JAKFCigbdu2ZWpR5gjR0dFauHChYmNjMzuKjR9++EF//fWXli5dKovFcs/5P/nkE/GNBwAAAA+OHilkW4mJiZkdIcO1bt1aK1askLu7+13nS0pKUnJysvz8/JQ7d+7/JhwAAEA2RiGVTS1dulRPPPGEcufOrcDAQDVp0kQHDhywmefff/9VmzZtFBAQIB8fH1WsWFEbN260meebb75RZGSk/Pz81KZNG12+fNnubRQoUECSVL58eVksFtWqVSvdvL/88ouKFCkiLy8v1a5dW4cOHbKZntalhuPGjVNkZKT1ccpla8OHD1d4eLiKFCkiSZo5c6YqVqwoX19fhYaGqm3btjp16pR1uZRL1ZYvX66KFSvK29tb1apV0549eyRJ06dP16BBg7R9+3ZZLBZZLBZNnz493X25nT3Pw51q1aql7t27q3v37tbl3nvvPZuepMTERPXr10958+aVj4+PqlSpolWrVlmnT58+Xblz59bixYtVokQJeXh46PDhw6ku7bt+/bp69Oih4OBgeXp66oknnlBMTIxNnns9N5K0bt061axZU15eXsqXL5969Oih+Ph4u44RAABAVkQhlU3Fx8erd+/eiomJ0fLly+Xi4qKWLVsqOTlZknTlyhVFRUXp+PHjWrRokbZv365+/fpZp0vSgQMHtHDhQi1evFiLFy/W6tWrNWLECLu3sWnTJknS77//rhMnTmj+/PlpZj169KhatWqlRo0aKTY2Vq+88or69+9/X/u9fPly7d69W8uWLdPixYsl3So6hgwZou3bt2vhwoWKi4tThw4dUi377rvv6qOPPtLmzZuVI0cOderUSZL03HPPqU+fPipZsqROnDihEydO6LnnnrMrz72OUXpmzJihHDlyaOPGjRo/frw+/vhjffnll9bpHTt21Nq1azVnzhzt2LFDzzzzjBo0aKB9+/ZZ50lISNDw4cP15ZdfateuXQoODk61nX79+umHH37QjBkztHXrVhUqVEj169fXuXPnJNn33OzcuVP169dXq1attGPHDs2dO1dr1qxR9+7d7TpG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odizZ49j0wEAAACAEzLdI1WqVCnt2LFDBQsWVJUqVTRq1Ci5u7tr8uTJKliwYEZkBAAAAACnYrqQeu+99xQfHy9JGjp0qJo0aaIaNWooMDBQc+fOdXhAAAAAAHA2pgup+vXrW38vWLCg/v77b507d07+/v7WkfsAAAAAIDszfY/U9OnTdfXqVZu2gIAAiigAAAAADw3ThdSAAQMUEhKil19+WevWrcuITAAAAADg1EwXUv/++69mzpyp8+fPq3bt2ipWrJhGjhypkydPZkQ+AAAAAHA6pgspV1dXNWvWTPPnz9fRo0f16quv6ttvv1X+/PnVrFkz/fjjj0pOTs6IrAAAAADgFEwXUrcLDg5W9erVVbVqVbm4uGjnzp3q0KGDHn30Ua1atcpBEQEAAADAudxXIfW///1PY8aMUcmSJVWrVi1dunRJixcvVlxcnI4fP65WrVrppZdecnRWAAAAAHAKpoc/b9q0qX799VcVKVJEnTt3Vvv27RUQEGCd7uXlpT59+ujjjz92aFAAAAAAcBamC6ng4GCtXr1aVatWTXeesLAwxcXFPVAwAAAAAHBWpgupqVOn3nMei8WiiIiI+woEAAAAAM7OdCElSfHx8Vq9erWOHDmixMREm2k9evRwSDAAAAAAcFamC6lt27apUaNGSkhIUHx8vAICAnTmzBl5e3srODiYQgoAAABAtmd61L5evXqpadOmOnfunLy8vLRhwwYdPnxYjz32mMaMGZMRGQEAAADAqZgupGJjY9WnTx+5urrK1dVV169fV758+TRq1Ci98847GZERAAAAAJyK6ULKzc1NFotFkhQSEqIjR45Ikvz8/Ky/AwAAAEB2ZvoeqfLly2vz5s0qUqSIateurQ8++EBnzpzRN998o9KlS2dERgAAAABwKqZ7pIYNG6awsDBJ0pAhQxQYGKjXXntNp06d0uTJkx0eEAAAAACcjekeqYoVK1p/DwoK0i+//OLQQAAAAADg7Ez3SAEAAADAw87uHqnatWtbB5mQpBUrVmRIIAAAAABwdnYXUh06dMjAGAAAAACQddhdSL300ksZmQMAAAAAsgzTg02kSExM1KlTp5ScnGzTnj9//gcOBQAAAADOzHQhtXfvXr388stat26dTbthGLJYLEpKSnJYOAAAAABwRqYLqY4dOypHjhxavHixwsLCbAagAAAAAICHgelCKjY2Vlu2bFGxYsUyIg8AAAAAOD3T3yNVokQJnTlzJiOy3NPw4cNlsVjUs2dPa5thGIqOjlZ4eLi8vLxUq1Yt7dq1K1PyAQAAAHg4mC6kRo4cqX79+mnVqlU6e/asLl26ZPOTUWJiYjR58mSVKVPGpn3UqFEaO3asJk6cqJiYGIWGhqpu3bq6fPlyhmUBAAAA8HAzXUg99dRT2rBhg+rUqaPg4GD5+/vL399fuXPnlr+/f0Zk1JUrV9SuXTtNmTLFZhuGYWjcuHF699131apVK5UqVUozZsxQQkKCZs2alSFZAAAAAMD0PVIrV67MiBx39frrr6tx48Z66qmnNHToUGt7XFycTp48qXr16lnbPDw8FBUVpXXr1qlLly5pru/69eu6fv269XFG9qQBAAAAyH5MF1JRUVEZkSNdc+bM0datWxUTE5Nq2smTJyVJISEhNu0hISE6fPhwuuscPny4Bg0a5NigAAAAAB4api/t+y8dPXpUb775pmbOnClPT89057tzCPaU77RKz4ABA3Tx4kXrz9GjRx2WGQAAAED2Z7pH6r+0ZcsWnTp1So899pi1LSkpSX/88YcmTpyoPXv2SLrVMxUWFmad59SpU6l6qW7n4eEhDw+PjAsOAAAAIFtz6h6pOnXqaOfOnYqNjbX+VKxYUe3atVNsbKwKFiyo0NBQLVu2zLpMYmKiVq9erWrVqmVicgAAAADZmVP3SPn6+qpUqVI2bT4+PgoMDLS29+zZU8OGDVPhwoVVuHBhDRs2TN7e3mrbtm1mRAYAAADwEDBdSF29elWGYcjb21uSdPjwYS1YsEAlSpSwGT3vv9KvXz9dvXpV3bp10/nz51WlShX99ttv8vX1/c+zAAAAAHg4mC6kmjdvrlatWqlr1666cOGCqlSpIjc3N505c0Zjx47Va6+9lhE5rVatWmXz2GKxKDo6WtHR0Rm6XQAAAABIYfoeqa1bt6pGjRqSpO+//9461PjXX3+t8ePHOzwgAAAAADgb04VUQkKC9bK53377Ta1atZKLi4sef/zxu353EwAAAABkF6YLqUKFCmnhwoU6evSofv31V+t9UadOnVKuXLkcHhAAAAAAnI3pQuqDDz5Q3759FRkZqSpVqqhq1aqSbvVOlS9f3uEBAQAAAMDZmB5s4umnn9YTTzyhEydOqGzZstb2OnXqqFWrVg4NBwAAAADOyHSPVKdOneTj46Py5cvLxeX/Fi9ZsqRGjhzp0HAAAAAA4IxMF1IzZszQ1atXU7VfvXpVX3/9tUNCAQAAAIAzs/vSvkuXLskwDBmGocuXL8vT09M6LSkpSb/88ouCg4MzJCQAAAAAOBO7C6ncuXPLYrHIYrGoSJEiqaZbLBYNGjTIoeEAAAAAwBnZXUitXLlShmHoySef1A8//KCAgADrNHd3d0VERCg8PDxDQgIAAACAM7G7kIqKipIkxcXFKV++fDYDTQAAAADAw8T08OcRERG6cOGCNm3apFOnTik5Odlmevv27R0WDgAAAACckelC6qefflK7du0UHx8vX19fWSwW6zSLxUIhBQAAACDbM319Xp8+fdSpUyddvnxZFy5c0Pnz560/586dy4iMAAAAAOBUTBdSx44dU48ePeTt7Z0ReQAAAADA6ZkupOrXr6/NmzdnRBYAAAAAyBJM3yPVuHFjvfXWW/r7779VunRpubm52Uxv1qyZw8IBAAAAgDMyXUh17txZkjR48OBU0ywWi5KSkh48FQAAAAA4MdOF1J3DnQMAAADAw+aBvlX32rVrjsoBAAAAAFmG6UIqKSlJQ4YMUd68eZUzZ04dPHhQkvT+++9r6tSpDg8IAAAAAM7GdCH14Ycfavr06Ro1apTc3d2t7aVLl9aXX37p0HAAAAAA4IxMF1Jff/21Jk+erHbt2snV1dXaXqZMGf3zzz8ODQcAAAAAzui+vpC3UKFCqdqTk5N148YNh4QCAAAAAGdmupAqWbKk/vzzz1Tt8+bNU/ny5R0SCgAAAACcmenhzwcOHKgXX3xRx44dU3JysubPn689e/bo66+/1uLFizMiIwAAAAA4FdM9Uk2bNtXcuXP1yy+/yGKx6IMPPtDu3bv1008/qW7duhmREQAAAACciukeKUmqX7++6tev7+gsAAAAAJAlPNAX8gIAAADAw8iuHqmAgADt3btXefLkkb+/vywWS7rznjt3zmHhAAAAAMAZ2VVIffzxx/L19ZUkjRs3LiPzAAAAAIDTs6uQeumll9L8HQAAAAAeRnYVUpcuXbJ7hbly5brvMAAAAACQFdhVSOXOnfuu90VJkmEYslgsSkpKckgwAAAAAHBWdhVSK1euzOgcAAAAAJBl2FVIRUVFZXQOAAAAAMgyTH+P1LRp0zRv3rxU7fPmzdOMGTMcEgoAAAAAnJnpQmrEiBHKkydPqvbg4GANGzbMIaEAAAAAwJmZLqQOHz6sAgUKpGqPiIjQkSNHHBIKAAAAAJyZ6UIqODhYO3bsSNW+fft2BQYGOiQUAAAAADgz04VUmzZt1KNHD61cuVJJSUlKSkrSihUr9Oabb6pNmzYZkREAAAAAnIpdo/bdbujQoTp8+LDq1KmjHDluLZ6cnKz27dtzjxQAAACAh4LpQsrd3V1z587V0KFDFRsbKy8vL5UuXVoREREZkQ8AAAAAnI7pQipF4cKFVbhwYUdmAQAAAIAswfQ9UgAAAADwsKOQAgAAAACTKKQAAAAAwCQKKQAAAAAw6b4KqT///FMvvPCCqlatqmPHjkmSvvnmG61Zs8ah4QAAAADAGZkupH744QfVr19fXl5e2rZtm65fvy5Junz5Mt8jBQAAAOChYLqQGjp0qD7//HNNmTJFbm5u1vZq1app69atDg0HAAAAAM7IdCG1Z88e1axZM1V7rly5dOHCBUdkAgAAAACnZrqQCgsL0/79+1O1r1mzRgULFnRIKAAAAABwZqYLqS5duujNN9/Uxo0bZbFYdPz4cX377bfq27evunXrlhEZAQAAAMCp5DC7QL9+/XTx4kXVrl1b165dU82aNeXh4aG+ffuqe/fuGZERAAAAAJyK6UJKkj788EO9++67+vvvv5WcnKwSJUooZ86cjs4GAAAAAE7pvgopSfL29lbFihUdmQUAAAAAsgS7CqlWrVrZvcL58+ffdxgAAAAAyArsGmzCz8/P+pMrVy4tX75cmzdvtk7fsmWLli9fLj8/vwwLCgAAAADOwq4eqWnTpll/f/vtt/Xss8/q888/l6urqyQpKSlJ3bp1U65cuTImJQAAAAA4EdPDn3/11Vfq27evtYiSJFdXV/Xu3VtfffWVQ8MBAAAAgDMyXUjdvHlTu3fvTtW+e/duJScnOyQUAAAAADgz06P2dezYUZ06ddL+/fv1+OOPS5I2bNigESNGqGPHjg4PCAAAAADOxnQhNWbMGIWGhurjjz/WiRMnJElhYWHq16+f+vTp4/CAAAAAAOBsTBdSLi4u6tevn/r166dLly5JEoNMAAAAAHio3PcX8koUUAAAAAAeTqYHmwAAAACAhx2FFAAAAACYRCEFAAAAACaZLqS+/vprXb9+PVV7YmKivv76a4eEAgAAAABnZrqQ6tixoy5evJiq/fLly3yPFAAAAICHgulCyjAMWSyWVO3//vuv/Pz8HBIKAAAAAJyZ3cOfly9fXhaLRRaLRXXq1FGOHP+3aFJSkuLi4tSgQYMMCQkAAAAAzsTuQqpFixaSpNjYWNWvX185c+a0TnN3d1dkZKRat27t8IAAAAAA4GzsLqQGDhyopKQkRUREqH79+goLC8vIXAAAAADgtEzdI+Xq6qquXbvq2rVrGZUHAAAAAJye6cEmSpcurYMHD2ZEFgAAAADIEkwXUh9++KH69u2rxYsX68SJE7p06ZLNjyMNHz5clSpVkq+vr4KDg9WiRQvt2bPHZh7DMBQdHa3w8HB5eXmpVq1a2rVrl0NzAAAAAMDtTBdSDRo00Pbt29WsWTM98sgj8vf3l7+/v3Lnzi1/f3+Hhlu9erVef/11bdiwQcuWLdPNmzdVr149xcfHW+cZNWqUxo4dq4kTJyomJkahoaGqW7euLl++7NAsAAAAAJDC7sEmUqxcuTIjcqRp6dKlNo+nTZum4OBgbdmyRTVr1pRhGBo3bpzeffddtWrVSpI0Y8YMhYSEaNasWerSpct/lhUAAADAw8N0IRUVFZUROexy8eJFSVJAQIAkKS4uTidPnlS9evWs83h4eCgqKkrr1q1Lt5C6fv26rl+/bn3s6EsSAQAAAGRvpgupFAkJCTpy5IgSExNt2suUKfPAodJiGIZ69+6tJ554QqVKlZIknTx5UpIUEhJiM29ISIgOHz6c7rqGDx+uQYMGZUhOAAAAANmf6ULq9OnT6tixo5YsWZLm9KSkpAcOlZbu3btrx44dWrNmTappFovF5rFhGKnabjdgwAD17t3b+vjSpUvKly+f48ICAAAAyNZMDzbRs2dPnT9/Xhs2bJCXl5eWLl2qGTNmqHDhwlq0aFFGZNQbb7yhRYsWaeXKlXrkkUes7aGhoZL+r2cqxalTp1L1Ut3Ow8NDuXLlsvkBAAAAAHuZLqRWrFihjz/+WJUqVZKLi4siIiL0wgsvaNSoURo+fLhDwxmGoe7du2v+/PlasWKFChQoYDO9QIECCg0N1bJly6xtiYmJWr16tapVq+bQLAAAAACQwvSlffHx8QoODpZ0a9CH06dPq0iRIipdurS2bt3q0HCvv/66Zs2apR9//FG+vr7Wnic/Pz95eXnJYrGoZ8+eGjZsmAoXLqzChQtr2LBh8vb2Vtu2bR2aBQAAAABSmC6kihYtqj179igyMlLlypXTF198ocjISH3++ecKCwtzaLjPPvtMklSrVi2b9mnTpqlDhw6SpH79+unq1avq1q2bzp8/rypVqui3336Tr6+vQ7MAAAAAQArThVTPnj11/PhxSdLAgQNVv359ffvtt3J3d9f06dMdGs4wjHvOY7FYFB0drejoaIduGwAAAADSY7qQateunfX38uXL69ChQ/rnn3+UP39+5cmTx6HhAAAAAMAZ2T3YREJCgl5//XXlzZtXwcHBatu2rc6cOSNvb29VqFCBIgoAAADAQ8PuQmrgwIGaPn26GjdurDZt2mjZsmV67bXXMjIbAAAAADgluy/tmz9/vqZOnao2bdpIkl544QVVr15dSUlJcnV1zbCAAAAAAOBs7O6ROnr0qGrUqGF9XLlyZeXIkcM68AQAAAAAPCzsLqSSkpLk7u5u05YjRw7dvHnT4aEAAAAAwJnZfWmfYRjq0KGDPDw8rG3Xrl1T165d5ePjY22bP3++YxMCAAAAgJOxu5B66aWXUrW98MILDg0DAAAAAFmB3YXUtGnTMjIHAAAAAGQZdt8jBQAAAAC4hUIKAAAAAEyikAIAAAAAkyikAAAAAMAkCikAAAAAMIlCCgAAAABMopACAAAAAJMopAAAAADAJAopAAAAADCJQgoAAAAATKKQAgAAAACTKKQAAAAAwCQKKQAAAAAwiUIKAAAAAEyikAIAAAAAkyikAAAAAMAkCikAAAAAMIlCCgAAAABMopACAAAAAJMopAAAAADAJAopAAAAADCJQgoAAAAATKKQAgAAAACTKKQAAAAAwCQKKQAAAAAwiUIKAAAAAEyikAIAAAAAkyikAAAAAMAkCikAAAAAMIlCCgAAAABMopACAAAAAJMopAAAAADAJAopAAAAADCJQgoAAAAATKKQAgAAAACTKKQAAAAAwCQKKQAAAAAwiUIKAAAAAEyikAIAAAAAkyikAAAAAMAkCikAAAAAMIlCCgAAAABMopACAAAAAJMopAAAAADAJAopAAAAADCJQgoAAAAATKKQAgAAAACTKKQAAAAAwCQKKQAAAAAwiUIKAAAAAEyikAIAAAAAkyikAAAAAMAkCikAAAAAMIlCCgAAAABMopACAAAAAJMopAAAAADAJAopAAAAADCJQgoAAAAATKKQAgAAAACTKKQAAAAA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1a9fX61atdKOHTs0d+5crVmz5q7r/fnnn9WqVSs1btxY27Zt0/Lly1WxYkXr9A4dOmjz5s1atGiR1q9fL8Mw1KhRI924ccM6T0JCgsaPH685c+Zo6dKlWrVqlVq1aqVffvlFv/zyi7755htNnjxZ33//vc22R48erTJlymjr1q0aMGCAevXqpWXLllmnu7i4aPz48frrr780Y8YMrVixQv369bNOX7t2rbp27ao333xTsbGxqlu3rj788MNU+3jgwAEtXLhQixcv1uLFi7V69epUl4PermPHjlq7dq3mzJmjHTt26JlnnlGDBg1sCkgAeGgYAIBs56WXXjKaN29uGIZhPP7440anTp0MwzCMBQsWGLe/9Q8cONAoW7aszbIff/yxERERYbOuiIgIIykpydpWtGhRo0aNGtbHN2/eNHx8fIzZs2cbhmEYU6dONYoWLWokJydb57l+/brh5eVl/Prrr9b1hoSEGNevX7fOM3nyZMPf39+4cuWKte3nn382XFxcjJMnT6a5rwMGDDCKFy9us623337bkGScP3/eMAzDePHFF41XX33VZrk///zTcHFxMa5evZrmeqtWrWq0a9cuzWl79+41JBlr1661tp05c8bw8vIyvvvuO8MwDGPatGmGJGP//v3Webp06WJ4e3sbly9ftrbVr1/f6NKli/VxRESE0aBBA5vtPffcc0bDhg3TzGIYhvHdd98ZgYGBNvM3btzYZp527doZfn5+1scDBw40vL29jUuXLlnb3nrrLaNKlSrWx1FRUcabb75pGIZh7N+/37BYLMaxY8ds1lunTh1jwIAB6WYDgOyKHikAyOZGjhypGTNm6O+//77vdZQsWVIuLv/3kRESEqLSpUtbH7u6uiowMFCnTp2SJG3ZskX79++Xr6+vcubMqZw5cyogIEDXrl3TgQMHrMuVLl3a5r6o3bt3q2zZsvLx8bG2Va9eXcnJydqzZ0+a2Xbv3q3HH3/cZhCNqlWr2syzZcsWTZ8+3ZolZ86cql+/vpKTkxUXF5fmemNjY1WnTp10t5kjRw5VqVLF2hYYGKiiRYtq9+7d1jZvb289+uijNsctMjLSZvTCkJAQ63FLL3/VqlVt1rty5UrVrVtXefPmla+vr9q3b6+zZ89aL1Xcs2ePKleubLOOOx9Lty4j9PX1tT4OCwtLlSXF1q1bZRiGihQpYnMcV69ebfOcAsDDgsEmACCbq1mzpurXr6933nlHHTp0sJnm4uIiwzBs2m6/NC2Fm5ubzWOLxZJmW3JysiQpOTlZjz32mL799ttU6woKCrL+fnvBJEmGYaQ7qmB67XfmT0tycrK6dOmiHj16pJqWP3/+NJfx8vJKd33pbfPO/GaP292krPfw4cNq1KiRunbtqiFDhiggIEBr1qzRyy+/bH3u0jqOaWU2kyU5OVmurq7asmWLXF1dbab9V8PaA4AzoZACgIfAiBEjVK5cOeuADimCgoJ08uRJmz+8Y2NjH3h7FSpU0Ny5cxUcHKxcuXLZvVyJEiU0Y8YMxcfHW4ustWvXysXFJVX225dZuHChTduGDRtS5dm1a5cKFSpkd5YyZcpo+fLl6tixY5rbvHnzpjZu3Khq1apJks6ePau9e/eqePHidm8jPXfm37Bhg4oVKyZJ2rx5s27evKmPPvrI2kv43Xff2cxfrFgxbdq0yaZt8+bND5SpfPnySkpK0qlTp1SjRo0HWhcAZAdc2gcAD4HSpUurXbt2qUZ/q1Wrlk6fPq1Ro0bpwIED+vTTT7VkyZIH3l67du2UJ08eNW/eXH/++afi4uK0evVqvfnmm3cd+KJdu3by9PTUSy+9pL/++ksrV67UG2+8oRdffFEhISFpLtO1a1cdOHBAvXv31p49ezRr1ixNnz7dZp63335b69ev1+uvv67Y2Fjt27dPixYt0htvvJFuloEDB2r27NkaOHCgdu/erZ07d2rUqFGSpMKFC6t58+bq3Lmz1qxZo+3bt+uFF15Q3rx51bx5c/MH7A5r167VqFGjtHfvXn366aeaN2+e3nzzTUnSo48+qps3b2rChAk6ePCgvvnmG33++ec2y7/xxhv65ZdfNHbsWO3bt09ffPGFlixZ8kDfIVakSBG1a9dO7du31/z58xUXF6eYmBiNHDlSv/zyywPtLwBkRRRSAPCQGDJkSKrLu4oXL65Jkybp008/VdmyZbVp0yb17dv3gbfl7e2tP/74Q/nz51erVq1UvHhxderUSVevXr1rD5W3t7d+/fVXnTt3TpUqVdLTTz+tOnXqaOLEiekukz9/fv3www/66aefVLZsWX3++ecaNmyYzTxlypTR6tWrtW/fPtWoUUPly5fX+++/r7CwsHTXW6tWLc2bN0+LFi1SuXLl9OSTT2rjxo3W6dOmTdNjjz2mJk2aqGrVqjIMQ7/88kuqy+XuR58+fbRlyxaVL19eQ4YM0UcffaT69etLksqVK6exY8dq5MiRKlWqlL799ttUQ9xXr15dn3/+ucaOHauyZctq6dKl6tWrlzw9PR8o17Rp09S+fXv16dNHRYsWVbNmzbRx40bly5fvgdYLAFmRxbDn4nIAAPCfiIyMVM+ePW2+v8kROnfurH/++Ud//vmnQ9cLAA8r7pECACAbGjNmjOrWrSsfHx8tWbJEM2bM0KRJkzI7FgBkGxRSAABkQ5s2bdKoUaN0+fJlFSxYUOPHj9crr7yS2bEAINvg0j4AAAAAMInBJgAAAADAJAopAAAAADCJQgoAAAAATKKQAgAAAACTKKQAAAAAwCQKKQAAAAAwiUIKAAAAAEyikAIAAAAAkyikAAAAAMCk/wdQ8KSE0wZHgQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "multiple_barplot(company_lazy_customers, x=\"number_company\", y=\"no_campaign_opened\", var_labels=\"y_has_purchased\",\n", + " dico_labels = {0 : \"aucun achat\", 1 : \"achat durant la période\"},\n", + " xlabel = \"Numéro de compagnie\", ylabel = \"Part de clients n'ayant ouvert aucun mail (%)\", \n", + " title = \"Part de clients des compagnies de spectacle n'ouvrant aucun mail (train set)\")" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "id": "b391f5b2-2424-4758-8ae5-f0fdacdfae66", + "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", + "
customer_idnb_ticketsnb_purchasestotal_amountnb_suppliersvente_internet_maxpurchase_date_minpurchase_date_maxtime_between_purchasenb_tickets_internet...gender_femalegender_malegender_othercountry_frnb_campaignsnb_campaigns_openedtime_to_openy_has_purchasednumber_companyno_campaign_opened
010_2993410.00.00.00.00.0NaNNaNNaN0.0...0101.012.03.00 days 05:47:26.3333333330.010False
110_637883.02.062.01.01.0393.205891281.017639112.1882523.0...1001.03.01.00 days 05:13:511.010False
210_7599460.00.00.00.00.0NaNNaNNaN0.0...001NaN0.00.0NaN0.010True
310_206530.00.00.00.00.0NaNNaNNaN0.0...0101.011.010.01 days 00:45:540.010False
410_8247050.00.00.00.00.0NaNNaNNaN0.0...001NaN0.00.0NaN0.010True
..................................................................
69729214_1199500.00.00.00.00.0NaNNaNNaN0.0...0101.00.00.0NaN0.014True
69729314_9380.00.00.00.00.0NaNNaNNaN0.0...0101.00.00.0NaN0.014True
69729414_50047070.00.00.00.00.0NaNNaNNaN0.0...0101.02.01.02 days 16:42:510.014False
69729514_1081840.00.00.00.00.0NaNNaNNaN0.0...0011.00.00.0NaN0.014True
69729614_46639810.00.00.00.00.0NaNNaNNaN0.0...001NaN0.00.0NaN0.014True
\n", + "

697297 rows × 42 columns

\n", + "
" + ], + "text/plain": [ + " customer_id nb_tickets nb_purchases total_amount nb_suppliers \\\n", + "0 10_299341 0.0 0.0 0.0 0.0 \n", + "1 10_63788 3.0 2.0 62.0 1.0 \n", + "2 10_759946 0.0 0.0 0.0 0.0 \n", + "3 10_20653 0.0 0.0 0.0 0.0 \n", + "4 10_824705 0.0 0.0 0.0 0.0 \n", + "... ... ... ... ... ... \n", + "697292 14_119950 0.0 0.0 0.0 0.0 \n", + "697293 14_938 0.0 0.0 0.0 0.0 \n", + "697294 14_5004707 0.0 0.0 0.0 0.0 \n", + "697295 14_108184 0.0 0.0 0.0 0.0 \n", + "697296 14_4663981 0.0 0.0 0.0 0.0 \n", + "\n", + " vente_internet_max purchase_date_min purchase_date_max \\\n", + "0 0.0 NaN NaN \n", + "1 1.0 393.205891 281.017639 \n", + "2 0.0 NaN NaN \n", + "3 0.0 NaN NaN \n", + "4 0.0 NaN NaN \n", + "... ... ... ... \n", + "697292 0.0 NaN NaN \n", + "697293 0.0 NaN NaN \n", + "697294 0.0 NaN NaN \n", + "697295 0.0 NaN NaN \n", + "697296 0.0 NaN NaN \n", + "\n", + " time_between_purchase nb_tickets_internet ... gender_female \\\n", + "0 NaN 0.0 ... 0 \n", + "1 112.188252 3.0 ... 1 \n", + "2 NaN 0.0 ... 0 \n", + "3 NaN 0.0 ... 0 \n", + "4 NaN 0.0 ... 0 \n", + "... ... ... ... ... \n", + "697292 NaN 0.0 ... 0 \n", + "697293 NaN 0.0 ... 0 \n", + "697294 NaN 0.0 ... 0 \n", + "697295 NaN 0.0 ... 0 \n", + "697296 NaN 0.0 ... 0 \n", + "\n", + " gender_male gender_other country_fr nb_campaigns \\\n", + "0 1 0 1.0 12.0 \n", + "1 0 0 1.0 3.0 \n", + "2 0 1 NaN 0.0 \n", + "3 1 0 1.0 11.0 \n", + "4 0 1 NaN 0.0 \n", + "... ... ... ... ... \n", + "697292 1 0 1.0 0.0 \n", + "697293 1 0 1.0 0.0 \n", + "697294 1 0 1.0 2.0 \n", + "697295 0 1 1.0 0.0 \n", + "697296 0 1 NaN 0.0 \n", + "\n", + " nb_campaigns_opened time_to_open y_has_purchased \\\n", + "0 3.0 0 days 05:47:26.333333333 0.0 \n", + "1 1.0 0 days 05:13:51 1.0 \n", + "2 0.0 NaN 0.0 \n", + "3 10.0 1 days 00:45:54 0.0 \n", + "4 0.0 NaN 0.0 \n", + "... ... ... ... \n", + "697292 0.0 NaN 0.0 \n", + "697293 0.0 NaN 0.0 \n", + "697294 1.0 2 days 16:42:51 0.0 \n", + "697295 0.0 NaN 0.0 \n", + "697296 0.0 NaN 0.0 \n", + "\n", + " number_company no_campaign_opened \n", + "0 10 False \n", + "1 10 False \n", + "2 10 True \n", + "3 10 False \n", + "4 10 True \n", + "... ... ... \n", + "697292 14 True \n", + "697293 14 True \n", + "697294 14 False \n", + "697295 14 True \n", + "697296 14 True \n", + "\n", + "[697297 rows x 42 columns]" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# part de mails ouverts de chaque compagnie\n", + "\n", + "train_set_spectacle" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "id": "dc8cfd36-0eb2-4ef3-877d-626fd0a9ced4", + "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", + "
number_compagnynb_campaignsnb_campaigns_openedratio_campaigns_opened
010734772126151.00.171687
111342396129833.00.379190
2123168123810722.00.255900
3133218569793581.00.246563
4142427043723846.00.298242
\n", + "
" + ], + "text/plain": [ + " number_compagny nb_campaigns nb_campaigns_opened ratio_campaigns_opened\n", + "0 10 734772 126151.0 0.171687\n", + "1 11 342396 129833.0 0.379190\n", + "2 12 3168123 810722.0 0.255900\n", + "3 13 3218569 793581.0 0.246563\n", + "4 14 2427043 723846.0 0.298242" + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# taux d'ouverture des campaigns\n", + "\n", + "company_campaigns_stats = campaigns_information_spectacle.groupby(\"number_compagny\")[[\"nb_campaigns\", \"nb_campaigns_opened\"]].sum().reset_index()\n", + "company_campaigns_stats[\"ratio_campaigns_opened\"] = company_campaigns_stats[\"nb_campaigns_opened\"] / company_campaigns_stats[\"nb_campaigns\"]\n", + "company_campaigns_stats" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "id": "30b28426-088a-4153-b2aa-c20f11b2b771", + "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", + "
number_companyy_has_purchasednb_campaignsnb_campaigns_openedperc_campaigns_opened
0100.061668.08240.013.361873
1101.04361.02002.045.906902
2110.037799.012286.032.503505
3111.08824.04493.050.917951
4120.00.00.0NaN
5121.00.00.0NaN
6130.0505008.0118071.023.380026
7131.045824.017233.037.606931
8140.01176373.0313379.026.639425
9141.0129157.047987.037.154006
\n", + "
" + ], + "text/plain": [ + " number_company y_has_purchased nb_campaigns nb_campaigns_opened \\\n", + "0 10 0.0 61668.0 8240.0 \n", + "1 10 1.0 4361.0 2002.0 \n", + "2 11 0.0 37799.0 12286.0 \n", + "3 11 1.0 8824.0 4493.0 \n", + "4 12 0.0 0.0 0.0 \n", + "5 12 1.0 0.0 0.0 \n", + "6 13 0.0 505008.0 118071.0 \n", + "7 13 1.0 45824.0 17233.0 \n", + "8 14 0.0 1176373.0 313379.0 \n", + "9 14 1.0 129157.0 47987.0 \n", + "\n", + " perc_campaigns_opened \n", + "0 13.361873 \n", + "1 45.906902 \n", + "2 32.503505 \n", + "3 50.917951 \n", + "4 NaN \n", + "5 NaN \n", + "6 23.380026 \n", + "7 37.606931 \n", + "8 26.639425 \n", + "9 37.154006 " + ] + }, + "execution_count": 119, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "company_campaigns_stats = train_set_spectacle.groupby([\"number_company\", \"y_has_purchased\"])[[\"nb_campaigns\", \"nb_campaigns_opened\"]].sum().reset_index()\n", + "company_campaigns_stats[\"perc_campaigns_opened\"] = 100* (company_campaigns_stats[\"nb_campaigns_opened\"] / company_campaigns_stats[\"nb_campaigns\"])\n", + "company_campaigns_stats" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "id": "9cebe912-fce1-4f4f-9d87-9649605296c8", + "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", + "
number_companyy_has_purchasednb_campaignsnb_campaigns_openedperc_campaigns_opened
0100.061668.08240.013.361873
1101.04361.02002.045.906902
2110.037799.012286.032.503505
3111.08824.04493.050.917951
6130.0505008.0118071.023.380026
7131.045824.017233.037.606931
8140.01176373.0313379.026.639425
9141.0129157.047987.037.154006
\n", + "
" + ], + "text/plain": [ + " number_company y_has_purchased nb_campaigns nb_campaigns_opened \\\n", + "0 10 0.0 61668.0 8240.0 \n", + "1 10 1.0 4361.0 2002.0 \n", + "2 11 0.0 37799.0 12286.0 \n", + "3 11 1.0 8824.0 4493.0 \n", + "6 13 0.0 505008.0 118071.0 \n", + "7 13 1.0 45824.0 17233.0 \n", + "8 14 0.0 1176373.0 313379.0 \n", + "9 14 1.0 129157.0 47987.0 \n", + "\n", + " perc_campaigns_opened \n", + "0 13.361873 \n", + "1 45.906902 \n", + "2 32.503505 \n", + "3 50.917951 \n", + "6 23.380026 \n", + "7 37.606931 \n", + "8 26.639425 \n", + "9 37.154006 " + ] + }, + "execution_count": 120, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "company_campaigns_stats = company_campaigns_stats[company_campaigns_stats[\"number_company\"]!=12]\n", + "company_campaigns_stats" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "id": "8418531b-4f30-4d96-8035-f3630c789d6f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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f39/VaxYUdOnT5dhGDbzNX8/STtGx40bp/Hjx6tw4cLy9fVVtWrVtGnTptsuh73nmdtt89jY2Ft+35L+vf3up59+0oEDB26/gp2AP3vnsAMHDqhjx47WE+yOHTv0/vvv6/fff9cXX3zh8PQmTJigzZs3q3379tq2bZvy5s2rd955R2vWrNGyZcsUHh6e6WevXLmip556SseOHdPIkSNVvHhx/fDDDzYHeJqYmBib/2gMw1DLli21cuVKDR06VDVr1tTOnTs1bNgwbdy4URs3bpSHh4fdy1GuXDlVqFBBM2bM0LPPPmszLDY2ViEhIWrcuLGkfy/jVq9eXQULFtQHH3ygsLAw/fjjj+rXr59OnTqlYcOG2Xx+6NChqlatmj755BPlyZNHlSpV0tmzZ/X6669rypQpqlixoqQ7/4u/efohISGaPXu2unTpohYtWmjmzJlyc3PTp59+qgYNGujHH39U3bp1M53e8ePHVbt2bfn4+Gjq1KkKCQnR3Llz1bdv39vW4uh2iY+PV//+/RUTE6OwsDB99dVXevnll3Xt2jUNGjRIkpScnKwzZ85o0KBBKlCggK5du6affvpJrVu31owZM9SlSxeH1ldajRs2bNDbb7+typUra/369WrUqFG6ce3d1mPGjFFMTIzefPNN1apVS9evX9fvv/+eaTg0e/3111WnTh3Fxsbq4MGDGjRokDp06CBXV1eVK1dOc+fO1fbt2/X666/Lz8/P5stcVh7Td7ocly9fVu3atfX333/r9ddfV9myZbV79269/fbb2rVrl3766Sebv27+8MMPiouL07vvvitfX1+NGTNGrVq10r59+1SkSBE1bdpUISEhmjFjRrp9NTY2VhUrVlTZsmUlSXPmzFGnTp1Uv359zZ07V8nJyRozZoyio6O1cuVKPfHEE6pZs6YqVKigKVOmqEOHDjbTmzx5sipXrmz9crR69Wo1bNhQVatW1SeffKKAgADNmzdPTz/9tC5fvmz90jpgwADNmjVL7733nipUqKCkpCT99ttvOn36tF3r+tlnn1W9evU0Z84cHTlyRG+++aaio6O1c+dO5c2bV9K/27ZatWp67rnnFBAQoIMHD2r8+PF64okntGvXLrm5udlMs3Xr1nrmmWfUq1evdF+abye7l/vo0aOqXLmyrl+/bt1HTp8+rR9//FFnz55VaGioTp48qerV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9+2MrFq1So888oiqVKli096tWzcZhpHuakPjxo1ttvutjhvp39v6bpaV55+1a9dKktq3b28zvVudN83/95UtW1ZXr15Nd5vgzew91tKukLZv317ffPONjh49muk0b5Yd58eMOFJfx44dba5IFypUSNWrV7fW6sj+a89+eCuXLl3Sa6+9pqJFi8rV1VWurq7y9fVVUlKSzf5wJ/O523V67tw5Xb582Xo1yBFPPvmk8uXLl6591apVeuqppxQQEGD9/+Xtt9/W6dOnb7mfpmnSpIlcXFys79PuBMjoVsWb3e4848g2t0dISIjdx0hOIyjloMOHD6tmzZo6evSoPvroI/3yyy+Ki4uzfnFw9D/6mzVp0kShoaG6evWqBgwYYHNgZOb06dMZXn4OCwuz67Ourq4KDg62abdYLAoLC7P79pebBQYGqnnz5vryyy+VkpIi6d/bfKpUqaJHH33UOt8bN25o0qRJcnNzs3ml3Zpnfn7gVrcfZgXz9NPuf27btm26GkePHi3DMHTmzJlMp5fZdsnsVgHzZx3ZLhlt67S2tHEXLFig9u3bq0CBApo9e7Y2btyouLg49ejRQ1evXr1tTZnVGBQUdMtaHNnWQ4cO1bhx47Rp0yY1atRIQUFBqlu3rrZu3WpXTYGBgTbv3d3db9mettxZfUzf6XL8888/2rlzZ7r15OfnJ8Mw0h0T5nUvSR4eHjb1Pvroo6pcubJmzJghSUpJSdHs2bPVokUL63pJ20cyOsYiIiKUmpqqs2fPWqffs2dPzZkzR+fOndPJkyf1zTff6LnnnrPeDpp27AwaNCjdsvTu3VvS/23ziRMn6rXXXtPChQtVp04dBQYGqmXLltq/f/9t1vK/Mtv305YpNTVV9evX14IFCzR48GCtXLlSW7ZssX5Rymjb3um5JieW++TJk9bblzJz+vTpTLdl2vCb3elxkyYrzz9p5xXzvG913jQfB2n74a2OW3uPtVq1amnhwoW6ceOGunTpooceekilS5e+7bNk2XF+zIgj9d3uWHFk/7VnP7yVjh07avLkyXruuef0448/asuWLYqLi1NwcLDNdruT+dztOk2bv6enp8PLldFxt2XLFtWvX1+SNG3aNK1fv15xcXF64403bOZ3K3eyj0u3P884ss3t4enpeVffgbMTzyjloIULFyopKUkLFiyw/lVSUoa/FeDp6ank5OR07adOnbLeg3uzXr166eLFi3r00UfVr18/1axZM8O/TtwsKChIW7ZsSdduT2cOQUFBunHjhk6ePGnzpdwwDCUmJlr/WiX9e2BmtCwZhanu3btr/vz5WrFihQoWLKi4uDhNnTrVOjxfvnxycXFR586d1adPnwxrK1y4sM17R3uecXTdm6efNs6kSZMy7fHwdv95Z/SwaVZvl8ymmdaWdoKdPXu2ChcurK+//tpmWTNaR/ZIq/H06dM2J3FzLY5sa1dXVw0YMEADBgzQuXPn9NNPP+n1119XgwYNdOTIkWzrfcyRY9oed7oc+fPnl5eXV6bPVmS039qje/fu6t27t/bu3au//vpLx48ft17dlf5vH8mo05hjx44pT548NuehF198UaNGjdIXX3yhq1ev6saNG+rVq1e6OocOHarWrVtnWFOJEiUkST4+PnrnnXf0zjvv6J9//rH+9bNZs2b6/fffb7tsme37RYsWlST99ttv2rFjh2JjY9W1a1frOGmdtWTkTnu5yonlDg4O1t9//33LOoKCgjLdljfXmVWy8vyTdl45c+aMTViyt3MiezlyrLVo0UItWrRQcnKyNm3apJEjR6pjx46KiopStWrVMvx8dpwfM2NvfZltp7T6HNl/7dkPM3P+/HktXrxYw4YN05AhQ6ztac+x3exO5nO36zRtfdzqD6GZyejcMW/ePLm5uWnx4sU24WvhwoUOT99RtzvPOLLN7XHmzJlc+1MtXFHKQWkHws0P0xuGoWnTpqUbNyoqyqZXKUn6448/MryU+fnnn2v27NmaPHmyFi1apHPnztl8mclMnTp1dPHixXQP2M6ZM+e2n017wHv27Nk27d9++62SkpJsHgDPaFlWrVqVrvcwSapfv74KFCigGTNmaMaMGfL09LS5dcLb21t16tTR9u3bVbZsWVWqVCndK6O/lpvd6q8qjqz7jNSoUUN58+bVnj17MqyvUqVK1r+wZqR27dr67bfftGfPHpv2m3+8LjOObBfp3971duzYYdM2Z84c+fn5WR+6tFgscnd3tzmRJyYm3nGvd3Xq1JEkffXVV+nme7M73dZ58+ZV27Zt1adPH505cyZbf1TYkWPaUY4sR9OmTXXgwAEFBQVluJ7u9D+gDh06yNPTU7GxsYqNjVWBAgWsf+GU/v2PsECBApozZ45NL0xJSUn69ttvrT3hpQkPD1e7du308ccf65NPPlGzZs2sDymnTa9YsWLasWNHpsfOzbcMpgkNDVW3bt3UoUMH7du3z3q7362Y978NGzbo0KFD1p6jMtq2kvTpp5/edtqOyonlbtSokVavXn3L81jdunW1Z88em9vepP/rmTDt2M0qWXn+qV27tiTZ3Coq2XfedMSdHGseHh6qXbu2Ro8eLUkZ9hiXJrvPjxm5XX1z5861Ob4PHTqkDRs2WI8VR/Zfe/bDzP5/tlgsMgwj3TH5+eefW+9CSWPPfMzudp26u7urSJEiGfbeZu+VnJul/dTIzXcIXblyRbNmzbJ7Glkho/OMI9v8dst+48YNHTlyJNd2cc4VpRxUr149ubu7q0OHDho8eLCuXr2qqVOnWm9NuVnnzp31n//8R71791abNm106NAhjRkzJt0tVbt27VK/fv3UtWtXaziaPn262rZtqwkTJqh///6Z1tOlSxd9+OGH6tKli95//30VK1ZMS5Ys0Y8//mjXsjRo0ECvvfaaLly4oBo1alh7V6tQoYI6d+5ssyxvvfWW3n77bdWuXVt79uzR5MmTM+xxxcXFRV26dNH48ePl7++v1q1bpxvvo48+svak9eKLLyoqKkoXL17Un3/+qe+///62vQpJUunSpSVJn332mfz8/OTp6anChQsrKCjI7nWfGV9fX02aNEldu3bVmTNn1LZtW4WEhOjkyZPasWOHTp48aXOVzKx///764osv1KhRI7377rsKDQ3VnDlzrH8tvvmZADNHtov07y01zZs3V0xMjMLDwzV79mytWLFCo0ePtn7Bbdq0qRYsWKDevXurbdu2OnLkiIYPH67w8HC7b3O6Wf369VWrVi0NHjxYSUlJqlSpktavX5/hyd/ebd2sWTOVLl1alSpVUnBwsA4dOqQJEyaoUKFCKlasmMM12suRY9oed7oc/fv317fffqtatWrplVdeUdmyZZWamqrDhw9r+fLlGjhwoKpWrepwPXnz5lWrVq0UGxurc+fOadCgQTb7X548eTRmzBh16tRJTZs2Vc+ePZWcnKyxY8fq3LlzGf5Q7Msvv2ytJe22vpt9+umnatSokRo0aKBu3bqpQIECOnPmjPbu3atff/1V8+fPlyRVrVpVTZs2VdmyZZUvXz7t3btXs2bNShfOMrN161Y999xzateunY4cOaI33nhDBQoUsN42UrJkST38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h4eHDh06lO7Wu+TkZPXr108hISHy9PTUE088obi4OJt6brdtJGnDhg2qVauWvLy8FBkZqX79+ikpKcmudXSnCEoAAABwWFJSkgYMGKC4uDitXLlSefLkUatWrZSamipJunTpkmrXrq1jx45p0aJF2rFjhwYPHmwdLkkHDhzQwoULtXjxYi1evFhr167VqFGj7J7Hli1bJEk//fSTjh8/rgULFmRY65EjR9S6dWs1btxY8fHxeu655zRkyJA7Wu6VK1dq7969WrFihRYvXizp31AxfPhw7dixQwsXLlRCQoK6deuW7rNvvPGGPvjgA23dulWurq7q0aOHJOnpp5/WwIED9eijj+r48eM6fvy4nn76abvqud06yszMmTPl6uqqzZs3a+LEifrwww/1+eefW4d3795d69ev17x587Rz5061a9dODRs21P79+63jXL58WSNHjtTnn3+u3bt3KyQkJN18Bg8erG+//VYzZ87Ur7/+qqJFi6pBgwY6c+aMJPu2za5du9SgQQO1bt1aO3fu1Ndff61169apb9++dq2jO+XUW+8AAABwbzLfjjV9+nSFhIRoz549Kl26tObMmaOTJ08qLi5OgYGBkqSiRYvafCY1NVWxsbHW5887d+6slStX6v3337drHsHBwZKkoKAg60/LZGTq1KkqUqSIPvzwQ1ksFpUoUUK7du3S6NGjHV5uHx8fff755za33KUFHkkqUqSIJk6cqCpVqujSpUvy9fW1Dnv//fdVu3ZtSdKQIUPUpEkTXb16VV5eXvL19ZWrq+stlyMjt1tHmYmMjEy3Pj788EM9//zzOnDggObOnau///5bERERkv7t0GHZsmWaMWOGRowYIUm6fv26Pv74Y5UrVy7DeSQlJWnq1KmKjY1Vo0aNJEnTpk3TihUrNH36dL366qt2bZuxY8eqY8eO6t+/vySpWLFimjhxomrXrq2pU6fK09PToXVmL64oAQAAwGEHDhxQx44dVaRIEfn7+1tvgzt8+LAkKT4+XhUqVLCGpIxERUXZdNIVHh5uc8va7eZhr7179+rxxx+36YygWrVqDk0jTZkyZdI9l7R9+3a1aNFChQoVkp+fn/UWQHOdZcuWtf47PDxckmyW907c6TrKaH3s379fKSkp+vXXX2UYhooXLy5fX1/ra+3atTa39bm7u9ssU0a1Xb9+XTVq1LC2ubm5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AAAAsJfDQalixYoaO3asDh8+rKVLlyokJEQ9e/ZUSEiIevTocceFpKSkaN68eUpKSlK1atWUkJCgxMRE1a9f3zqOh4eHateurQ0bNmQ6neTkZF24cMHmBQAAAACOcDgopbFYLKpTp46mTZumn376SUWKFNHMmTMdns6uXbvk6+srDw8P9erVS999950eeeQR64/XhoaG2owfGhp6yx+2HTlypAICAqyvyMhIh2sCAAAA8GC746B05MgRjRkzRuXLl1flypXl4+OjyZMnOzydEiVKKD4+Xps2bdKLL76orl27as+ePdbhFovFZnzDMNK13Wzo0KE6f/689XXkyBGHawIAAADwYHO4e/DPPvtMX331ldavX68SJUqoU6dOWrhwoaKiou6oAHd3dxUtWlSSVKlSJcXFxemjjz7Sa6+9JklKTExUeHi4dfwTJ06ku8p0Mw8PD3l4eNxRLQAAAAAg3cEVpeHDh6tKlSraunWrdu/erddff/2OQ1JGDMNQcnKyChcurLCwMK1YscI67Nq1a1q7dq2qV6+eZfMDAAAAADOHrygdPnz4lre+OeL1119Xo0aNFBkZqYsXL2revHlas2aNli1bJovFov79+2vEiBEqVqyYihUrphEjRsjb21sdO3bMkvkDAAAAQEYcDkq//PLLLYfXqlXL7mn9888/6ty5s44fP66AgACVLVtWy5YtU7169SRJgwcP1pUrV9S7d2+dPXtWVatW1fLly+Xn5+do2QAAAABgN4eDUnR0dLq2m68wpaSk2D2t6dOn33K4xWJRTEyMYmJi7J4mAAAAANwth59ROnv2rM3rxIkTWrZsmSpXrqzly5dnR40AAAAAkKMcvqIUEBCQrq1evXry8PDQK6+8om3btmVJYQAAAADgLHf8O0pmwcHB2rdvX1ZNDgAAAACcxuErSjt37rR5bxiGjh8/rlGjRqlcuXJZVhgAAAAAOIvDQal8+fKyWCwyDMOm/fHHH9cXX3yRZYUBAAAAgLM4HJQSEhJs3ufJk0fBwcHy9PTMsqIAAAAAwJkcDkqFChXKjjoAAAAAINe4o84c1q5dq2bNmqlo0aIqVqyYmjdvftsfogUAAACAe4XDQWn27Nl66qmn5O3trX79+qlv377y8vJS3bp1NWfOnOyoEQAAAABylMO33r3//vsaM2aMXnnlFWvbyy+/rPHjx2v48OHq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Hj00btw4rVu3TuvWrdO4ceP03HPPqXv37g5Na+TIkapcubL8/PwUEhKili1bat++fTbjGIahmJgYRUREyMvLS9HR0dq9e7ejZQMAAACA3RzuHnzcuHEKCwvThx9+qOPHj0uSwsPDNXjwYA0cONChaa1du1Z9+vRR5cqVdePGDb3xxhuqX7++9uzZIx8fH0nSmDFjNH78eMXGxqp48eJ67733VK9ePe3bt09+fn6Olg8AAAAAt+VwUMqTJ48GDx6swYMH68KFC5J0x504LFu2zOb9jBkzFBISom3btqlWrVoyDEMTJkzQG2+8Ye2ifObMmQoNDdWcOXPUs2fPO5ovAAAAANyKw7fe3czf3z9Le7o7f/68JCkwMFCSlJCQoMTERNWvX986joeHh2rXrq0NGzZkOI3k5GRduHDB5gUAAAAAjriroJSVDMPQgAED9MQTT6h06dKSpMTERElSaGiozbihoaHWYWYjR460+d2nyMjI7C0cAAAAwH0n1wSlvn37aufOnZo7d266YRaLxea9YRjp2tIMHTpU58+ft76OHDmSLfUCAAAAuH85/IxSdnjppZe0aNEi/fzzz3rooYes7WFhYZL+vbIUHh5ubT9x4kS6q0xpPDw85OHhkb0FAwAAALivOXxF6csvv1RycnK69mvXrunLL790aFqGYahv375asGCBVq1apcKFC9sML1y4sMLCwrRixQqb+axdu1bVq1d3tHQAAAAAsMsd/Y5SWqcLN7t48aLDv6PUp08fzZ49W3PmzJGfn58SExOVmJioK1euSPr3lrv+/ftrxIgR+u677/Tbb7+pW7du8vb2VseOHR0tHQAAAADs4vCtd5k9H/T3338rICDAoWlNnTpVkhQdHW3TPmPGDHXr1k2SNHjwYF25ckW9e/fW2bNnVbVqVS1fvpzfUAIAAACQbewOShUqVJDFYpHFYlHdunXl6vp/H01JSVFCQoIaNmzo0MwNw7jtOBaLRTExMYqJiXFo2gAAAABwp+wOSi1btpQkxcfHq0GDBvL19bUOc3d3V1RUlNq0aZPlBQIAAABATrM7KA0bNkwpKSkqVKiQGjRoYNMLHQAAAADcTxzqzMHFxUW9evXS1atXs6seAAAAAHA6h3u9K1OmjP7666/sqAUAAAAAcgWHg9L777+vQYMGafHixTp+/LguXLhg8wIAAACAe53D3YOn9WzXvHlzm27C07oNT0lJybrqAAAAAMAJHA5Kq1evzo46AAAAACDXcDgo1a5dOzvqAAAAAIBcw+GglOby5cs6fPiwrl27ZtNetmzZuy4KAAAAAJzJ4aB08uRJde/eXUuXLs1wOM8oAQAAALjXOdzrXf/+/XX27Flt2rRJXl5eWrZsmWbOnKlixYpp0aJF2VEjAAAAAOQoh68orVq1Sv/73/9UuXJl5cmTR4UKFVK9evXk7++vkSNHqkmTJtlRJwAAAADkGIevKCUlJSkkJESSFBgYqJMnT0r694dof/3116ytDgAAAACcwOGgVKJECe3bt0+SVL58eX366ac6evSoPvnkE4WHh2d5gQAAAACQ0xy+9a5///46duyYJGnYsGFq0KCBvvrqK7m7uys2Njar6wMAAACAHOdwUOrUqZP13xUqVNDBgwf1+++/q2DBgsqfP3+WFgcAAAAAzmD3rXeXL19Wnz59VKBAAYWEhKhjx446deqUvL29VbFiRUISAAAAgPuG3UFp2LBhio2NVZMmTfTMM89oxYoVevHFF7OzNgAAAABwCrtvvVuwYIGmT5+uZ555RpL0n//8RzVq1FBKSopcXFyyrUAAAAAAyGl2X1E6cuSIatasaX1fpUoVubq6Wjt2AAAAAID7hd1BKSUlRe7u7jZtrq6uunHjRpYXBQAAAADOZPetd4ZhqFu3bvLw8LC2Xb16Vb169ZKPj4+1bcGCBVlbIQAAAADkMLuDUteuXdO1/ec//8nSYgAAAAAgN7A7KM2YMSM76wAAAACAXMPuZ5QAAAAA4EFBUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJi4OruAB03UkB+cXUKucdDT2RUAAAAAGeOKEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABg4tSg9PPPP6tZs2aKiIiQxWLRwoULbYYbhqGYmBhFRETIy8tL0dHR2r17t3OKBQAAAPDAcGpQSkpKUrly5TR58uQMh48ZM0bjx4/X5MmTFRcXp7CwMNWrV08XL17M4UoBAAAAPEhcnTnzRo0aqVGjRhkOMwxDEyZM0BtvvKHWrVtLkmbOnKnQ0FDNmTNHPXv2zMlSAQAAADxAcu0zSgkJCUpMTFT9+vWtbR4eHqpdu7Y2bNjgxMoAAAAA3O+cekXpVhITEyVJoaGhNu2hoaE6dOhQpp9LTk5WcnKy9f2FCxeyp0AAAAAA961ce0UpjcVisXlvGEa6tpuNHDlSAQEB1ldkZGR2lwgAAADgPpNrg1JYWJik/7uylObEiRPprjLdbOjQoTp//rz1deTIkWytEwAAAMD9J9cGpcKFCyssLEwrVqywtl27dk1r165V9erVM/2ch4eH/P39bV4AAAAA4AinPqN06dIl/fnnn9b3CQkJio+PV2BgoAoWLKj+/ftrxIgRKlasmIoVK6YRI0bI29tbHTt2dGLVAAAAAO53Tg1KW7duVZ06dazvBwwYIEnq2rWrYmNjNXjwYF25ckW9e/fW2bNnVbVqVS1fvlx+fn7OKhkAAADAA8CpQSk6OlqGYWQ63GKxKCYmRjExMTlXFAAAAIAHXq59RgkAAAAAnIWgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIDJPRGUPv74YxUuXFienp567LHH9Msvvzi7JAAAAAD3sVwflL7++mv1799fb7zxhrZv366aNWuqUaNGOnz4sLNLAwAAAHCfyvVBafz48Xr22Wf13HPPqVSpUpowYYIiIyM1depUZ5cGAAAA4D7l6uwCbuXatWvatm2bhgwZYtNev359bdiwIcPPJCcnKzk52fr+/PnzkqQLFy5kX6EOSE2+7OwSco0LFsPZJeQeuWT/zE7s+/9iv78J+/0DhX3//3sA9nuJfT8N+/1Ncsm+n5YJDOP22yZXB6VTp04pJSVFoaGhNu2hoaFKTEzM8DMjR47UO++8k649MjIyW2rEnQtwdgG5ySjWxoOCLX0T9vsHClv7/2O/f6CwtW+Sy/b9ixcvKiDg1jXl6qCUxmKx2Lw3DCNdW5qhQ4dqwIAB1vepqak6c+aMgoKCMv0Mct6FCxcUGRmpI0eOyN/f39nlADmC/R4PKvZ9PIjY73MnwzB08eJFRURE3HbcXB2U8ufPLxcXl3RXj06cOJHuKlMaDw8PeXh42LTlzZs3u0rEXfL39+fkgQcO+z0eVOz7eBCx3+c+t7uSlCZXd+bg7u6uxx57TCtWrLBpX7FihapXr+6kqgAAAADc73L1FSVJGjBggDp37qxKlSqpWrVq+uyzz3T48GH16tXL2aUBAAAAuE/l+qD09NNP6/Tp03r33Xd1/PhxlS5dWkuWLFGhQoWcXRrugoeHh4YNG5buNkngfsZ+jwcV+z4eROz39z6LYU/feAAAAADwAMnVzygBAAAAgDMQlAAAAADAhKAEAAAAACYEJQAAAAAwISghW/38889q1qyZIiIiZLFYtHDhQpvhhmEoJiZGERER8vLyUnR0tHbv3u2cYoEscrv9fsGCBWrQoIHy588vi8Wi+Ph4p9QJZKXb7fcxMTEqWbKkfHx8lC9fPj311FPavHmzc4oFstDt9v2b9ezZUxaLRRMmTMix+nDnCErIVklJSSpXrpwmT56c4fAxY8Zo/Pjxmjx5suLi4hQWFqZ69erp4sWLOVwpkHVut98nJSWpRo0aGjVqVA5XBmSf2+33xYsX1+TJk7Vr1y6tW7dOUVFRql+/vk6ePJnDlQJZ63b7fpqFCxdq8+bNioiIyKHKcLfoHhw5xmKx6LvvvlPLli0l/Xs1KSIiQv3799drr70mSUpOTlZoaKhGjx6tnj17OrFaIGuY9/ubHTx4UIULF9b27dtVvnz5HK8NyC632u/TXLhwQQEBAfrpp59Ut27dnCsOyEaZ7ftHjx5V1apV9eOPP6pJkybq37+/+vfv75QaYT+uKMFpEhISlJiYqPr161vbPDw8VLt2bW3YsMGJlQEAstO1a9f02WefKSAgQOXKlXN2OUC2Sk1NVefOnfXqq6/q0UcfdXY5cICrswvAgysxMVGSFBoaatMeGhqqQ4cOOaMkAEA2Wrx4sZ555hldvnxZ4eHhWrFihfLnz+/ssoBsNXr0aLm6uqpfv37OLgUO4ooSnM5isdi8NwwjXRsA4N5Xp04dxcfHa8OGDWrYsKHat2+vEydOOLssINts27ZNH330kWJjY/lucw8iKMFpwsLCJP3flaU0J06cSHeVCQBw7/Px8VHRokX1+OOPa/r06XJ1ddX06dOdXRaQbX755RedOHFCBQsWlKurq1xdXXXo0CENHDhQUVFRzi4Pt0FQgtMULlxYYWFhWrFihbXt2rVrWrt2rapXr+7EygAAOcEwDCUnJzu7DCDbdO7cWTt37lR8fLz1FRERoVdffVU//vijs8vDbfCMErLVpUuX9Oeff1rfJyQkKD4+XoGBgSpYsKD69++vESNGqFixYipWrJhGjBghb29vdezY0YlVA3fndvv9mTNndPjwYR07dkyStG/fPkn/XmVNu9IK3Gtutd8HBQXp/fffV/PmzRUeHq7Tp0/r448/1t9//6127do5sWrg7t3unB8UFGQzvpubm8LCwlSiRImcLhWOMoBstHr1akNSulfXrl0NwzCM1NRUY9iwYUZYWJjh4eFh1KpVy9i1a5dziwbu0u32+xkzZmQ4fNiwYU6tG7gbt9rvr1y5YrRq1cqIiIgw3N3djfDwcKN58+bGli1bnF02cNdud843K1SokPHhhx/maI24M/yOEgAAAACY8IwSAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgDclYMHD+q9997TpUuXnF0KAABZhqAEALhj165dU/v27RUUFCRfX98cmeeaNWtksVh07ty5HJnf/So6Olr9+/d3dhkAkGsRlADgHtOtWzdZLBaNGjXKpn3hwoWyWCw5WsvAgQNVr149vfjiizk6X9y9BQsWaPjw4c4uAwByLVdnFwAAcJynp6dGjx6tnj17Kl++fE6rY9KkSXaNd+3aNbm7u2dzNXBEYGCgs0sAgFyNK0oAcA966qmnFBYWppEjR2Y6TkxMjMqXL2/TNmHCBEVFRVnfd+vWTS1bttSIESMUGhqqvHnz6p133tGNGzf06quvKjAwUA899JC++OILm+kcPXpUTz/9tPLly6egoCC1aNFCBw8eTDfdkSNHKiIiQsWLF5ck7dq1S08++aS8vLwUFBSkF1544bbPNi1ZskTFixeXl5eX6tSpYzOfNBs2bFCtWrXk5eWlyMhI9evXT0lJSbec7qJFi1SpUiV5enoqf/78at26tXXY2bNn1aVLF+XLl0/e3t5q1KiR9u/fbx0eGxurvHnzavHixSpRooS8vb3Vtm1bJSUlaebMmYqKilK+fPn00ksvKSUlxfq5qKgoDR8+XB07dpSvr68iIiLShc3x48erTJky8vHxUWRkpHr37p1uHU2bNk2RkZHy9vZWq1atNH78eOXNm9c6PG3bz5o1S1FRUQoICNAzzzyjixcvWscx33p37do1DR48WAUKFJCPj4+qVq2qNWvW3HIdAsD9jKAEAPcgFxcXjRgxQpMmTdLff/99V9NatWqVjh07pp9//lnjx49XTEyMmjZtqnz58mnz5s3q1auXevXqpSNHjkiSLl++rDp16sjX11c///yz1q1bJ19fXzVs2FDXrl2zTnflypXau3evVqxYocWLF+vy5ctq2LCh8uXLp7i4OM2fP18//fST+vbtm2ltR44cUevWrdW4cWPFx8frueee05AhQ2zG2bVrlxo0aKDWrVtr586d+vrrr7Vu3bpbTveHH35Q69at1aRJE23fvl0rV65UpUqVrMO7deumrVu3atGiRdq4caMMw1Djxo11/fp16ziXL1/WxIkTNW/ePC1btkxr1qxR69attWTJEi1ZskSzZs3SZ599pv/+97828x47dqzKli2rX3/9VUOHDtUrr7yiFStWWIfnyZNHEydO1G+//aaZM2dq1apVGjx4sHX4+vXr1atXL7388suKj49XvXr19P7776dbxgMHDmjhwoVavHixFi9erLVr16a7XfNm3bt31/r16zVv3jzt3LlT7dq1U8OGDW0CIgA8UAwAwD2la9euRosWLQzDMIzHH3/c6NGjh2EYhvHdd98ZN5/Whw0bZpQrV87msx9++KFRqFAhm2kVKlTISElJsbaVKFHCqFmzpvX9jRs3DB8fH2Pu3LmGYRjG9OnTjRIlShipqanWcZKTkw0vLy/jxx9/tE43NDTUSE5Oto7z2WefGfny5TMuXbpkbfvhhx+MPHnyGImJiRku69ChQ41SpUrZzOu1114zJBlnz541DMMwOnfubLzwwgs2n/vll1+MPHnyGFeuXMlwutWqVTM6deqU4bA//vjDkGSsX7/e2nbq1CnDy8vL+OabbwzDMIwZM2YYkow///zTOk7Pnj0Nb29v4+LFi9a2Bg0aGD179rS+L1SokNGwYUOb+T399NNGo0aNMqzFMAzjm2++MYKCgmzGb9Kkic04nTp1MgICAqzvhw0bZnh7exsXLlywtr366qtG1apVre9r165tvPzyy4ZhGMaff/5pWCwW4+jRozbTrVu3rjF06NBMawOA+xlXlADgHjZ69GjNnDlTe/bsueNpPProo8qT5//+OwgNDVWZMmWs711cXBQUFKQTJ05IkrZt26Y///xTfn5+8vX1la+vrwIDA3X16lUdOHDA+rkyZcrYPJe0d+9elStXTj4+Pta2GjVqKDU1Vfv27cuwtr179+rxxx+36aSiWrVqNuNs27ZNsbGx1lp8fX3VoEEDpaamKiEhIcPpxsfHq27dupnO09XVVVWrVrW2BQUFqUSJEtq7d6+1zdvbWw8//LDNeouKirLp/S80NNS63jKrv1q1ajbTXb16terVq6cCBQrIz89PXbp00enTp623Eu7bt09VqlSxmYb5vfTvbX5+fn7W9+Hh4elqSfPrr7/KMAwVL17cZj2uXbvWZpsCwIOEzhwA4B5Wq1YtNWjQQK+//rq6detmMyxPnjwyDMOm7eZbx9K4ubnZvLdYLBm2paamSpJSU1P12GOP6auvvko3reDgYOu/bw5EkmQYRqa98mXWbq4/I6mpqerZs6f69euXbljBggUz/IyXl1em08tsnub6HV1vt5I23UOHDqlx48bq1auXhg8frsDAQK1bt07PPvusddtltB4zqtmRWlJTU+Xi4qJt27bJxcXFZlhOdfsOALkNQQkA7nGjRo1S+fLlrR0mpAkODlZiYqLNF+v4+Pi7nl/FihX19ddfKyQkRP7+/nZ/7pFHHtHMmTOVlJRkDVHr169Xnjx50tV+82cWLlxo07Zp06Z09ezevVtFixa1u5ayZctq5cqV6t69e4bzvHHjhjZv3qzq1atLkk6fPq0//vhDpUqVsnsemTHXv2nTJpUsWVKStHXrVt24cUMffPCB9SrfN998YzN+yZIltWXLFpu2rVu33lVNFSpUUEpKik6cOKGaNWve1bQA4H7BrXcAcI8rU6aMOnXqlK73tOjoaJ08eVJjxozRgQMHNGXKFC1duvSu59epUyflz59fLVq00C+//KKEhAStXbtWL7/88i07lujUqZM8PT3VtWtX/fbbb1q9erVeeuklde7cWaGhoRl+plevXjpw4IAGDBigffv2ac6cOYqNjbUZ57XXXtPGjRvVp08fxcfHa//+/Vq0aJFeeumlTGsZNmyY5s6dq2HDhmnv3r3atWuXxowZI0kqVqyYWrRooeeff17r1q3Tjh079J///EcFChRQixYtHF9hJuvXr9eYMWP0xx9/aMqUKZo/f75efvllSdLDDz+sGzduaNKkSfrrr780a9YsffLJJzaff+mll7RkyRKNHz9e+/fv16effqqlS5fe1W9oFS9eXJ06dVKXLl20YMECJSQkKC4uTqNHj9aSJUvuankB4F5FUAKA+8Dw4cPT3X5VqlQpffzxx5oyZYrKlSunLVu2aNCgQXc9L29vb/38888qWLCgWrdurVKlSqlHjx66cuXKLa8weXt768cff9SZM2dUuXJltW3bVnXr1tXkyZMz/UzBggX17bff6vvvv1e5cuX0ySefaMSIETbjlC1bVmvXrtX+/ftVs2ZNVahQQW+99ZbCw8MznW50dLTmz5+vRYsWqXz58nryySe1efNm6/AZM2boscceU9OmTVWtWjUZhqElS5aku53tTgwcOFDbtm1ThQoVNHz4cH3wwQdq0KCBJKl8+fIaP368Ro8erdKlS+urr75K1wV8jRo19Mknn2j8+PEqV66cli1bpldeeUWenp53VdeMGTPUpUsXDRw4UCVKlFDz5s21efNmRUZG3tV0AeBeZTHsuQEcAADctaioKPXv39/m94uywvPPP6/ff/9dv/zyS5ZOFwAeZDyjBADAPWbcuHGqV6+efHx8tHTpUs2cOVMff/yxs8sCgPsKQQkAgHvMli1bNGbMGF28eFFFihTRxIkT9dxzzzm7LAC4r3DrHQAAAACY0JkDAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmPw/BsaMgHfa8rMAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "multiple_barplot(company_campaigns_stats, x=\"number_company\", y=\"perc_campaigns_opened\", var_labels=\"y_has_purchased\",\n", + " dico_labels = {0 : \"clients n'ayant pas acheté\", 1 : \"clients ayant acheté sur la période\"},\n", + " xlabel = \"Numéro de compagnie\", ylabel = \"Part de mails ouverts (%)\", \n", + " title = \"Taux d'ouverture global des mails envoyés par les compagnies de spectacle (train set)\")" + ] + }, { "cell_type": "markdown", "id": "783f6fb2-5f26-42a9-a22d-f4ece44bfaf2",