BDC-team-1/Spectacle/Stat_desc.ipynb

8261 lines
1.1 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"id": "be628bfc-0bca-48b0-97c9-29063289127e",
"metadata": {},
"source": [
"# Statistiques descriptives : compagnies offrant des spectacles"
]
},
{
"cell_type": "markdown",
"id": "0bf5450b-f44d-430a-aed7-d875dc365048",
"metadata": {},
"source": [
"## Importations et chargement des données"
]
},
{
"cell_type": "code",
"execution_count": 85,
"id": "aa915888-cede-4eb0-8a26-7df573d29a3e",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import os\n",
"import s3fs\n",
"import warnings\n",
"from datetime import date, timedelta, datetime\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import re\n",
"import io"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "17949e81-c30b-4fdf-9872-d7dc2b22ba9e",
"metadata": {},
"outputs": [],
"source": [
"# Import KPI construction functions\n",
"#exec(open('0_KPI_functions.py').read())\n",
"exec(open('../0_KPI_functions.py').read())\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "9c1737a2-bad8-4266-8dec-452085d8cfe7",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['projet-bdc2324-team1/0_Input/Company_10/campaigns_information.csv',\n",
" 'projet-bdc2324-team1/0_Input/Company_10/customerplus_cleaned.csv',\n",
" 'projet-bdc2324-team1/0_Input/Company_10/products_purchased_reduced.csv',\n",
" 'projet-bdc2324-team1/0_Input/Company_10/target_information.csv']"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create filesystem object\n",
"S3_ENDPOINT_URL = \"https://\" + os.environ[\"AWS_S3_ENDPOINT\"]\n",
"fs = s3fs.S3FileSystem(client_kwargs={'endpoint_url': S3_ENDPOINT_URL})\n",
"\n",
"BUCKET = \"projet-bdc2324-team1/0_Input/Company_10\"\n",
"fs.ls(BUCKET)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "a35dc2f6-2017-4b21-abd2-2c4c112c96b2",
"metadata": {},
"outputs": [],
"source": [
"# test avec company 10\n",
"\n",
"dic_base=['campaigns_information','customerplus_cleaned','products_purchased_reduced','target_information']\n",
"for nom_base in dic_base:\n",
" FILE_PATH_S3_fanta = 'projet-bdc2324-team1/0_Input/Company_10/' + nom_base + '.csv'\n",
" with fs.open(FILE_PATH_S3_fanta, mode=\"rb\") as file_in:\n",
" globals()[nom_base] = pd.read_csv(file_in, sep=\",\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "40b705eb-fd18-436b-b150-61611a3c6a84",
"metadata": {},
"outputs": [],
"source": [
"# fonction permettant d'extraire une table à partir du numéro de la compagnie (directory_path)\n",
"\n",
"def display_databases(directory_path, file_name, datetime_col = None):\n",
" \"\"\"\n",
" This function returns the file from s3 storage \n",
" \"\"\"\n",
" file_path = \"projet-bdc2324-team1\" + \"/0_Input/Company_\" + directory_path + \"/\" + file_name + \".csv\"\n",
" print(\"File path : \", file_path)\n",
" with fs.open(file_path, mode=\"rb\") as file_in:\n",
" df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser) \n",
" return df \n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "c56decc3-de19-4786-82a4-1386c72a6bfb",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>id</th>\n",
" <th>customer_id</th>\n",
" <th>target_name</th>\n",
" <th>target_type_is_import</th>\n",
" <th>target_type_name</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1165098</td>\n",
" <td>618562</td>\n",
" <td>Newsletter mensuelle</td>\n",
" <td>False</td>\n",
" <td>manual_static_filter</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1165100</td>\n",
" <td>618559</td>\n",
" <td>Newsletter mensuelle</td>\n",
" <td>False</td>\n",
" <td>manual_static_filter</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1165101</td>\n",
" <td>618561</td>\n",
" <td>Newsletter mensuelle</td>\n",
" <td>False</td>\n",
" <td>manual_static_filter</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1165102</td>\n",
" <td>618560</td>\n",
" <td>Newsletter mensuelle</td>\n",
" <td>False</td>\n",
" <td>manual_static_filter</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1165103</td>\n",
" <td>618558</td>\n",
" <td>Newsletter mensuelle</td>\n",
" <td>False</td>\n",
" <td>manual_static_filter</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69253</th>\n",
" <td>1698158</td>\n",
" <td>18580</td>\n",
" <td>Newsletter mensuelle</td>\n",
" <td>False</td>\n",
" <td>manual_static_filter</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69254</th>\n",
" <td>1698159</td>\n",
" <td>18569</td>\n",
" <td>Newsletter mensuelle</td>\n",
" <td>False</td>\n",
" <td>manual_static_filter</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69255</th>\n",
" <td>1698160</td>\n",
" <td>2962</td>\n",
" <td>Newsletter mensuelle</td>\n",
" <td>False</td>\n",
" <td>manual_static_filter</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69256</th>\n",
" <td>1698161</td>\n",
" <td>3825</td>\n",
" <td>Newsletter mensuelle</td>\n",
" <td>False</td>\n",
" <td>manual_static_filter</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69257</th>\n",
" <td>1698162</td>\n",
" <td>5731</td>\n",
" <td>Newsletter mensuelle</td>\n",
" <td>False</td>\n",
" <td>manual_static_filter</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>69258 rows × 5 columns</p>\n",
"</div>"
],
"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": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"target_information"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "c825d64b-356c-4b71-aa3c-90e0dd7ca092",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ticket_id</th>\n",
" <th>customer_id</th>\n",
" <th>purchase_id</th>\n",
" <th>event_type_id</th>\n",
" <th>supplier_name</th>\n",
" <th>purchase_date</th>\n",
" <th>amount</th>\n",
" <th>is_full_price</th>\n",
" <th>name_event_types</th>\n",
" <th>name_facilities</th>\n",
" <th>name_categories</th>\n",
" <th>name_events</th>\n",
" <th>name_seasons</th>\n",
" <th>start_date_time</th>\n",
" <th>end_date_time</th>\n",
" <th>open</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1799177</td>\n",
" <td>36984</td>\n",
" <td>409613</td>\n",
" <td>2</td>\n",
" <td>guichet</td>\n",
" <td>2016-04-28 17:58:26+02:00</td>\n",
" <td>9.0</td>\n",
" <td>False</td>\n",
" <td>danse</td>\n",
" <td>le grand t</td>\n",
" <td>abo t gourmand jeune</td>\n",
" <td>aringa rossa</td>\n",
" <td>test 2016/2017</td>\n",
" <td>2016-09-27 00:00:00+02:00</td>\n",
" <td>1901-01-01 00:09:21+00:09</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1799178</td>\n",
" <td>36984</td>\n",
" <td>409613</td>\n",
" <td>3</td>\n",
" <td>guichet</td>\n",
" <td>2016-04-28 17:58:26+02:00</td>\n",
" <td>9.0</td>\n",
" <td>False</td>\n",
" <td>cirque</td>\n",
" <td>le grand t</td>\n",
" <td>abo t gourmand jeune</td>\n",
" <td>5èmes hurlants</td>\n",
" <td>test 2016/2017</td>\n",
" <td>2016-11-18 00:00:00+01:00</td>\n",
" <td>1901-01-01 00:09:21+00:09</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1799179</td>\n",
" <td>36984</td>\n",
" <td>409613</td>\n",
" <td>1</td>\n",
" <td>guichet</td>\n",
" <td>2016-04-28 17:58:26+02:00</td>\n",
" <td>9.0</td>\n",
" <td>False</td>\n",
" <td>théâtre</td>\n",
" <td>le grand t</td>\n",
" <td>abo t gourmand jeune</td>\n",
" <td>dom juan</td>\n",
" <td>test 2016/2017</td>\n",
" <td>2016-12-07 00:00:00+01:00</td>\n",
" <td>1901-01-01 00:09:21+00:09</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1799180</td>\n",
" <td>36984</td>\n",
" <td>409613</td>\n",
" <td>1</td>\n",
" <td>guichet</td>\n",
" <td>2016-04-28 17:58:26+02:00</td>\n",
" <td>9.0</td>\n",
" <td>False</td>\n",
" <td>théâtre</td>\n",
" <td>le grand t</td>\n",
" <td>abo t gourmand jeune</td>\n",
" <td>vanishing point</td>\n",
" <td>test 2016/2017</td>\n",
" <td>2017-01-04 00:00:00+01:00</td>\n",
" <td>1901-01-01 00:09:21+00:09</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1799181</td>\n",
" <td>36984</td>\n",
" <td>409613</td>\n",
" <td>3</td>\n",
" <td>guichet</td>\n",
" <td>2016-04-28 17:58:26+02:00</td>\n",
" <td>12.0</td>\n",
" <td>False</td>\n",
" <td>cirque</td>\n",
" <td>la cite des congres</td>\n",
" <td>abo t gourmand jeune</td>\n",
" <td>a o lang pho</td>\n",
" <td>test 2016/2017</td>\n",
" <td>2017-01-03 00:00:00+01:00</td>\n",
" <td>1901-01-01 00:09:21+00:09</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>492309</th>\n",
" <td>3252232</td>\n",
" <td>621716</td>\n",
" <td>710062</td>\n",
" <td>1</td>\n",
" <td>guichet</td>\n",
" <td>2023-03-09 12:08:45+01:00</td>\n",
" <td>7.0</td>\n",
" <td>False</td>\n",
" <td>théâtre</td>\n",
" <td>cap nort</td>\n",
" <td>tarif sco co 1 seance scolaire</td>\n",
" <td>sur moi, le temps</td>\n",
" <td>2022/2023</td>\n",
" <td>2023-03-13 14:00:00+01:00</td>\n",
" <td>1901-01-01 00:09:21+00:09</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>492310</th>\n",
" <td>3252233</td>\n",
" <td>621716</td>\n",
" <td>710062</td>\n",
" <td>1</td>\n",
" <td>guichet</td>\n",
" <td>2023-03-09 12:08:45+01:00</td>\n",
" <td>7.0</td>\n",
" <td>False</td>\n",
" <td>théâtre</td>\n",
" <td>cap nort</td>\n",
" <td>tarif sco co 1 seance scolaire</td>\n",
" <td>sur moi, le temps</td>\n",
" <td>2022/2023</td>\n",
" <td>2023-03-13 14:00:00+01:00</td>\n",
" <td>1901-01-01 00:09:21+00:09</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>492311</th>\n",
" <td>3252234</td>\n",
" <td>621716</td>\n",
" <td>710062</td>\n",
" <td>1</td>\n",
" <td>guichet</td>\n",
" <td>2023-03-09 12:08:45+01:00</td>\n",
" <td>7.0</td>\n",
" <td>False</td>\n",
" <td>théâtre</td>\n",
" <td>cap nort</td>\n",
" <td>tarif sco co 1 seance scolaire</td>\n",
" <td>sur moi, le temps</td>\n",
" <td>2022/2023</td>\n",
" <td>2023-03-13 14:00:00+01:00</td>\n",
" <td>1901-01-01 00:09:21+00:09</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>492312</th>\n",
" <td>3252235</td>\n",
" <td>621716</td>\n",
" <td>710062</td>\n",
" <td>1</td>\n",
" <td>guichet</td>\n",
" <td>2023-03-09 12:08:45+01:00</td>\n",
" <td>7.0</td>\n",
" <td>False</td>\n",
" <td>théâtre</td>\n",
" <td>cap nort</td>\n",
" <td>tarif sco co 1 seance scolaire</td>\n",
" <td>sur moi, le temps</td>\n",
" <td>2022/2023</td>\n",
" <td>2023-03-13 14:00:00+01:00</td>\n",
" <td>1901-01-01 00:09:21+00:09</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>492313</th>\n",
" <td>3252236</td>\n",
" <td>621716</td>\n",
" <td>710062</td>\n",
" <td>1</td>\n",
" <td>guichet</td>\n",
" <td>2023-03-09 12:08:45+01:00</td>\n",
" <td>7.0</td>\n",
" <td>False</td>\n",
" <td>théâtre</td>\n",
" <td>cap nort</td>\n",
" <td>tarif sco co 1 seance scolaire</td>\n",
" <td>sur moi, le temps</td>\n",
" <td>2022/2023</td>\n",
" <td>2023-03-13 14:00:00+01:00</td>\n",
" <td>1901-01-01 00:09:21+00:09</td>\n",
" <td>True</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>492314 rows × 16 columns</p>\n",
"</div>"
],
"text/plain": [
" ticket_id customer_id purchase_id event_type_id supplier_name \\\n",
"0 1799177 36984 409613 2 guichet \n",
"1 1799178 36984 409613 3 guichet \n",
"2 1799179 36984 409613 1 guichet \n",
"3 1799180 36984 409613 1 guichet \n",
"4 1799181 36984 409613 3 guichet \n",
"... ... ... ... ... ... \n",
"492309 3252232 621716 710062 1 guichet \n",
"492310 3252233 621716 710062 1 guichet \n",
"492311 3252234 621716 710062 1 guichet \n",
"492312 3252235 621716 710062 1 guichet \n",
"492313 3252236 621716 710062 1 guichet \n",
"\n",
" purchase_date amount is_full_price name_event_types \\\n",
"0 2016-04-28 17:58:26+02:00 9.0 False danse \n",
"1 2016-04-28 17:58:26+02:00 9.0 False cirque \n",
"2 2016-04-28 17:58:26+02:00 9.0 False théâtre \n",
"3 2016-04-28 17:58:26+02:00 9.0 False théâtre \n",
"4 2016-04-28 17:58:26+02:00 12.0 False cirque \n",
"... ... ... ... ... \n",
"492309 2023-03-09 12:08:45+01:00 7.0 False théâtre \n",
"492310 2023-03-09 12:08:45+01:00 7.0 False théâtre \n",
"492311 2023-03-09 12:08:45+01:00 7.0 False théâtre \n",
"492312 2023-03-09 12:08:45+01:00 7.0 False théâtre \n",
"492313 2023-03-09 12:08:45+01:00 7.0 False théâtre \n",
"\n",
" name_facilities name_categories \\\n",
"0 le grand t abo t gourmand jeune \n",
"1 le grand t abo t gourmand jeune \n",
"2 le grand t abo t gourmand jeune \n",
"3 le grand t abo t gourmand jeune \n",
"4 la cite des congres abo t gourmand jeune \n",
"... ... ... \n",
"492309 cap nort tarif sco co 1 seance scolaire \n",
"492310 cap nort tarif sco co 1 seance scolaire \n",
"492311 cap nort tarif sco co 1 seance scolaire \n",
"492312 cap nort tarif sco co 1 seance scolaire \n",
"492313 cap nort tarif sco co 1 seance scolaire \n",
"\n",
" name_events name_seasons start_date_time \\\n",
"0 aringa rossa test 2016/2017 2016-09-27 00:00:00+02:00 \n",
"1 5èmes hurlants test 2016/2017 2016-11-18 00:00:00+01:00 \n",
"2 dom juan test 2016/2017 2016-12-07 00:00:00+01:00 \n",
"3 vanishing point test 2016/2017 2017-01-04 00:00:00+01:00 \n",
"4 a o lang pho test 2016/2017 2017-01-03 00:00:00+01:00 \n",
"... ... ... ... \n",
"492309 sur moi, le temps 2022/2023 2023-03-13 14:00:00+01:00 \n",
"492310 sur moi, le temps 2022/2023 2023-03-13 14:00:00+01:00 \n",
"492311 sur moi, le temps 2022/2023 2023-03-13 14:00:00+01:00 \n",
"492312 sur moi, le temps 2022/2023 2023-03-13 14:00:00+01:00 \n",
"492313 sur moi, le temps 2022/2023 2023-03-13 14:00:00+01:00 \n",
"\n",
" end_date_time open \n",
"0 1901-01-01 00:09:21+00:09 True \n",
"1 1901-01-01 00:09:21+00:09 True \n",
"2 1901-01-01 00:09:21+00:09 True \n",
"3 1901-01-01 00:09:21+00:09 True \n",
"4 1901-01-01 00:09:21+00:09 True \n",
"... ... ... \n",
"492309 1901-01-01 00:09:21+00:09 True \n",
"492310 1901-01-01 00:09:21+00:09 True \n",
"492311 1901-01-01 00:09:21+00:09 True \n",
"492312 1901-01-01 00:09:21+00:09 True \n",
"492313 1901-01-01 00:09:21+00:09 True \n",
"\n",
"[492314 rows x 16 columns]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"products_purchased_reduced"
]
},
{
"cell_type": "code",
"execution_count": 63,
"id": "afd044b8-ac83-4a35-b959-700cae0b3b41",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_10/customerplus_cleaned.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_10/campaigns_information.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_10/products_purchased_reduced.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_10/target_information.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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",
"<string>: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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tables imported for tenant 10\n",
"File path : projet-bdc2324-team1/0_Input/Company_11/customerplus_cleaned.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_11/campaigns_information.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_11/products_purchased_reduced.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_11/target_information.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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",
"<string>: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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tables imported for tenant 11\n",
"File path : projet-bdc2324-team1/0_Input/Company_12/customerplus_cleaned.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_12/campaigns_information.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_12/products_purchased_reduced.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_12/target_information.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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",
"<string>: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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tables imported for tenant 12\n",
"File path : projet-bdc2324-team1/0_Input/Company_13/customerplus_cleaned.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_13/campaigns_information.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_13/products_purchased_reduced.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_13/target_information.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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",
"<string>: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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tables imported for tenant 13\n",
"File path : projet-bdc2324-team1/0_Input/Company_14/customerplus_cleaned.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_14/campaigns_information.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_14/products_purchased_reduced.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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_436/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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_14/target_information.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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",
"<string>: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"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tables imported for tenant 14\n"
]
}
],
"source": [
"# création des bases contenant les KPI pour les 5 compagnies de spectacle\n",
"\n",
"# liste des compagnies de spectacle\n",
"nb_compagnie=['10','11','12','13','14']\n",
"\n",
"# début de la boucle permettant de générer des datasets agrégés pour les 5 compagnies de spectacle\n",
"for directory_path in nb_compagnie:\n",
" df_customerplus_clean_0 = display_databases(directory_path, file_name = \"customerplus_cleaned\")\n",
" df_campaigns_information = display_databases(directory_path, file_name = \"campaigns_information\", datetime_col = ['opened_at', 'sent_at', 'campaign_sent_at'])\n",
" df_products_purchased_reduced = display_databases(directory_path, file_name = \"products_purchased_reduced\", datetime_col = ['purchase_date'])\n",
" df_target_information = display_databases(directory_path, file_name = \"target_information\")\n",
" \n",
" df_campaigns_kpi = campaigns_kpi_function(campaigns_information = df_campaigns_information) \n",
" df_tickets_kpi = tickets_kpi_function(tickets_information = df_products_purchased_reduced)\n",
" df_customerplus_clean = customerplus_kpi_function(customerplus_clean = df_customerplus_clean_0)\n",
"\n",
" \n",
"# creation de la colonne Number compagnie, qui permettra d'agréger les résultats\n",
" df_tickets_kpi[\"number_compagny\"]=int(directory_path)\n",
" df_campaigns_kpi[\"number_compagny\"]=int(directory_path)\n",
" df_customerplus_clean[\"number_compagny\"]=int(directory_path)\n",
" df_target_information[\"number_compagny\"]=int(directory_path)\n",
"\n",
" if nb_compagnie.index(directory_path)>=1:\n",
" customerplus_clean_spectacle=pd.concat([customerplus_clean_spectacle,df_customerplus_clean],axis=0)\n",
" campaigns_information_spectacle=pd.concat([campaigns_information_spectacle,df_campaigns_kpi],axis=0)\n",
" products_purchased_reduced_spectacle=pd.concat([products_purchased_reduced_spectacle,df_tickets_kpi],axis=0)\n",
" target_information_spectacle=pd.concat([target_information_spectacle,df_target_information],axis=0)\n",
" else:\n",
" customerplus_clean_spectacle=df_customerplus_clean\n",
" campaigns_information_spectacle=df_campaigns_kpi\n",
" products_purchased_reduced_spectacle=df_tickets_kpi\n",
" target_information_spectacle=df_target_information\n",
"\n",
" print(f\"Tables imported for tenant {directory_path}\")"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "b5a4a031-9533-4a50-8569-5f4246691a7a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>street_id</th>\n",
" <th>structure_id</th>\n",
" <th>mcp_contact_id</th>\n",
" <th>fidelity</th>\n",
" <th>tenant_id</th>\n",
" <th>is_partner</th>\n",
" <th>deleted_at</th>\n",
" <th>gender</th>\n",
" <th>is_email_true</th>\n",
" <th>...</th>\n",
" <th>purchase_count</th>\n",
" <th>first_buying_date</th>\n",
" <th>country</th>\n",
" <th>gender_label</th>\n",
" <th>gender_female</th>\n",
" <th>gender_male</th>\n",
" <th>gender_other</th>\n",
" <th>country_fr</th>\n",
" <th>has_tags</th>\n",
" <th>number_compagny</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>2</td>\n",
" <td>139</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18031</th>\n",
" <td>2</td>\n",
" <td>319517</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>1556</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>2</td>\n",
" <td>2020-01-01 14:06:52+00:00</td>\n",
" <td>fr</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>291642</th>\n",
" <td>2</td>\n",
" <td>757541</td>\n",
" <td>303.0</td>\n",
" <td>5.0</td>\n",
" <td>1</td>\n",
" <td>862</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>1</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>3</td>\n",
" <td>2016-09-08 14:50:00+00:00</td>\n",
" <td>fr</td>\n",
" <td>male</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>1</td>\n",
" <td>14</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>3 rows × 29 columns</p>\n",
"</div>"
],
"text/plain": [
" customer_id street_id structure_id mcp_contact_id fidelity \\\n",
"17 2 139 NaN NaN 0 \n",
"18031 2 319517 NaN NaN 0 \n",
"291642 2 757541 303.0 5.0 1 \n",
"\n",
" tenant_id is_partner deleted_at gender is_email_true ... \\\n",
"17 875 False NaN 2 False ... \n",
"18031 1556 False NaN 0 True ... \n",
"291642 862 False NaN 1 True ... \n",
"\n",
" purchase_count first_buying_date country gender_label \\\n",
"17 3 NaN NaN other \n",
"18031 2 2020-01-01 14:06:52+00:00 fr female \n",
"291642 3 2016-09-08 14:50:00+00:00 fr male \n",
"\n",
" gender_female gender_male gender_other country_fr has_tags \\\n",
"17 0 0 1 NaN 0 \n",
"18031 1 0 0 1.0 0 \n",
"291642 0 1 0 1.0 1 \n",
"\n",
" number_compagny \n",
"17 10 \n",
"18031 11 \n",
"291642 14 \n",
"\n",
"[3 rows x 29 columns]"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"customerplus_clean_spectacle[customerplus_clean_spectacle[\"customer_id\"]==2]"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "b9b6ec1f-36fb-4ee9-a1ed-09ff41878005",
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'customerplus_clean_spectacle' 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[1], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mcustomerplus_clean_spectacle\u001b[49m[customerplus_clean_spectacle[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcustomer_id\u001b[39m\u001b[38;5;124m\"\u001b[39m]\u001b[38;5;241m==\u001b[39m\u001b[38;5;241m1\u001b[39m]\n",
"\u001b[0;31mNameError\u001b[0m: name 'customerplus_clean_spectacle' is not defined"
]
}
],
"source": [
"customerplus_clean_spectacle[customerplus_clean_spectacle[\"customer_id\"]==1]"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "a12c1b7d-6f6f-483e-b215-6336d7a51057",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['customer_id', 'street_id', 'structure_id', 'mcp_contact_id',\n",
" 'fidelity', 'tenant_id', 'is_partner', 'deleted_at', 'gender',\n",
" 'is_email_true', 'opt_in', 'last_buying_date', 'max_price',\n",
" 'ticket_sum', 'average_price', 'average_purchase_delay',\n",
" 'average_price_basket', 'average_ticket_basket', 'total_price',\n",
" 'purchase_count', 'first_buying_date', 'country', 'gender_label',\n",
" 'gender_female', 'gender_male', 'gender_other', 'country_fr',\n",
" 'has_tags', 'number_compagny'],\n",
" dtype='object')"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"customerplus_clean_spectacle.columns"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "05b9a396-dcd7-4d3d-8b39-5ca48beba4b0",
"metadata": {},
"outputs": [],
"source": [
"#customerplus_clean_spectacle.isna().sum()\n",
"#campaigns_information_spectacle.isna().sum()\n",
"#products_purchased_reduced_spectacle.isna().sum()\n",
"#target_information_spectacle.isna().sum()"
]
},
{
"cell_type": "markdown",
"id": "81e15508-32ca-46f1-a03d-1febddbbf5b4",
"metadata": {},
"source": [
"### Ajout : importation de la table train_set pour faire les stats desc dessus"
]
},
{
"cell_type": "code",
"execution_count": 119,
"id": "3a1fdd6b-ac43-4e90-9a31-4f522bcc44bb",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
}
],
"source": [
"# importation de la table train_set pour les compagnies de spectacle (ou musique)\n",
"\n",
"S3_ENDPOINT_URL = \"https://\" + os.environ[\"AWS_S3_ENDPOINT\"]\n",
"fs = s3fs.S3FileSystem(client_kwargs={'endpoint_url': S3_ENDPOINT_URL})\n",
"\n",
"path_train_set_spectacle = \"projet-bdc2324-team1/Generalization/musique/Train_set.csv\"\n",
"\n",
"with fs.open(path_train_set_spectacle, mode=\"rb\") as file_in:\n",
" train_set_spectacle = pd.read_csv(file_in, sep=\",\")"
]
},
{
"cell_type": "code",
"execution_count": 120,
"id": "3a4c1ff4-2861-4e86-99df-26eea0370dc3",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>nb_tickets</th>\n",
" <th>nb_purchases</th>\n",
" <th>total_amount</th>\n",
" <th>nb_suppliers</th>\n",
" <th>vente_internet_max</th>\n",
" <th>purchase_date_min</th>\n",
" <th>purchase_date_max</th>\n",
" <th>time_between_purchase</th>\n",
" <th>nb_tickets_internet</th>\n",
" <th>...</th>\n",
" <th>country</th>\n",
" <th>gender_label</th>\n",
" <th>gender_female</th>\n",
" <th>gender_male</th>\n",
" <th>gender_other</th>\n",
" <th>country_fr</th>\n",
" <th>nb_campaigns</th>\n",
" <th>nb_campaigns_opened</th>\n",
" <th>time_to_open</th>\n",
" <th>y_has_purchased</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10_492779</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>fr</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>13.0</td>\n",
" <td>4.0</td>\n",
" <td>8 days 04:08:27</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10_563424</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>fr</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>10.0</td>\n",
" <td>9.0</td>\n",
" <td>0 days 01:39:58.555555555</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>10_44369</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>fr</td>\n",
" <td>male</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>14.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10_620271</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>9.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>10_687644</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 40 columns</p>\n",
"</div>"
],
"text/plain": [
" customer_id nb_tickets nb_purchases total_amount nb_suppliers \\\n",
"0 10_492779 0.0 0.0 0.0 0.0 \n",
"1 10_563424 0.0 0.0 0.0 0.0 \n",
"2 10_44369 0.0 0.0 0.0 0.0 \n",
"3 10_620271 0.0 0.0 0.0 0.0 \n",
"4 10_687644 0.0 0.0 0.0 0.0 \n",
"\n",
" vente_internet_max purchase_date_min purchase_date_max \\\n",
"0 0.0 550.0 550.0 \n",
"1 0.0 550.0 550.0 \n",
"2 0.0 550.0 550.0 \n",
"3 0.0 550.0 550.0 \n",
"4 0.0 550.0 550.0 \n",
"\n",
" time_between_purchase nb_tickets_internet ... country gender_label \\\n",
"0 -1.0 0.0 ... fr female \n",
"1 -1.0 0.0 ... fr other \n",
"2 -1.0 0.0 ... fr male \n",
"3 -1.0 0.0 ... NaN other \n",
"4 -1.0 0.0 ... NaN other \n",
"\n",
" gender_female gender_male gender_other country_fr nb_campaigns \\\n",
"0 1 0 0 1.0 13.0 \n",
"1 0 0 1 1.0 10.0 \n",
"2 0 1 0 1.0 14.0 \n",
"3 0 0 1 NaN 9.0 \n",
"4 0 0 1 NaN 4.0 \n",
"\n",
" nb_campaigns_opened time_to_open y_has_purchased \n",
"0 4.0 8 days 04:08:27 0.0 \n",
"1 9.0 0 days 01:39:58.555555555 0.0 \n",
"2 0.0 NaN 0.0 \n",
"3 0.0 NaN 0.0 \n",
"4 0.0 NaN 0.0 \n",
"\n",
"[5 rows x 40 columns]"
]
},
"execution_count": 120,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_set_spectacle.head()"
]
},
{
"cell_type": "code",
"execution_count": 121,
"id": "4632384d-2a06-445d-9fdb-b0c91b37ebaf",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0., 1.])"
]
},
"execution_count": 121,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# on remplace les valeurs has purchased = NaN par des 0\n",
"train_set_spectacle[\"y_has_purchased\"] = train_set_spectacle[\"y_has_purchased\"].fillna(0)\n",
"train_set_spectacle[\"y_has_purchased\"].unique()"
]
},
{
"cell_type": "code",
"execution_count": 122,
"id": "5fd56696-b479-46c7-8a59-fb8137db5fb5",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([10, 11, 12, 13, 14])"
]
},
"execution_count": 122,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# on reproduit une colonne avec le numéro de la compagnie \n",
"\n",
"train_set_spectacle[\"number_company\"] = train_set_spectacle[\"customer_id\"].apply(lambda x : int(re.split(\"_\", str(x))[0]))\n",
"train_set_spectacle[\"number_company\"].unique()"
]
},
{
"cell_type": "code",
"execution_count": 123,
"id": "91c6e047-43d2-456c-81f1-087026eef4f0",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>nb_tickets</th>\n",
" <th>nb_purchases</th>\n",
" <th>total_amount</th>\n",
" <th>nb_suppliers</th>\n",
" <th>vente_internet_max</th>\n",
" <th>purchase_date_min</th>\n",
" <th>purchase_date_max</th>\n",
" <th>time_between_purchase</th>\n",
" <th>nb_tickets_internet</th>\n",
" <th>...</th>\n",
" <th>gender_label</th>\n",
" <th>gender_female</th>\n",
" <th>gender_male</th>\n",
" <th>gender_other</th>\n",
" <th>country_fr</th>\n",
" <th>nb_campaigns</th>\n",
" <th>nb_campaigns_opened</th>\n",
" <th>time_to_open</th>\n",
" <th>y_has_purchased</th>\n",
" <th>number_company</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10_492779</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>13.0</td>\n",
" <td>4.0</td>\n",
" <td>8 days 04:08:27</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10_563424</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>10.0</td>\n",
" <td>9.0</td>\n",
" <td>0 days 01:39:58.555555555</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>10_44369</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>male</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>14.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10_620271</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>9.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>10_687644</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 41 columns</p>\n",
"</div>"
],
"text/plain": [
" customer_id nb_tickets nb_purchases total_amount nb_suppliers \\\n",
"0 10_492779 0.0 0.0 0.0 0.0 \n",
"1 10_563424 0.0 0.0 0.0 0.0 \n",
"2 10_44369 0.0 0.0 0.0 0.0 \n",
"3 10_620271 0.0 0.0 0.0 0.0 \n",
"4 10_687644 0.0 0.0 0.0 0.0 \n",
"\n",
" vente_internet_max purchase_date_min purchase_date_max \\\n",
"0 0.0 550.0 550.0 \n",
"1 0.0 550.0 550.0 \n",
"2 0.0 550.0 550.0 \n",
"3 0.0 550.0 550.0 \n",
"4 0.0 550.0 550.0 \n",
"\n",
" time_between_purchase nb_tickets_internet ... gender_label \\\n",
"0 -1.0 0.0 ... female \n",
"1 -1.0 0.0 ... other \n",
"2 -1.0 0.0 ... male \n",
"3 -1.0 0.0 ... other \n",
"4 -1.0 0.0 ... other \n",
"\n",
" gender_female gender_male gender_other country_fr nb_campaigns \\\n",
"0 1 0 0 1.0 13.0 \n",
"1 0 0 1 1.0 10.0 \n",
"2 0 1 0 1.0 14.0 \n",
"3 0 0 1 NaN 9.0 \n",
"4 0 0 1 NaN 4.0 \n",
"\n",
" nb_campaigns_opened time_to_open y_has_purchased \\\n",
"0 4.0 8 days 04:08:27 0.0 \n",
"1 9.0 0 days 01:39:58.555555555 0.0 \n",
"2 0.0 NaN 0.0 \n",
"3 0.0 NaN 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": 123,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_set_spectacle.head()"
]
},
{
"cell_type": "markdown",
"id": "fff306c2-1d41-4ef6-867b-ba9a7cf4ee68",
"metadata": {},
"source": [
"## Statistiques descriptives"
]
},
{
"cell_type": "markdown",
"id": "0549bdc4-edd7-4511-916e-26e94b5a30f5",
"metadata": {},
"source": [
"### 0. Détection du client anonyme (outlier) - utile pour la section 3"
]
},
{
"cell_type": "code",
"execution_count": 132,
"id": "5b460061-f8b5-4a6b-ba59-539446d8487f",
"metadata": {},
"outputs": [],
"source": [
"def outlier_detection(directory_path = \"1\", coupure = 1):\n",
" df_tickets = display_databases(directory_path, file_name = 'products_purchased_reduced' , datetime_col = ['purchase_date'])\n",
" df_tickets_kpi = tickets_kpi_function(df_tickets)\n",
"\n",
" if directory_path == \"101\" :\n",
" df_tickets_1 = display_databases(directory_path, file_name = 'products_purchased_reduced_1' , datetime_col = ['purchase_date'])\n",
" df_tickets_kpi_1 = tickets_kpi_function(df_tickets_1)\n",
"\n",
" df_tickets_kpi = pd.concat([df_tickets_kpi, df_tickets_kpi_1])\n",
" # Part du CA par customer\n",
" total_amount_share = df_tickets_kpi.groupby('customer_id')['total_amount'].sum().reset_index()\n",
" total_amount_share['total_amount_entreprise'] = total_amount_share['total_amount'].sum()\n",
" total_amount_share['share_total_amount'] = total_amount_share['total_amount']/total_amount_share['total_amount_entreprise']\n",
" \n",
" total_amount_share_index = total_amount_share.set_index('customer_id')\n",
" df_circulaire = total_amount_share_index['total_amount'].sort_values(axis = 0, ascending = False)\n",
" \n",
" top = df_circulaire[:coupure]\n",
" rest = df_circulaire[coupure:]\n",
" \n",
" # Calculez la somme du reste\n",
" rest_sum = rest.sum()\n",
" \n",
" # Créez une nouvelle série avec les cinq plus grandes parts et 'Autre'\n",
" new_series = pd.concat([top, pd.Series([rest_sum], index=['Autre'])])\n",
" \n",
" # Créez le graphique circulaire\n",
" plt.figure(figsize=(3, 3))\n",
" plt.pie(new_series, labels=new_series.index, autopct='%1.1f%%', startangle=140, pctdistance=0.5)\n",
" plt.axis('equal') # Assurez-vous que le graphique est un cercle\n",
" plt.title('Répartition des montants totaux')\n",
" plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 208,
"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": 133,
"id": "b6417f09-a6c7-4319-95b3-98c95ec5a3b7",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/0_Input/Company_10/products_purchased_reduced.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"data": {
"image/png": "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xs3Nrcjzr/78kpOTKSws5J133inyO+jbty9w+Xfw7LPP8vrrr7N582b69OlDUFAQt99+O9u2bSvlXVsFBgba3fbw8Ljm/bm5uXbvJSQkxG46nU5n97u/5Ho/M7i+5efq1zMajSVOe7W3336bZ555hsWLF9OtWzcCAwMZNGjQNYffXUtZl6/inDhxgk6dOnHq1CneeustNmzYwNatW3n33XcBx95XSfr160etWrXIzc1l8uTJGAyG657XjXDKo+SNGze2HSXv1q0bZrOZTz75hG+//ZahQ4cSHBwMWP8QBw8eXOw8YmNj7W4nJSUVmSYpKYn69esDsHv3bnbs2MH8+fMZPXq0bZr4+PgSc1bmOMlLf1yJiYlFjp6fPn3a9pmUx+sUFhaSnJxs9wd99ecXEBCAwWBg5MiRTJo0qdh51alTBwA3NzcmT57M5MmTSUtLY9WqVTz33HP06tWLhISEUkcX3Oh7OXfunF1pKqVISkri5ptvLrfXup7l50Z4e3sza9YsZs2axZkzZ2xrmwMGDGD//v1lnt+Vy9fVHF2+Fi9eTFZWFt9//71tzRoodpyxyWQiLy+vyP3nz58v9rUeeughMjIyaNq0KY899hidOnUiICCg1EzlzSnXMK/22muvERAQwPTp07FYLMTGxtKgQQN27NhB27Zti/3x9fW1m8fChQvtbv/xxx8cP36crl27ApfL79K/8pd8+OGHZcpalrWEskzbvXt3AL744gu7+7du3cq+ffu4/fbby5SzJN26dQOKfl5ffvml3W0vLy+6devG33//TYsWLYr9HRS3xubv78/QoUOZNGkSKSkpFToA/NJncvVn9t1335GVlXVdn1lJv7PyWn6Ke73Slo9atWoxZswYhg8fzoEDB8jOzr7m/KBo/vbt2+Pp6Vnkszp58iRr1qyx+6zK8hkopfj444+L5IiJiWHnzp129x08eLDIrjSATz75hC+++IK5c+fy448/kpaWVuzwwsrglGuYVwsICODZZ59lypQpfPnll4wYMYIPP/yQPn360KtXL8aMGUN4eDgpKSns27eP7du3880339jNY9u2bYwfP55hw4aRkJDAv/71L8LDw22b8I0aNaJevXpMnToVpRSBgYEsXbqUlStXlilr8+bNAXj11Vfp06cPBoOBFi1a2DYXr1SvXj08PT1ZuHAhjRs3xsfHh9q1a1O7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",
"text/plain": [
"<Figure size 300x300 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# outlier à enlever (dépend des stats desc !)\n",
"outlier_detection(directory_path=\"10\") # mettre 2 si on veut le 1er client non anonyme"
]
},
{
"cell_type": "code",
"execution_count": 145,
"id": "f08c082e-f76f-41f3-9530-3e6700eb74d9",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"outlier for tenant 10\n",
"File path : projet-bdc2324-team1/0_Input/Company_10/products_purchased_reduced.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"data": {
"image/png": "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xs3Nrcjzr/78kpOTKSws5J133inyO+jbty9w+Xfw7LPP8vrrr7N582b69OlDUFAQt99+O9u2bSvlXVsFBgba3fbw8Ljm/bm5uXbvJSQkxG46nU5n97u/5Ho/M7i+5efq1zMajSVOe7W3336bZ555hsWLF9OtWzcCAwMZNGjQNYffXUtZl6/inDhxgk6dOnHq1CneeustNmzYwNatW3n33XcBx95XSfr160etWrXIzc1l8uTJGAyG657XjXDKo+SNGze2HSXv1q0bZrOZTz75hG+//ZahQ4cSHBwMWP8QBw8eXOw8YmNj7W4nJSUVmSYpKYn69esDsHv3bnbs2MH8+fMZPXq0bZr4+PgSc1bmOMlLf1yJiYlFjp6fPn3a9pmUx+sUFhaSnJxs9wd99ecXEBCAwWBg5MiRTJo0qdh51alTBwA3NzcmT57M5MmTSUtLY9WqVTz33HP06tWLhISEUkcX3Oh7OXfunF1pKqVISkri5ptvLrfXup7l50Z4e3sza9YsZs2axZkzZ2xrmwMGDGD//v1lnt+Vy9fVHF2+Fi9eTFZWFt9//71tzRoodpyxyWQiLy+vyP3nz58v9rUeeughMjIyaNq0KY899hidOnUiICCg1EzlzSnXMK/22muvERAQwPTp07FYLMTGxtKgQQN27NhB27Zti/3x9fW1m8fChQvtbv/xxx8cP36crl27ApfL79K/8pd8+OGHZcpalrWEskzbvXt3AL744gu7+7du3cq+ffu4/fbby5SzJN26dQOKfl5ffvml3W0vLy+6devG33//TYsWLYr9HRS3xubv78/QoUOZNGkSKSkpFToA/NJncvVn9t1335GVlXVdn1lJv7PyWn6Ke73Slo9atWoxZswYhg8fzoEDB8jOzr7m/KBo/vbt2+Pp6Vnkszp58iRr1qyx+6zK8hkopfj444+L5IiJiWHnzp129x08eLDIrjSATz75hC+++IK5c+fy448/kpaWVuzwwsrglGuYVwsICODZZ59lypQpfPnll4wYMYIPP/yQPn360KtXL8aMGUN4eDgpKSns27eP7du3880339jNY9u2bYwfP55hw4aRkJDAv/71L8LDw22b8I0aNaJevXpMnToVpRSBgYEsXbqUlStXlilr8+bNAXj11Vfp06cPBoOBFi1a2DYXr1SvXj08PT1ZuHAhjRs3xsfHh9q1a1O7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",
"text/plain": [
"<Figure size 300x300 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"outlier for tenant 11\n",
"File path : projet-bdc2324-team1/0_Input/Company_11/products_purchased_reduced.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAASMAAAEQCAYAAAD7zhIuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA1AUlEQVR4nO3dd3QU9f7G8fe2ZJMQSCGQEEIglFADKCAoXem9CShI8yJSvDaKSFWRci0o+FNUEEEF9IIoIE2aXgVpUpTee29JSN39/v5YE1jSk01md/N5nZOTk9nJzLO7kyfTdkanlFIIIYTG9FoHEEIIkDISQjgJKSMhhFOQMhJCOAUpIyGEU5AyEkI4BSkjIYRTkDISQjgFKSMhhFMosDLat28f3t7ezJo1q6BmKYRwITkqo/nz56PT6VK/jEYjISEh9OrVi6NHj2b4e9HR0XTv3p0RI0YwYsSIPIfOi59++olJkyal+1jZsmXp379/6s8XLlxg0qRJ7NmzJ824kyZNQqfT5U/IXNLpdBk+t8LiwIEDTJo0iVOnThXI/N5++22WL1/usOk5In9my7hTUznwxRdfKEB98cUXauvWrWrTpk3qrbfeUl5eXqpEiRLqxo0b6f5ejx491NNPP62sVmtOZpcvhg0bpjJ62rt371bHjh1L/XnHjh2pz/dBZ8+eVVu3bs2vmLkCqIkTJ2odQ1PfffedAtSmTZsKZH4+Pj6qX79+DpueI/Jntow7M2NuCqx69erUqVMHgKZNm2KxWJg4cSLLly9nwIABacb/9ttvc1mVjnP37l28vb0zHad27drZnl7p0qUpXbp0XmMJIVLkpLlS1ox27NhhN3zVqlUKUFOnTrUbvmPHDtWhQwfl7++vPD09Va1atdSSJUvSnea6detU//79lb+/v/L29lbt27dXx48ftxt33bp1qmPHjio0NFR5enqq8uXLq8GDB6urV6/ajTdx4kQFqF27dqlu3bopPz8/FRwcrPr166eANF8nT55USikVHh6e+l9u06ZN6Y6bsuaRMo/7WSwWNX36dBUZGak8PDxUUFCQ6tu3rzp79qzdeE2aNFHVqlVT27dvVw0bNlReXl6qXLlyaurUqcpisWT5Pty+fVs9++yzKiAgQPn4+KhWrVqpw4cPp7tmdOTIEdW7d28VFBSkPDw8VOXKldXs2bPT5H7zzTdVpUqVlNlsVsWKFVM1atRQM2fOzDRHymv09ddfq1GjRqng4GDl4+Oj2rdvry5duqTu3Lmj/vWvf6nAwEAVGBio+vfvr6Kjo+2mERcXp8aMGaPKli2rTCaTKlWqlBo6dKi6efOm3Xjh4eGqXbt2avXq1ap27drKbDaryMhINXfu3NRxUpalB79S1mxzuvz89ddfqlevXqpo0aKqRIkSasCAAerWrVup46U3ryZNmiillIqNjVWvvPKKKlu2rPL09FT+/v7q4YcfVt98802Gr2dW+ZVSau7cuSoqKip1mp07d1YHDhxIfTyrZXz27NmqUaNGKigoSHl7e6vq1aur6dOnq8TExDSvd3prfE2aNEl9jkop9dxzzylPT0+1c+fO1GEWi0U1b95clShRQl24cCHD5/sgh5TR7NmzFaCWLl2aOmzjxo3Kw8NDNWrUSC1ZskStWbNG9e/fP82LmzLNsLAwNXDgQLV69Wr16aefqhIlSqiwsDC7hfLjjz9WU6dOVT/++KPasmWL+vLLL1XNmjVVZGSk3YuZsjCFh4er0aNHq/Xr16vly5erY8eOqe7duytAbd26NfUrPj5eKWX/Bty+fTs127hx41LHTSmW9Mpo8ODBClDDhw9Xa9asUZ988okKCgpSYWFhdgt8kyZNVGBgoKpYsaL65JNP1Pr169XQoUMVoL788stM3wOr1aqaNWumPD091ZQpU9S6devUxIkTVURERJoy+vvvv1OLZcGCBWrdunXqlVdeUXq9Xk2aNCl1vKlTpyqDwaAmTpyoNmzYoNasWaNmzpxpN056UsooPDxc9e/fP/U5FylSRDVr1ky1aNFCvfrqq2rdunVq+vTpymAwqBEjRtg9l1atWimj0ajGjx+v1q1bp9555x3l4+Ojateunfq+pLw3pUuXVlWrVlULFixQa9euVT169FCA2rJli1JKqStXrqi3335bAeqjjz5Kfc+uXLmSq+UnMjJSTZgwQa1fv1699957ytPTUw0YMCB1vK1btyovLy/Vtm3b1Hn9/fffSinbH6m3t7d677331KZNm9TKlSvVtGnT1KxZszJ8PbPKn/JY79691apVq9SCBQtURESEKlasmDpy5IhSSmW5jL/00kvq448/VmvWrFEbN25U77//vipevLjd80p5vbNTRnFxcapWrVoqIiIi9W91woQJSq/Xq3Xr1mX4XNOTqzLatm2bSkpKUtHR0WrNmjUqODhYNW7cWCUlJaWOW7lyZVW7dm27YUop1b59exUSEpK6BpAyzS5dutiN99tvvylAvfXWW+lmsVqtKikpSZ0+fVoB6ocffkh9LGVhmjBhQprfy2x7+sE3ILN9Rg+W0cGDBxWghg4dajfeH3/8oQA1duzY1GFNmjRRgPrjjz/sxq1atapq1apVutlSrF69WgHqgw8+sBs+ZcqUNGXUqlUrVbp0aXX79m27cYcPH67MZnPqPr727durWrVqZTrf9KSUUYcOHeyGv/jiiwpQL7zwgt3wzp07q4CAgNSf16xZowA1Y8YMu/GWLFmiAPXpp5+mDgsPD1dms1mdPn06dVhcXJwKCAhQzz33XOqw7O5zyc7y82CuoUOHKrPZbLfvM6N9RtWrV1edO3fONEN6Msp/8+bN1OK735kzZ5Snp6d66qmnUodld5+RxWJRSUlJasGCBcpgMNjt881uGSml1NGjR1XRokVV586d1c8//6z0er0aN25c1k/2Abk6tF+/fn1MJhO+vr60bt0af39/fvjhB4xG2y6oY8eOcejQIZ5++mkAkpOTU7/atm3LxYsXOXz4sN00U8ZN8eijjxIeHs6mTZtSh125coUhQ4YQFhaG0WjEZDIRHh4OwMGDB9Pk7NatW26eXq6k5Lz/aBxAvXr1qFKlChs2bLAbHhwcTL169eyGRUVFcfr06WzN58HX66mnnrL7OT4+ng0bNtClSxe8vb3TvAfx8fFs27YtNePevXsZOnQoa9eu5c6dO9l70v9o37693c9VqlQBoF27dmmG37hxg5iYGAA2btwIpH3NevTogY+PT5rXrFatWpQpUyb1Z7PZTKVKlbJ8zVLkdPnp2LGj3c9RUVHEx8dz5cqVLOdVr149Vq9ezZgxY9i8eTNxcXHZypiRrVu3EhcXl+a1CgsLo3nz5mleq4z8+eefdOzYkcDAQAwGAyaTiWeeeQaLxcKRI0dyla1ChQp89tlnLF++nPbt29OoUaNcHc3LVRktWLCAHTt2sHHjRp577jkOHjxI7969Ux+/fPkyAK+++iomk8nua+jQoQBcu3bNbprBwcFp5hMcHMz169cBsFqttGzZkmXLljFq1Cg2bNjA9u3bU/+g0nuzQ0JCcvP0ciUlZ3rzLFWqVOrjKQIDA9OM5+npmeVCe/36dYxGY5rff/D1u379OsnJycyaNSvNe9C2bVvg3nvw2muv8c4777Bt2zbatGlDYGAgjz/+ODt37sziWdsEBATY/ezh4ZHp8Pj4eLvnEhQUZDeeTqeze+9T5PY1g9wtPw/Oz9PTM8NxH/Thhx8yevRoli9fTrNmzQgICKBz586ZngKTmZwuX+k5c+YMjRo14vz583zwwQf8+uuv7Nixg48++gjI3vPKSLt27ShZsiTx8fG8/PLLGAyGHE8jV0fTqlSpkno0rVmzZlgsFj7//HP++9//0r17d4oXLw7YFvKuXbumO43IyEi7ny9dupRmnEuXLlGhQgUA/vrrL/bu3cv8+fPp169f6jjHjh3LMGdBngeUsuBevHgxzVG2CxcupL4mjphPcnIy169ft/tjefD18/f3x2Aw0LdvX4YNG5butMqVKweA0Wjk5Zdf5uWXX+bWrVv8/PPPjB07llatWnH27Nksj0Lm9blcvXrVrpCUUly6dIm6des6bF65WX7ywsfHh8mTJzN58mQuX76cupbUoUMHDh06lOPp3b98PSi7y9fy5cuJjY1l2bJlqWuEQLrn0ZnNZhISEtIMv3btWrrzGjJkCNHR0VSrVo0XXniBRo0a4e/vn2Wm+znkDOwZM2bg7+/PhAkTsFqtREZGUrFiRfbu3UudOnXS/fL19bWbxtdff2338++//87p06dp2rQpcK9YUv47pZgzZ06Osubkv1tOxm3evDkAX331ld3wHTt2cPDgQR5//PEc5cxIs2bNgLSv1zfffGP3s7e3N82aNePPP/8kKioq3fcgvTUNPz8/unfvzrBhw7hx40a+njyY8po8+JotXbqU2NjYXL1mGb1njlp+0ptfVstHyZIl6d+/P7179+bw4cPcvXs30+lB2vwNGjTAy8srzWt17tw5Nm7caPda5eQ1UErx2WefpclRtmxZ9u3bZzfsyJEjaXavAHz++ed89dVXzJ49mx9//JFbt26le4pPVnK1ZvQgf39/XnvtNUaNGsU333xDnz59mDNnDm3atKFVq1b079+f0NBQbty4wcGDB9m9ezffffed3TR27tzJs88+S48ePTh79iyvv/46oaGhqZt1lStXpnz58owZMwalFAEBAaxYsYL169fnKGuNGjUAmD59Om3atMFgMBAVFZW6CXG/8uXL4+Xlxddff02VKlUoUqQIpUqVolSpUmnGjYyMZPDgwcyaNQu9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",
"text/plain": [
"<Figure size 300x300 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"outlier for tenant 12\n",
"File path : projet-bdc2324-team1/0_Input/Company_12/products_purchased_reduced.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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_436/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"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 300x300 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"outlier for tenant 13\n",
"File path : projet-bdc2324-team1/0_Input/Company_13/products_purchased_reduced.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 300x300 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"outlier for tenant 14\n",
"File path : projet-bdc2324-team1/0_Input/Company_14/products_purchased_reduced.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_436/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_436/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"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 300x300 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# boucle pour identifier les outliers de chaque compagnie (et le client principal non anonyme)\n",
"\n",
"# nb_compagnie=['10','11','12','13','14']\n",
"for company_number in nb_compagnie :\n",
" print(f\"outlier for tenant {company_number}\")\n",
" outlier_detection(directory_path=company_number, coupure = 1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "dbe1af6a-79e9-45c7-a810-c6df3bf647f7",
"metadata": {},
"outputs": [],
"source": [
"# print(products_purchased_reduced_spectacle.loc[products_purchased_reduced_spectacle[\"number_compagny\"]==10][\"total_amount\"].describe())\n",
"\n",
"products_purchased_reduced_spectacle.loc[(products_purchased_reduced_spectacle[\"number_compagny\"]==10) & \n",
"(products_purchased_reduced_spectacle[\"customer_id\"]==19521)]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "20e2b8a2-f31c-42a4-8ea5-7ad67ab66915",
"metadata": {},
"outputs": [],
"source": [
"# company 11 \n",
"# etrange, pas de vente sur internet, et un seul supplier. Plus de 9k achats\n",
"products_purchased_reduced_spectacle.loc[(products_purchased_reduced_spectacle[\"number_compagny\"]==11) & \n",
"(products_purchased_reduced_spectacle[\"customer_id\"]==36)]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5dbce57c-d091-4ce2-92f9-1201deb2462e",
"metadata": {},
"outputs": [],
"source": [
"# company 12\n",
"products_purchased_reduced_spectacle.loc[(products_purchased_reduced_spectacle[\"number_compagny\"]==12) & \n",
"(products_purchased_reduced_spectacle[\"customer_id\"]==1706757)]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "0a243b57-19da-4e29-a53d-bb8d03e2ab77",
"metadata": {},
"outputs": [],
"source": [
"# company 13\n",
"products_purchased_reduced_spectacle.loc[(products_purchased_reduced_spectacle[\"number_compagny\"]==13) & \n",
"(products_purchased_reduced_spectacle[\"customer_id\"]==8422)]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "3d9b01bc-9584-4882-bd06-7de8acb8a88f",
"metadata": {},
"outputs": [],
"source": [
"# company 14\n",
"# a-t-on vrmt un outlier ? A acheté quasi 3k tickets, pr 96 achats\n",
"products_purchased_reduced_spectacle.loc[(products_purchased_reduced_spectacle[\"number_compagny\"]==14) & \n",
"(products_purchased_reduced_spectacle[\"customer_id\"]==6354)]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "033c1e00-52bd-4651-b893-57bda531760e",
"metadata": {},
"outputs": [],
"source": [
"# verifs dans les tables customerplus (outlier incertain pr 11 et 14)\n",
"\n",
"customerplus_clean_spectacle.loc[(customerplus_clean_spectacle[\"customer_id\"]==36) &\n",
"(customerplus_clean_spectacle[\"number_compagny\"]==11)]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "28ac8cda-32fa-4fb7-a75b-e1cc24871c39",
"metadata": {},
"outputs": [],
"source": [
"customerplus_clean_spectacle.loc[(customerplus_clean_spectacle[\"customer_id\"]==6354) &\n",
"(customerplus_clean_spectacle[\"number_compagny\"]==14)]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "3faea297-2cc5-4704-af85-77d95f600cc1",
"metadata": {},
"outputs": [],
"source": [
"customerplus_clean_spectacle.loc[(customerplus_clean_spectacle[\"customer_id\"]==8422) &\n",
"(customerplus_clean_spectacle[\"number_compagny\"]==13)]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b165ea79-347b-46fb-8217-635d9e888c65",
"metadata": {},
"outputs": [],
"source": [
"customerplus_clean_spectacle.loc[(customerplus_clean_spectacle[\"customer_id\"]==19521) &\n",
"(customerplus_clean_spectacle[\"number_compagny\"]==10)]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "282b0a96-5e78-48aa-9c2c-7d00d3907add",
"metadata": {},
"outputs": [],
"source": [
"customerplus_clean_spectacle.columns"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "ad47a812-a744-49c5-8079-0919b49ef24c",
"metadata": {},
"outputs": [],
"source": [
"# on enlève les outliers des tables\n",
"\n",
"outliers_musique_dico = {10 : 19521, 11 : 36, 12 : 1706757, 13 : 8422}\n",
"\n",
"# outlier_music_list = list(outliers_musique_dico.values())\n"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "9717dfd5-c39c-41eb-858d-5baf3ab71554",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 19521\n",
"11 36\n",
"12 1706757\n",
"13 8422\n"
]
}
],
"source": [
"for tenant_number, customer_id in outliers_musique_dico.items() :\n",
"\n",
" print(tenant_number, customer_id)\n",
" \n",
" customerplus_clean_spectacle = customerplus_clean_spectacle[(customerplus_clean_spectacle['number_compagny']!= tenant_number) |\n",
" (customerplus_clean_spectacle['customer_id']!= customer_id) ]\n",
"\n",
" campaigns_information_spectacle = campaigns_information_spectacle[(campaigns_information_spectacle['number_compagny']!= tenant_number) |\n",
" (campaigns_information_spectacle['customer_id']!= customer_id) ]\n",
"\n",
" products_purchased_reduced_spectacle = products_purchased_reduced_spectacle[(products_purchased_reduced_spectacle['number_compagny']!= tenant_number) |\n",
" (products_purchased_reduced_spectacle['customer_id']!= customer_id) ]\n",
"\n",
" target_information_spectacle = target_information_spectacle[(target_information_spectacle['number_compagny']!= tenant_number) |\n",
" (target_information_spectacle['customer_id']!= customer_id) ]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "eb7f4c95-817b-4145-9319-11d2f62b24d9",
"metadata": {},
"outputs": [],
"source": [
"# on vérifie que les outliers sont pas dans le train set "
]
},
{
"cell_type": "code",
"execution_count": 147,
"id": "b50e1de8-28fe-42bd-bd81-dde7e36b64fb",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['10_19521', '11_36', '12_1706757', '13_8422']"
]
},
"execution_count": 147,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"outliers_train_set_musique = [str(tenant_id) + \"_\" + str(customer_id) for tenant_id, customer_id in outliers_musique_dico.items()]\n",
"outliers_train_set_musique"
]
},
{
"cell_type": "code",
"execution_count": 161,
"id": "1753d45d-beac-48a4-9bc4-f84925320a89",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>nb_tickets</th>\n",
" <th>nb_purchases</th>\n",
" <th>total_amount</th>\n",
" <th>nb_suppliers</th>\n",
" <th>vente_internet_max</th>\n",
" <th>purchase_date_min</th>\n",
" <th>purchase_date_max</th>\n",
" <th>time_between_purchase</th>\n",
" <th>nb_tickets_internet</th>\n",
" <th>...</th>\n",
" <th>gender_label</th>\n",
" <th>gender_female</th>\n",
" <th>gender_male</th>\n",
" <th>gender_other</th>\n",
" <th>country_fr</th>\n",
" <th>nb_campaigns</th>\n",
" <th>nb_campaigns_opened</th>\n",
" <th>time_to_open</th>\n",
" <th>y_has_purchased</th>\n",
" <th>number_company</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table>\n",
"<p>0 rows × 41 columns</p>\n",
"</div>"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: [customer_id, nb_tickets, nb_purchases, total_amount, nb_suppliers, vente_internet_max, purchase_date_min, purchase_date_max, time_between_purchase, nb_tickets_internet, street_id, structure_id, mcp_contact_id, fidelity, tenant_id, is_partner, deleted_at, gender, is_email_true, opt_in, last_buying_date, max_price, ticket_sum, average_price, average_purchase_delay, average_price_basket, average_ticket_basket, total_price, purchase_count, first_buying_date, country, gender_label, gender_female, gender_male, gender_other, country_fr, nb_campaigns, nb_campaigns_opened, time_to_open, y_has_purchased, number_company]\n",
"Index: []\n",
"\n",
"[0 rows x 41 columns]"
]
},
"execution_count": 161,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_set_spectacle[train_set_spectacle[\"customer_id\"].isin(outliers_train_set_musique)] # OK"
]
},
{
"cell_type": "markdown",
"id": "42f8171c-e80d-4faa-b278-21fcbe3b242c",
"metadata": {},
"source": [
"### 1. customerplus_clean"
]
},
{
"cell_type": "code",
"execution_count": 66,
"id": "47f98721-53dd-4f8f-85ac-88043ee8d967",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>street_id</th>\n",
" <th>structure_id</th>\n",
" <th>mcp_contact_id</th>\n",
" <th>fidelity</th>\n",
" <th>tenant_id</th>\n",
" <th>is_partner</th>\n",
" <th>deleted_at</th>\n",
" <th>gender</th>\n",
" <th>is_email_true</th>\n",
" <th>...</th>\n",
" <th>total_price</th>\n",
" <th>purchase_count</th>\n",
" <th>first_buying_date</th>\n",
" <th>country</th>\n",
" <th>gender_label</th>\n",
" <th>gender_female</th>\n",
" <th>gender_male</th>\n",
" <th>gender_other</th>\n",
" <th>country_fr</th>\n",
" <th>number_compagny</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>821538</td>\n",
" <td>139</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>809126</td>\n",
" <td>1063</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11005</td>\n",
" <td>1063</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>14</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>17663</td>\n",
" <td>12731</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>38100</td>\n",
" <td>12395</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>307036</td>\n",
" <td>139</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2946</td>\n",
" <td>1063</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>8</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>18441</td>\n",
" <td>11139</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>9231</td>\n",
" <td>139</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>9870</td>\n",
" <td>139</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>10 rows × 28 columns</p>\n",
"</div>"
],
"text/plain": [
" customer_id street_id structure_id mcp_contact_id fidelity tenant_id \\\n",
"0 821538 139 NaN NaN 0 875 \n",
"1 809126 1063 NaN NaN 0 875 \n",
"2 11005 1063 NaN NaN 0 875 \n",
"3 17663 12731 NaN NaN 0 875 \n",
"4 38100 12395 NaN NaN 0 875 \n",
"5 307036 139 NaN NaN 0 875 \n",
"6 2946 1063 NaN NaN 0 875 \n",
"7 18441 11139 NaN NaN 0 875 \n",
"8 9231 139 NaN NaN 0 875 \n",
"9 9870 139 NaN NaN 0 875 \n",
"\n",
" is_partner deleted_at gender is_email_true ... total_price \\\n",
"0 False NaN 2 True ... 0.0 \n",
"1 False NaN 2 True ... 0.0 \n",
"2 False NaN 2 False ... NaN \n",
"3 False NaN 0 False ... NaN \n",
"4 False NaN 0 True ... NaN \n",
"5 False NaN 2 True ... NaN \n",
"6 False NaN 2 False ... NaN \n",
"7 False NaN 2 False ... NaN \n",
"8 False NaN 0 True ... NaN \n",
"9 False NaN 2 True ... NaN \n",
"\n",
" purchase_count first_buying_date country gender_label gender_female \\\n",
"0 0 NaN NaN other 0 \n",
"1 0 NaN fr other 0 \n",
"2 14 NaN fr other 0 \n",
"3 1 NaN fr female 1 \n",
"4 1 NaN fr female 1 \n",
"5 1 NaN NaN other 0 \n",
"6 8 NaN fr other 0 \n",
"7 3 NaN fr other 0 \n",
"8 1 NaN NaN female 1 \n",
"9 1 NaN NaN other 0 \n",
"\n",
" gender_male gender_other country_fr number_compagny \n",
"0 0 1 NaN 10 \n",
"1 0 1 1.0 10 \n",
"2 0 1 1.0 10 \n",
"3 0 0 1.0 10 \n",
"4 0 0 1.0 10 \n",
"5 0 1 NaN 10 \n",
"6 0 1 1.0 10 \n",
"7 0 1 1.0 10 \n",
"8 0 0 NaN 10 \n",
"9 0 1 NaN 10 \n",
"\n",
"[10 rows x 28 columns]"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# visu de la table\n",
"customerplus_clean_spectacle.head(10)"
]
},
{
"cell_type": "code",
"execution_count": 67,
"id": "738e063b-f84e-4a00-b35d-6d1d657e3c09",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Nombre de lignes de la table : 1523684\n"
]
},
{
"data": {
"text/plain": [
"customer_id 0\n",
"street_id 0\n",
"structure_id 1460622\n",
"mcp_contact_id 729163\n",
"fidelity 0\n",
"tenant_id 0\n",
"is_partner 0\n",
"deleted_at 1523684\n",
"gender 0\n",
"is_email_true 0\n",
"opt_in 0\n",
"last_buying_date 762879\n",
"max_price 762879\n",
"ticket_sum 0\n",
"average_price 667328\n",
"average_purchase_delay 762915\n",
"average_price_basket 762915\n",
"average_ticket_basket 762915\n",
"total_price 95551\n",
"purchase_count 0\n",
"first_buying_date 762879\n",
"country 429485\n",
"gender_label 0\n",
"gender_female 0\n",
"gender_male 0\n",
"gender_other 0\n",
"country_fr 429485\n",
"number_compagny 0\n",
"dtype: int64"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# nombre de NaN\n",
"print(\"Nombre de lignes de la table : \",customerplus_clean_spectacle.shape[0])\n",
"customerplus_clean_spectacle.isna().sum()"
]
},
{
"cell_type": "markdown",
"id": "b44054b3-d850-4bc9-bc73-feb9979908bc",
"metadata": {},
"source": [
"#### Nombre de clients de la compagnie"
]
},
{
"cell_type": "code",
"execution_count": 70,
"id": "884a33d0-c275-4ab4-ab1f-8b53e563fb95",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" number_compagny already_purchased customer_id\n",
"0 10 True 45263\n",
"1 11 True 35312\n",
"2 12 True 216104\n",
"3 13 True 388730\n",
"4 14 True 101642\n",
" number_compagny already_purchased customer_id\n",
"0 10 False 53530\n",
"1 11 False 35994\n",
"2 12 False 26620\n",
"3 13 False 379005\n",
"4 14 False 241484\n"
]
}
],
"source": [
"# nouveau barplot pr les clients : on regarde la taille totale de la base et on distingue clients ayant acheté / pas acheté\n",
"\n",
"# variable relative à l'achat\n",
"customerplus_clean_spectacle[\"already_purchased\"] = customerplus_clean_spectacle[\"purchase_count\"]>0\n",
"\n",
"nb_customers_purchasing_spectacle = customerplus_clean_spectacle[customerplus_clean_spectacle[\"already_purchased\"]].groupby([\"number_compagny\",\"already_purchased\"])[\"customer_id\"].count().reset_index()\n",
"nb_customers_no_purchase_spectacle = customerplus_clean_spectacle[~customerplus_clean_spectacle[\"already_purchased\"]].groupby([\"number_compagny\",\"already_purchased\"])[\"customer_id\"].count().reset_index()\n",
"\n",
"print(nb_customers_purchasing_spectacle)\n",
"print(nb_customers_no_purchase_spectacle)"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "41c9fb5a-708b-4f85-9918-00337151f155",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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2LGyjoOIiIio3ClRouTh4VHWcRARERGVOyVKlC5fvgxnZ2dUqlQJly9fLrKuq6urWgIjIiIi0rQSJUqNGjVCQkICrKys0KhRI8hkMhQ2oTfHKBEREVFFUqJEKSYmBlWrVpX+TURERPQ+KFGiVLNmzUL/TURERFSRlShRyu/ff//FqVOnkJiYiNzcXIV148aNU0tgRERERJqmcqK0fv16jBgxAjo6OrC0tFSYX0kmkzFRIiIiogpD5URp+vTpmD59OgICAlCpUqWyiImIiIioXFA503nx4gX69u3LJImIiIgqPJWznSFDhmD79u1lEQsRERFRuaLypbe5c+eic+fO2L9/P1xcXKCtra2wfuHChWoLjoiIiEiTVE6UgoODceDAAdStWxcACgzmJiIiIqooVE6UFi5ciHXr1mHQoEFlEA4RERFR+aHyGCVdXV24u7uXRSxERERE5YrKidLXX3+NZcuWlUUsREREROWKypfezp07h6NHj2LPnj1o0KBBgcHcO3fuVFtwRERERJqkcqJkZmaGHj16lEUsREREROVKqR5hQkRERPQ+4PTaREREREpoNFEKDAyETCZTeMnlcmm9EAKBgYGwtbWFvr4+PD09ER0drbCPjIwMjB07FlWqVIGhoSG6du2KBw8evO1DISIiogpI4z1KDRo0QHx8vPS6cuWKtG7evHlYuHAhli9fjoiICMjlcnh7e+P58+dSHT8/P+zatQtbt27FyZMnkZqais6dOyMnJ0cTh0NEREQViMpjlNQegJaWQi9SHiEEFi9ejKlTp0qDxzds2ABra2ts3rwZw4cPR3JyMtauXYuNGzfCy8sLALBp0ybY2dnh8OHD8PHxeavHQkRERBWLxnuUbt26BVtbWzg4OKBv3764e/cuACAmJgYJCQlo166dVFdXVxceHh4IDw8HAERGRiIrK0uhjq2tLZydnaU6hcnIyEBKSorCi4iIiCi/UvUoHTlyBEeOHEFiYiJyc3MV1q1bt67E+2nevDl++eUXODk54eHDh5g9ezZatmyJ6OhoJCQkAACsra0VtrG2tkZcXBwAICEhATo6OjA3Ny9QJ2/7wsydOxdBQUEljpOIiIjeTyonSkFBQZg5cyaaNm0KGxubN3oQbocOHaR/u7i4oEWLFqhduzY2bNiAjz76CEDBB+0KIYpts7g6AQEBmDBhgrSckpICOzu7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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Création du barplot\n",
"plt.bar(nb_customers_purchasing_spectacle[\"number_compagny\"], nb_customers_purchasing_spectacle[\"customer_id\"]/1000, label = \"clients ayant acheté\")\n",
"plt.bar(nb_customers_no_purchase_spectacle[\"number_compagny\"], nb_customers_no_purchase_spectacle[\"customer_id\"]/1000, \n",
" bottom = nb_customers_purchasing_spectacle[\"customer_id\"]/1000, label = \"clients ciblés par un mail\")\n",
"\n",
"\n",
"# Ajout de titres et d'étiquettes\n",
"plt.xlabel('Compagnie')\n",
"plt.ylabel(\"Nombre de clients (en milliers)\")\n",
"plt.title(\"Nombre de clients identifiés pour les compagnies de spectacle\")\n",
"plt.legend()\n",
"\n",
"# Affichage du barplot\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 112,
"id": "a41dfb3e-12b6-4a7b-9282-698d9476b17b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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2LGyjoOIiIio3ClRouTh4VHWcRARERGVOyVKlC5fvgxnZ2dUqlQJly9fLrKuq6urWgIjIiIi0rQSJUqNGjVCQkICrKys0KhRI8hkMhQ2oTfHKBEREVFFUqJEKSYmBlWrVpX+TURERPQ+KFGiVLNmzUL/TURERFSRlShRyu/ff//FqVOnkJiYiNzcXIV148aNU0tgRERERJqmcqK0fv16jBgxAjo6OrC0tFSYX0kmkzFRIiIiogpD5URp+vTpmD59OgICAlCpUqWyiImIiIioXFA503nx4gX69u3LJImIiIgqPJWznSFDhmD79u1lEQsRERFRuaLypbe5c+eic+fO2L9/P1xcXKCtra2wfuHChWoLjoiIiEiTVE6UgoODceDAAdStWxcACgzmJiIiIqooVE6UFi5ciHXr1mHQoEFlEA4RERFR+aHyGCVdXV24u7uXRSxERERE5YrKidLXX3+NZcuWlUUsREREROWKypfezp07h6NHj2LPnj1o0KBBgcHcO3fuVFtwRERERJqkcqJkZmaGHj16lEUsREREROVKqR5hQkRERPQ+4PTaREREREpoNFEKDAyETCZTeMnlcmm9EAKBgYGwtbWFvr4+PD09ER0drbCPjIwMjB07FlWqVIGhoSG6du2KBw8evO1DISIiogpI4z1KDRo0QHx8vPS6cuWKtG7evHlYuHAhli9fjoiICMjlcnh7e+P58+dSHT8/P+zatQtbt27FyZMnkZqais6dOyMnJ0cTh0NEREQViMpjlNQegJaWQi9SHiEEFi9ejKlTp0qDxzds2ABra2ts3rwZw4cPR3JyMtauXYuNGzfCy8sLALBp0ybY2dnh8OHD8PHxeavHQkRERBWLxnuUbt26BVtbWzg4OKBv3764e/cuACAmJgYJCQlo166dVFdXVxceHh4IDw8HAERGRiIrK0uhjq2tLZydnaU6hcnIyEBKSorCi4iIiCi/UvUoHTlyBEeOHEFiYiJyc3MV1q1bt67E+2nevDl++eUXODk54eHDh5g9ezZatmyJ6OhoJCQkAACsra0VtrG2tkZcXBwAICEhATo6OjA3Ny9QJ2/7wsydOxdBQUEljpOIiIjeTyonSkFBQZg5cyaaNm0KGxubN3oQbocOHaR/u7i4oEWLFqhduzY2bNiAjz76CEDBB+0KIYpts7g6AQEBmDBhgrSckpICOzu7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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# syntaxe à retenir pr exporter des images !!\n",
"\n",
"\n",
"FILE_PATH = \"projet-bdc2324-team1/graphics/music/\"\n",
"FILE_NAME = \"number_customers_music.png\"\n",
"FILE_PATH_OUT_S3 = FILE_PATH + FILE_NAME\n",
"\n",
"# Création du barplot\n",
"plt.bar(nb_customers_purchasing_spectacle[\"number_compagny\"], nb_customers_purchasing_spectacle[\"customer_id\"]/1000, label = \"clients ayant acheté\")\n",
"plt.bar(nb_customers_no_purchase_spectacle[\"number_compagny\"], nb_customers_no_purchase_spectacle[\"customer_id\"]/1000, \n",
" bottom = nb_customers_purchasing_spectacle[\"customer_id\"]/1000, label = \"clients ciblés par un mail\")\n",
"\n",
"\n",
"# Ajout de titres et d'étiquettes\n",
"plt.xlabel('Compagnie')\n",
"plt.ylabel(\"Nombre de clients (en milliers)\")\n",
"plt.title(\"Nombre de clients identifiés pour les compagnies de spectacle\")\n",
"plt.legend()\n",
"\n",
"with fs.open(FILE_PATH_OUT_S3, 'wb') as file_out:\n",
" plt.savefig(file_out)"
]
},
{
"cell_type": "markdown",
"id": "85b6c7a9-d970-4071-8633-45bc1f50e157",
"metadata": {
"jp-MarkdownHeadingCollapsed": true
},
"source": [
"#### Prix maximal payé par un client (utile ??)"
]
},
{
"cell_type": "code",
"execution_count": 152,
"id": "fd11c547-7128-4ef6-ad7b-4b7c2a30cd9e",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_compagny</th>\n",
" <th>max_price</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>13823.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>11</td>\n",
" <td>108.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>12</td>\n",
" <td>5000.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>13</td>\n",
" <td>3180.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>14</td>\n",
" <td>456.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_compagny max_price\n",
"0 10 13823.0\n",
"1 11 108.0\n",
"2 12 5000.0\n",
"3 13 3180.0\n",
"4 14 456.0"
]
},
"execution_count": 152,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# prix maximal payé par un client pour chaque compagnie - très variable : de 108 à 13823\n",
"\n",
"company_max_price = customerplus_clean_spectacle.groupby(\"number_compagny\")[\"max_price\"].max().reset_index()\n",
"company_max_price"
]
},
{
"cell_type": "code",
"execution_count": 153,
"id": "b8f8f162-4153-4cfe-bfaa-d981d414510d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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eHIoreCKtdf5y4SJiIjo9SA7QKWkpJRGHURERETlhuwA5eLiUhp1EBEREZUbsgPUunXrip0+YMCAFy6GiIiIqDyQHaA+/vhjred5eXl48OABTE1NYWFhwQBFREREFZ7sG2k+fePMzMxMZGdn4+LFi3jrrbewadOm0qiRiIiIyKDIDlCFqVevHubOnaszOkVERERUEeklQAFPvmIlNTVVX4sjIiIiMliyz4Hatm2b1nMhBG7evImIiAi0bdtWb4URERERGSrZAapbt25azxUKBapVq4Z33nkHX3/9tb7qIiIiIjJYsgNUfn5+adRBREREVG7o7RwoIiIiotdFiUegZs2apfX8888/13sxREREROVBiQPU09+Bp1AoSqUYIiIiovKgxAFqzZo1pVkHERERUbnBc6CIiIiIZCrRCNQHH3xQ4gVGRUW9cDFERERE5UGJRqCUSqX0sLa2xr59+3DixAlpemJiIvbt2welUllqhRIREREZihKNQD19/tPkyZPRq1cvLF++HEZGRgAAjUaDUaNGwdraunSqJCIiIjIgss+BWr16NSZMmCCFJ+DJ9+CNHz8eq1ev1mtxRERERIZIdoB6/PgxkpOTddqTk5N5l3IiIiJ6Lcj+KpdBgwZh8ODBuHTpEtq0aQMASEhIwNy5czFo0CC9F0hERERkaGQHqIULF8LJyQnh4eG4efMmAKB69eqYNGkSwsLC9F4gERERkaGRHaAqVaqESZMmYdKkScjKygIAnjxORERErxXZAeppDE5ERET0OuKdyImIiIhkYoAiIiIikokBioiIiEgmBigiIiIimUp0EvmSJUtKvMBx48a9cDFERERE5UGJAlR4eHiJFqZQKBigiIiIqMIrUYBKSUkp7TqIiIiIyg2eA0VEREQk0wvdSPP69evYtm0brl69itzcXK1pixYt0kthRERERIZKdoDat28fAgMD4ebmhosXL8Ld3R2XL1+GEAItWrQojRqJiIiIDIrsQ3hTp05FWFgYzp49i8qVK+OXX37BtWvX4OPjgw8//LA0aiQiIiIyKLIDVHJyMkJCQgAAxsbGePjwIapUqYJZs2Zh3rx5ei+QiIiIyNDIDlCWlpbIyckBAKhUKvz999/StH///Vd/lREREREZKNnnQLVp0wa///47GjVqBD8/P4SFheHMmTOIiopCmzZtSqNGIiIiIoMiO0At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EwMUERERkUwMUM9YtmwZ3NzcULlyZbRs2RKHDh0q65KIiIjIwDBAPWXz5s0IDQ3Fp59+ilOnTqFdu3Z49913cfXq1bIujYiIiAwIb6T5lEWLFmHIkCH46KOPAACLFy/G7t278e2332LOnDllXB2VBd7gruQM6QZ3RESljSNQ/yc3NxeJiYno3LmzVnvnzp1x5MiRMqqKiIiIDBFHoP7Pv//+C41GA0dHR612R0dHpKWlFTpPTk4OcnJypOdqtRoAkJWVpff68nMe6H2ZFZU+9z/3e8lxv5cN7veywf1eNkrj9+vTyxVClHgeBqhnKBQKredCCJ22AnPmzMHMmTN12p2dnUulNioZ5eKyruD1xP1eNrjfywb3e9ko7f1+7949KJXKEvVlgPo/9vb2MDIy0hltSk9P1xmVKjB16lSMHz9eep6fn4+MjAzY2dkVGboqkqysLDg7O+PatWuwtrYu63JeG9zvZYP7vWxwv5eN122/CyFw7949qFSqEs/DAPV/TE1N0bJlS8TGxqJ79+5Se2xsLN5///1C5zEzM4OZmZlWW9WqVUuzTINkbW39WrzBDA33e9ngfi8b3O9l43Xa7yUdeSrAAPWU8ePHIzg4GK1atYKXlxdWrlyJq1evYsSIEWVdGhERERkQBqin9O7dG3fu3MGsWbNw8+ZNuLu7Y+fOnXBxcSnr0oiIiMiAMEA9Y9SoURg1alRZl1EumJmZYfr06TqHMal0cb+XDe73ssH9Xja4359PIeRcs0dEREREvJEmERERkVwMUEREREQyMUARERERycQARURERCQTAxQV67fffkNAQABUKhUUCgW2bt2qNV0IgRkzZkClUsHc3Bzt27fHuXPnyqbYCuR5+z0qKgpdunSBvb09FAoFkpKSyqTOiqa4/Z6Xl4fJkyfDw8MDlpaWUKlUGDBgAFJTU8uu4Ariea/3GTNmoEGDBrC0tISNjQ06deqEo0ePlk2xFcjz9vvThg8fDoVCgcWLF7+y+gwdAxQV6/79+2jatCkiIiIKnT5//nwsWrQIEREROH78OJycnODr64t79+694korluft9/v376Nt27aYO3fuK66sYituvz948AAnT57EtGnTcPLkSURFReHPP/9EYGBgGVRasTzv9f7GG28gIiICZ86cweHDh+Hq6orOnTvj9u3br7jSiuV5+73A1q1bcfToUVlf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Z8+JSkhIQIMGDQAAv//+O1xcXPDpp5+iVatWqFevHq5cufJC6/noo4+wZs0arF69Gp06ddIaUSMiw8AARUTlxrJly6DRaNC6dWv88ssv+Ouvv5CcnIwlS5bAy8sLnTp1QpMmTdCvXz+cPHkSx44dw4ABA+Dj44NWrVq99Pq3bNmC1atX488//8T06dNx7NgxjBkzBgBQt25dXL16FZGRkfj777+xZMkSREdHv9B6+vXrhxs3buC7777D4MGDX7puItI/BigiKjfc3Nxw8uRJdOjQAWFhYXB3d4evry/27duHb7/9FgqFAlu3boWNjQ3efvttdOrUCbVr18bmzZv1sv6ZM2ciMjISTZo0wQ8//ICNGzeiUaNGAID3338fn3zyCcaMGYNmzZrhyJEjmDZt2gutx9raGj169ECVKlXQrVs3vdRORPqlEAVnZhIRUZEUCgWio6NfWaDx9fVFw4YNsWTJkleyPiKSh1fhEREZkIyMDOzZswf79+9HREREWZdDREVggCIiMiAtWrRAZmYm5s2bh/r165d1OURUBB7CIyIiIpKJJ5ETERERycQARURERCQTAxQRERGRTAxQRERERDIxQBERERHJxABFREREJBMDFBEREZFMDFBEREREMjFAEREREcn0/wD+PdVJx8K92QAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Création du barplot\n",
"plt.bar(company_max_price[\"number_compagny\"], company_max_price[\"max_price\"])\n",
"\n",
"# Ajout de titres et d'étiquettes\n",
"plt.xlabel('Company')\n",
"plt.ylabel(\"Prix maximal d'un billet vendu\")\n",
"plt.title(\"Prix maximal de vente observé par compagnie de spectacle\")\n",
"\n",
"# Affichage du barplot\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 71,
"id": "bff23e5d-d7ed-4092-ae3c-5df503e54a6d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"count 762879.000000\n",
"mean 0.079068\n",
"std 3.969729\n",
"min 0.000000\n",
"25% 0.000000\n",
"50% 0.000000\n",
"75% 0.000000\n",
"max 3334.000000\n",
"Name: purchase_count, dtype: float64"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"customerplus_clean_spectacle[customerplus_clean_spectacle[\"first_buying_date\"].isna()][\"purchase_count\"].describe()"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "89466dbd-14d2-4ede-9ca0-b9c32b764e25",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"count 7.608090e+05\n",
"mean 3.863940e+00\n",
"std 1.685825e+03\n",
"min 1.000000e+00\n",
"25% 1.000000e+00\n",
"50% 1.000000e+00\n",
"75% 2.000000e+00\n",
"max 1.469325e+06\n",
"Name: purchase_count, dtype: float64"
]
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"customerplus_clean_spectacle[~customerplus_clean_spectacle[\"first_buying_date\"].isna()][\"purchase_count\"].describe()"
]
},
{
"cell_type": "code",
"execution_count": 77,
"id": "5f9feae4-35f4-43b6-adeb-f75773900a2d",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>street_id</th>\n",
" <th>structure_id</th>\n",
" <th>mcp_contact_id</th>\n",
" <th>fidelity</th>\n",
" <th>tenant_id</th>\n",
" <th>is_partner</th>\n",
" <th>deleted_at</th>\n",
" <th>gender</th>\n",
" <th>is_email_true</th>\n",
" <th>...</th>\n",
" <th>first_buying_date</th>\n",
" <th>country</th>\n",
" <th>gender_label</th>\n",
" <th>gender_female</th>\n",
" <th>gender_male</th>\n",
" <th>gender_other</th>\n",
" <th>country_fr</th>\n",
" <th>has_tags</th>\n",
" <th>number_compagny</th>\n",
" <th>already_purchased</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>821538</td>\n",
" <td>139</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>809126</td>\n",
" <td>1063</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11005</td>\n",
" <td>1063</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>17663</td>\n",
" <td>12731</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>38100</td>\n",
" <td>12395</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343121</th>\n",
" <td>4667645</td>\n",
" <td>122</td>\n",
" <td>NaN</td>\n",
" <td>1534181.0</td>\n",
" <td>0</td>\n",
" <td>862</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343122</th>\n",
" <td>4667649</td>\n",
" <td>122</td>\n",
" <td>NaN</td>\n",
" <td>1534177.0</td>\n",
" <td>0</td>\n",
" <td>862</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343123</th>\n",
" <td>4667660</td>\n",
" <td>122</td>\n",
" <td>NaN</td>\n",
" <td>1534165.0</td>\n",
" <td>0</td>\n",
" <td>862</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343124</th>\n",
" <td>4667679</td>\n",
" <td>122</td>\n",
" <td>NaN</td>\n",
" <td>1534132.0</td>\n",
" <td>0</td>\n",
" <td>862</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>343125</th>\n",
" <td>4667686</td>\n",
" <td>122</td>\n",
" <td>NaN</td>\n",
" <td>1567949.0</td>\n",
" <td>0</td>\n",
" <td>862</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1523688 rows × 30 columns</p>\n",
"</div>"
],
"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",
" first_buying_date country gender_label gender_female gender_male \\\n",
"0 NaN NaN other 0 0 \n",
"1 NaN fr other 0 0 \n",
"2 NaN fr other 0 0 \n",
"3 NaN fr female 1 0 \n",
"4 NaN fr female 1 0 \n",
"... ... ... ... ... ... \n",
"343121 NaN NaN other 0 0 \n",
"343122 NaN NaN other 0 0 \n",
"343123 NaN NaN female 1 0 \n",
"343124 NaN NaN other 0 0 \n",
"343125 NaN NaN female 1 0 \n",
"\n",
" gender_other country_fr has_tags number_compagny already_purchased \n",
"0 1 NaN 0 10 False \n",
"1 1 1.0 0 10 False \n",
"2 1 1.0 0 10 False \n",
"3 0 1.0 0 10 False \n",
"4 0 1.0 0 10 False \n",
"... ... ... ... ... ... \n",
"343121 1 NaN 0 14 False \n",
"343122 1 NaN 0 14 False \n",
"343123 0 NaN 0 14 False \n",
"343124 1 NaN 0 14 False \n",
"343125 0 NaN 0 14 False \n",
"\n",
"[1523688 rows x 30 columns]"
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"customerplus_clean_spectacle[\"already_purchased\"] = customerplus_clean_spectacle[\"first_buying_date\"].isna()==False\n",
"customerplus_clean_spectacle"
]
},
{
"cell_type": "code",
"execution_count": 83,
"id": "cec4f1eb-cec8-409d-8b2c-1e01f1bf81ff",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>street_id</th>\n",
" <th>structure_id</th>\n",
" <th>mcp_contact_id</th>\n",
" <th>fidelity</th>\n",
" <th>tenant_id</th>\n",
" <th>is_partner</th>\n",
" <th>deleted_at</th>\n",
" <th>gender</th>\n",
" <th>is_email_true</th>\n",
" <th>...</th>\n",
" <th>first_buying_date</th>\n",
" <th>country</th>\n",
" <th>gender_label</th>\n",
" <th>gender_female</th>\n",
" <th>gender_male</th>\n",
" <th>gender_other</th>\n",
" <th>country_fr</th>\n",
" <th>has_tags</th>\n",
" <th>number_compagny</th>\n",
" <th>already_purchased</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11005</td>\n",
" <td>1063</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>17663</td>\n",
" <td>12731</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>38100</td>\n",
" <td>12395</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>307036</td>\n",
" <td>139</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2946</td>\n",
" <td>1063</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>875</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>False</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>338933</th>\n",
" <td>3625705</td>\n",
" <td>648752</td>\n",
" <td>NaN</td>\n",
" <td>1253864.0</td>\n",
" <td>0</td>\n",
" <td>862</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>338954</th>\n",
" <td>3627626</td>\n",
" <td>636890</td>\n",
" <td>NaN</td>\n",
" <td>1253887.0</td>\n",
" <td>0</td>\n",
" <td>862</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>338959</th>\n",
" <td>3628124</td>\n",
" <td>653042</td>\n",
" <td>NaN</td>\n",
" <td>1253899.0</td>\n",
" <td>0</td>\n",
" <td>862</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>338986</th>\n",
" <td>3631189</td>\n",
" <td>648423</td>\n",
" <td>NaN</td>\n",
" <td>1253928.0</td>\n",
" <td>0</td>\n",
" <td>862</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>339039</th>\n",
" <td>3635380</td>\n",
" <td>659417</td>\n",
" <td>NaN</td>\n",
" <td>1253975.0</td>\n",
" <td>0</td>\n",
" <td>862</td>\n",
" <td>False</td>\n",
" <td>NaN</td>\n",
" <td>1</td>\n",
" <td>True</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>fr</td>\n",
" <td>male</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>26246 rows × 30 columns</p>\n",
"</div>"
],
"text/plain": [
" customer_id street_id structure_id mcp_contact_id fidelity \\\n",
"2 11005 1063 NaN NaN 0 \n",
"3 17663 12731 NaN NaN 0 \n",
"4 38100 12395 NaN NaN 0 \n",
"5 307036 139 NaN NaN 0 \n",
"6 2946 1063 NaN NaN 0 \n",
"... ... ... ... ... ... \n",
"338933 3625705 648752 NaN 1253864.0 0 \n",
"338954 3627626 636890 NaN 1253887.0 0 \n",
"338959 3628124 653042 NaN 1253899.0 0 \n",
"338986 3631189 648423 NaN 1253928.0 0 \n",
"339039 3635380 659417 NaN 1253975.0 0 \n",
"\n",
" tenant_id is_partner deleted_at gender is_email_true ... \\\n",
"2 875 False NaN 2 False ... \n",
"3 875 False NaN 0 False ... \n",
"4 875 False NaN 0 True ... \n",
"5 875 False NaN 2 True ... \n",
"6 875 False NaN 2 False ... \n",
"... ... ... ... ... ... ... \n",
"338933 862 False NaN 0 True ... \n",
"338954 862 False NaN 0 True ... \n",
"338959 862 False NaN 0 True ... \n",
"338986 862 False NaN 0 True ... \n",
"339039 862 False NaN 1 True ... \n",
"\n",
" first_buying_date country gender_label gender_female gender_male \\\n",
"2 NaN fr other 0 0 \n",
"3 NaN fr female 1 0 \n",
"4 NaN fr female 1 0 \n",
"5 NaN NaN other 0 0 \n",
"6 NaN fr other 0 0 \n",
"... ... ... ... ... ... \n",
"338933 NaN fr female 1 0 \n",
"338954 NaN fr female 1 0 \n",
"338959 NaN fr female 1 0 \n",
"338986 NaN fr female 1 0 \n",
"339039 NaN fr male 0 1 \n",
"\n",
" gender_other country_fr has_tags number_compagny already_purchased \n",
"2 1 1.0 0 10 False \n",
"3 0 1.0 0 10 False \n",
"4 0 1.0 0 10 False \n",
"5 1 NaN 0 10 False \n",
"6 1 1.0 0 10 False \n",
"... ... ... ... ... ... \n",
"338933 0 1.0 0 14 False \n",
"338954 0 1.0 0 14 False \n",
"338959 0 1.0 0 14 False \n",
"338986 0 1.0 0 14 False \n",
"339039 0 1.0 0 14 False \n",
"\n",
"[26246 rows x 30 columns]"
]
},
"execution_count": 83,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# attention, on a des cas où le client a pas de première date d'achat alors qu'il compte plusieurs achats\n",
"# on peut donc avoir une date de première achat valant NaN non pas parce que l'individu n'a jamais acheté \n",
"# mais simplement car elle n'est pas renseignée\n",
"\n",
"customerplus_clean_spectacle[(customerplus_clean_spectacle[\"already_purchased\"]==False) &\n",
"(customerplus_clean_spectacle[\"purchase_count\"]>0)]"
]
},
{
"cell_type": "code",
"execution_count": 80,
"id": "b5904039-a967-47d5-ba13-1b805bcd76ca",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>street_id</th>\n",
" <th>structure_id</th>\n",
" <th>mcp_contact_id</th>\n",
" <th>fidelity</th>\n",
" <th>tenant_id</th>\n",
" <th>is_partner</th>\n",
" <th>deleted_at</th>\n",
" <th>gender</th>\n",
" <th>is_email_true</th>\n",
" <th>...</th>\n",
" <th>first_buying_date</th>\n",
" <th>country</th>\n",
" <th>gender_label</th>\n",
" <th>gender_female</th>\n",
" <th>gender_male</th>\n",
" <th>gender_other</th>\n",
" <th>country_fr</th>\n",
" <th>has_tags</th>\n",
" <th>number_compagny</th>\n",
" <th>already_purchased</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table>\n",
"<p>0 rows × 30 columns</p>\n",
"</div>"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: [customer_id, street_id, structure_id, mcp_contact_id, fidelity, tenant_id, is_partner, deleted_at, gender, is_email_true, opt_in, last_buying_date, max_price, ticket_sum, average_price, average_purchase_delay, average_price_basket, average_ticket_basket, total_price, purchase_count, first_buying_date, country, gender_label, gender_female, gender_male, gender_other, country_fr, has_tags, number_compagny, already_purchased]\n",
"Index: []\n",
"\n",
"[0 rows x 30 columns]"
]
},
"execution_count": 80,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# cpdt, si un client a un nombre d'achats nul, il a bien une date de premier achat valant NaN, OK\n",
"customerplus_clean_spectacle[(customerplus_clean_spectacle[\"already_purchased\"]) &\n",
"(customerplus_clean_spectacle[\"purchase_count\"]==0)]"
]
},
{
"cell_type": "markdown",
"id": "703d9986-4497-404f-881a-45ca44b25beb",
"metadata": {},
"source": [
"#### différence de consentement aux campagnes de mails (opt in)"
]
},
{
"cell_type": "code",
"execution_count": 113,
"id": "e940bfcf-29cc-4d4c-ae5e-e2a8cecf28af",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"number_compagny already_purchased\n",
"10 False 0.234840\n",
" True 0.236242\n",
"11 False 0.141746\n",
" True 0.002804\n",
"12 False 0.485950\n",
" True 0.244780\n",
"13 False 0.084057\n",
" True 0.177213\n",
"14 False 0.885553\n",
" True 0.308859\n",
"Name: opt_in, dtype: float64"
]
},
"execution_count": 113,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# différence de consentement aux campagnes de mails (opt in)\n",
"\n",
"# en se restreignant au personnes n'ayant pas acheté, on a quand même des individus acceptant d'être ciblés\n",
"customerplus_clean_spectacle[customerplus_clean_spectacle[\"first_buying_date\"].isna()][\"opt_in\"].unique()\n",
"\n",
"# taux de consentement variés\n",
"customerplus_clean_spectacle[\"already_purchased\"] = customerplus_clean_spectacle[\"purchase_count\"] > 0\n",
"customerplus_clean_spectacle.groupby([\"number_compagny\", \"already_purchased\"])[\"opt_in\"].mean()"
]
},
{
"cell_type": "code",
"execution_count": 209,
"id": "a5e79beb-9ba0-4c89-b084-e27ff0d65dcc",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_compagny</th>\n",
" <th>already_purchased</th>\n",
" <th>opt_in</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" <td>0.234840</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" <td>0.236242</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11</td>\n",
" <td>False</td>\n",
" <td>0.141746</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>11</td>\n",
" <td>True</td>\n",
" <td>0.002804</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>12</td>\n",
" <td>False</td>\n",
" <td>0.485950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>12</td>\n",
" <td>True</td>\n",
" <td>0.244780</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>13</td>\n",
" <td>False</td>\n",
" <td>0.084057</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>13</td>\n",
" <td>True</td>\n",
" <td>0.177213</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" <td>0.885553</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>14</td>\n",
" <td>True</td>\n",
" <td>0.308859</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_compagny already_purchased opt_in\n",
"0 10 False 0.234840\n",
"1 10 True 0.236242\n",
"2 11 False 0.141746\n",
"3 11 True 0.002804\n",
"4 12 False 0.485950\n",
"5 12 True 0.244780\n",
"6 13 False 0.084057\n",
"7 13 True 0.177213\n",
"8 14 False 0.885553\n",
"9 14 True 0.308859"
]
},
"execution_count": 209,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_graph = customerplus_clean_spectacle.groupby([\"number_compagny\", \"already_purchased\"])[\"opt_in\"].mean().reset_index()\n",
"df_graph"
]
},
{
"cell_type": "code",
"execution_count": 210,
"id": "5be56c41-7697-481a-84ea-f77a2041484b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAIhCAYAAABwnkrAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABjoklEQVR4nO3dZ3hU1f728XtID2kQTENIgoQmXRQN0ptSFBBpUoKiIHCQdigiVboKHEUpKoSjUvSIDRGFUASp0gVERUJACCBgKIEAyX5e+M88zk4CMzDJhPD9XNdcOmu3395ZKTdr7zUWwzAMAQAAAACsCrm6AAAAAADIbwhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEpALoiPj5fFYrG+3N3dde+996p79+76448/nHqsiRMn6vPPP7+tfSQmJspisSg+Pt4pNd1t3nnnnQJ57ZzRt+5kY8aMkcVisWmrV6+e6tWrZ9NmsVg0ZsyYvCssl7jqPDJ/XiYmJub5seGYgtLXAXsRlIBcNH/+fG3atEkrV67U888/r0WLFql27dq6dOmS045xt/8xmx8QlAqmHj16aNOmTTddb9OmTerRo0ceVAS4Fn0ddxt3VxcAFGQVK1ZUjRo1JEn169dXenq6Xn31VX3++ed65plnbmvfly9flo+PjzPKBJCNe++9V/fee+9N13v44YfzoBrA9ejruNswogTkocxfMkeOHJEkjR07VjVr1lTRokUVEBCg6tWr6/3335dhGDbbRUVFqUWLFlq6dKmqVasmb29vjR07VhaLRZcuXdKCBQust/mZbwsyO378uNq1ayd/f38FBgaqffv2Sk5OznbdH3/8UU888YSKFi0qb29vVatWTR9//LFd55qWlqZx48apfPny8vb2VnBwsOrXr6+NGzda17ly5YqGDx+u6OhoeXp6qnjx4urTp4/++uuvbM9/xYoVql69unx8fFSuXDnNmzfPZr3U1FQNHjxY0dHR8vb2VtGiRVWjRg0tWrTI4fPKvB1ozZo1evHFF1WsWDEFBwerTZs2On78uE1t+/bt07p166xfg6ioKOvy8+fPW2vKPMf+/ftnGVW0WCzq27ev5s+fr7Jly8rHx0c1atTQ5s2bZRiGXnvtNUVHR8vPz08NGjTQb7/9luWar1q1Sg0bNlRAQIB8fX1Vq1YtJSQk2KyTeTvZvn371LFjRwUGBio0NFTPPvusUlJSbOpxtG/Z259zun0nKipKcXFxNzxG5m2ir732mqZMmaKoqCj5+PioXr16+uWXX3Tt2jUNGzZMERERCgwMVOvWrXXq1CmbfSxZskRNmjRReHi4fHx8VL58eQ0bNizL1yS7W++yYz4fe/uO9Pf3yaBBgxQWFiZfX1/VqVNH27dvt+taSNKsWbNUpUoV+fn5yd/fX+XKldPLL79ss05ycrJ69uype++9V56enoqOjtbYsWN1/fr1m+7/p59+0pNPPqkiRYrI29tbVatW1YIFC2zWWbt2rSwWixYtWqQRI0YoIiJCAQEBatSokQ4ePHjTY+TEnv58+vRpvfDCCypRooS8vLx0zz33qFatWlq1atVN9//zzz+rY8eOCg0NlZeXl0qWLKmuXbsqLS3tls5/4cKFGjp0qMLDw+Xn56eWLVvq5MmTunDhgl544QUVK1ZMxYoVU/fu3XXx4kWbfWR+/8+ZM0dlypSRl5eXKlSooMWLF2c53969e6tChQry8/NTSEiIGjRooPXr12c5v2PHjqlt27by9/dXUFCQnnnmGW3bti3LbdZxcXHy8/PTb7/9pmbNmsnPz08lSpTQoEGDbK5FZp3m7117+5c9fRXIbxhRAvJQ5h+399xzj6S//+jr2bOnSpYsKUnavHmz/vWvf+mPP/7QqFGjbLbdsWOHDhw4oFdeeUXR0dEqXLiwWrVqpQYNGqh+/foaOXKkJCkgICDH41++fFmNGjXS8ePHNWnSJJUpU0Zff/212rdvn2XdNWvW6LHHHlPNmjU1e/ZsBQYGavHixWrfvr1SU1Nv+Efc9evX9fjjj2v9+vXq37+/GjRooOvXr2vz5s1KSkpSbGysDMNQq1atlJCQoOHDh6t27dras2ePRo8erU2bNmnTpk3y8vKy7nP37t0aNGiQhg0bptDQUL333nt67rnnVLp0adWpU0eSNHDgQH3wwQcaP368qlWrpkuXLumnn37SmTNnbvm8evTooebNm2vhwoU6evSo/v3vf6tz585avXq1JOmzzz5T27ZtFRgYqHfeeUeSrHWnpqaqbt26OnbsmF5++WVVrlxZ+/bt06hRo7R3716tWrXK5g/xZcuWaefOnZo8ebIsFouGDh2q5s2bq1u3bvr99981c+ZMpaSkaODAgXrqqae0a9cu6/YffvihunbtqieffFILFiyQh4eH5syZo6ZNm+rbb79Vw4YNbc7rqaeeUvv27fXcc89p7969Gj58uCRZw+emTZsc6luSY/35dr399tuqXLmy3n77bf31118aNGiQWrZsqZo1a8rDw0Pz5s3TkSNHNHjwYPXo0UNffvmlddtff/1VzZo1U//+/VW4cGH9/PPPmjJlirZu3Wr9ujrDzfqOJHXv3l1LlizRkCFD1KBBA+3fv1+tW7fW+fPnb7r/xYsXq3fv3vrXv/6l119/XYUKFdJvv/2m/fv3W9dJTk7WQw89pEKFCmnUqFG67777tGnTJo0fP16JiYmaP39+jvs/ePCgYmNjFRISojfffFPBwcH68MMPFRcXp5MnT2rIkCE267/88suqVauW3nvvPZ0/f15Dhw5Vy5YtdeDAAbm5uTl07eztz126dNGOHTs0YcIElSlTRn/99Zd27Nhh8z2fnd27d+vRRx9VsWLFNG7cOMXExOjEiRP68ssvdfXqVXl5ed3S+devX1/x8fFKTEzU4MGD1bFjR7m7u6tKlSpatGiRdu7cqZdffln+/v568803bbb/8ssvtWbNGo0bN06FCxfWO++8Y92+bdu2kqSzZ89KkkaPHq2wsDBdvHhRn332merVq6eEhATrP2ZcunRJ9evX19mzZzVlyhSVLl1aK1asyPZnvSRdu3ZNTzzxhJ577jkNGjRI33//vV599VUFBgbe8HvX3v5lT18F8iUDgNPNnz/fkGRs3rzZuHbtmnHhwgVj2bJlxj333GP4+/sbycnJWbZJT083rl27ZowbN84IDg42MjIyrMsiIyMNNzc34+DBg1m2K1y4sNGtWze76po1a5Yhyfjiiy9s2p9//nlDkjF//nxrW7ly5Yxq1aoZ165ds1m3RYsWRnh4uJGenp7jcf773/8akox33303x3VWrFhhSDKmTp1q075kyRJDkjF37lxrW2RkpOHt7W0cOXLE2nb58mWjaNGiRs+ePa1tFStWNFq1apXjMR05r8yvYe/evW3Wmzp1qiHJOHHihLXt/vvvN+rWrZvlWJMmTTIKFSpkbNu2zab9f//7nyHJWL58ubVNkhEWFmZcvHjR2vb5558bkoyqVava9IcZM2YYkow9e/YYhmEYly5dMooWLWq0bNnS5jjp6elGlSpVjIceesjaNnr06Gyve+/evQ1vb2+b4zjSt8xu1J8lGaNHj86yTWRk5E2Pd/jwYUOSUaVKFZs+mHlNnnjiCZv1+/fvb0gyUlJSst1fRkaGce3aNWPdunWGJGP37t3WZZnX6p/q1q2b5WttPh97+86+ffsMScbQoUNt1lu0aJEh6abXom/fvkZQUNAN1+nZs6fh5+dn871jGIbx+uuvG5KMffv25XgeHTp0MLy8vIykpCSbbR9//HHD19fX+OuvvwzDMIw1a9YYkoxmzZrZrPfxxx8bkoxNmzbdsMbM63X48GHDMBzrz35+fkb//v1vuP/sNGjQwAgKCjJOnTqV4zqOnr+53sy+169fP5v2Vq1aGUWLFrVpk2T4+PjY/G64fv26Ua5cOaN06dI51nj9+nXj2rVrRsOGDY3WrVtb299++21DkvHNN9/YrN+zZ88sP+u7detmSDI+/vhjm3WbNWtmlC1bNkud/+wj9vYve/oqkB9x6x2Qix5++GF5eHjI399fLVq0UFhYmL755huFhoZKklavXq1GjRopMDBQbm5u8vDw0KhRo3TmzJkstwtVrlxZZcqUua161qxZI39/fz3xxBM27Z06dbJ5/9tvv+nnn3+2Pkd1/fp166tZs2Y6ceLEDW+p+eabb+Tt7a1nn302x3Uy/1XdPILz9NNPq3Dhwllusalatap1pEKSvL29VaZMGettjJL00EMP6ZtvvtGwYcO0du1aXb58+bbPy3ytKleuLEk2x83JsmXLVLFiRVWtWtXmWE2bNpXFYtHatWtt1q9fv74KFy5sfV++fHlJ0uOPP24z8pTZnlnDxo0bdfbsWXXr1s3mOBkZGXrssce0bdu2LLeVZXdeV65cydLvHOFIf75dzZo1U6FC//9XWOY1ad68uc16me1JSUnWtt9//12dOnVSWFiYtc66detKkg4cOOC0Gm/Wd9atWydJateunc16bdu2lbv7zW/4eOihh/TXX3+pY8eO+uKLL/Tnn39mWWfZsmWqX7++IiIibPrG448/blNDdlavXq2GDRuqRIkSNu1xcXFKTU3NMtHF7Xyv/JMj/fmhhx5SfHy8xo8fr82bN+vatWs33X9qaqrWrVundu3aWUf3s+Po+bdo0cLm/Y365NmzZ7PcftewYUPr7wZJcnNzU/v27fXbb7/p2LFj1vbZs2erevXq8vb2lru7uzw8PJSQkGDTd9etWyd/f3899thjNsfo2LFjtudqsVjUsmVLm7bKlSvf9Gtnb/+yp68C+RFBCchF//3vf7Vt2zbt3LlTx48f1549e1SrVi1J0tatW9WkSRNJ0rvvvqsffvhB27Zt04gRIyQpyx/54eHht13PmTNnbH4RZwoLC7N5f/LkSUnS4MGD5eHhYfPq3bu3JN3wF93p06cVERFh84dsdrW4u7tn+UPFYrEoLCwsy60zwcHBWfbh5eVlc53efPNNDR06VJ9//rnq16+vokWLqlWrVvr1119v+bzMx828rc789cnOyZMntWfPnizH8vf3l2EYWY5VtGhRm/eenp43bL9y5YrNebVt2zbLsaZMmSLDMKy37DjjvLLjaH++Xbd6rS5evKjatWtry5YtGj9+vNauXatt27Zp6dKlTq/zZtc4s4+bvyfd3d2z7e9mXbp0sd5i+NRTTykkJEQ1a9bUypUrreucPHlSX331VZZ+cf/990u68ffxmTNnsv25ExERYVO/vedrL0f685IlS9StWze99957euSRR1S0aFF17do1x+cuJencuXNKT0+/6UQdjp7/rfbJTOafw/9syzzWtGnT9OKLL6pmzZr69NNPtXnzZm3btk2PPfaYzXXO6Wd9dm2S5OvrK29vb5s2Ly+vLDWa2du/7OmrQH7EM0pALipfvrx11juzxYsXy8PDQ8uWLbP5BZXTdMz2PFR+M8HBwdq6dWuWdvMfFcWKFZMkDR8+XG3atMl2X2XLls3xOPfcc482bNigjIyMHMNScHCwrl+/rtOnT9uEJcMwlJycrAcffPCm52NWuHBhjR07VmPHjtXJkyeto0stW7bUzz//fNvn5ahixYrJx8cny6QT/1zurONI0ltvvZXjrFQ5/YHkLI70Zy8vrywPiUtZ//DMDatXr9bx48e1du1a6yiSpCwTiOSFzGBx8uRJFS9e3Np+/fp1u69F9+7d1b17d126dEnff/+9Ro8erRYtWuiXX35RZGSkihUrpsqVK2vChAnZbp/5R39O9Z04cSJLe+aEFM7qv2aO9OdixYppxowZmjFjhpKSkvTll19q2LBhOnXqlFasWJHttkWLFpWbm5vNKE128vr8swt3mW2ZfeXDDz9UvXr1NGvWLJv1Lly4YPPe3p/1t8uR/nWzvgrkRwQlwEUyP4j2nw85X758WR988IFD+zGPqtxI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K6bAwEDVrVtXO3bssC5/9tln1aJFC5ttrl+/rrCwMM2bN0+StGLFCj366KMKCgpScHCwWrRooUOHDlnXz7xNbOnSpapfv758fX1VpUoVbdq0yVp39+7dlZKSIovFIovFojFjxmRbr/nWu0OHDunJJ59UaGio/Pz89OCDD2rVqlU220RFRWn8+PHq2rWr/Pz8FBkZqS+++EKnT5/Wk08+KT8/P1WqVEk//vijdZszZ86oY8eOuvfee+Xr66tKlSpp0aJFNvs133r3zjvvKCYmRt7e3goNDVXbtm1zvO727N+efvf7779ne00z3ajv1atXT0eOHNGAAQOs192e7QAAAHIDQekONHz4cE2ZMkUjR47U/v37tXDhQoWGhtq17d69e9W0aVO1adNGe/bs0ZIlS7Rhwwb17dvXZr033nhDNWrU0M6dO9W7d2+9+OKL+vnnnyVJW7dulSStWrVKJ06c0NKlS294zBEjRuiNN97Qjz/+KHd3dz377LM5rnvhwgV169ZN69ev1+bNmxUTE6NmzZrpwoULkqQePXpoxYoVOnHihHWb5cuX6+LFi2rXrp0k6dKlSxo4cKC2bdumhIQEFSpUSK1bt1ZGRkaWugYPHqxdu3apTJky6tixo65fv67Y2FjNmDFDAQEBOnHihE6cOKHBgwfbdX0vXryoZs2aadWqVdq5c6eaNm2qli1bKikpyWa96dOnq1atWtq5c6eaN2+uLl26qGvXrurcubN27Nih0qVLq2vXrjIMQ5J05coVPfDAA1q2bJl++uknvfDCC+rSpYu2bNmSbR0//vij+vXrp3HjxungwYNasWKF6tSpk2Pd9uzfnn6X0zWVbt73li5dqnvvvVfjxo2zXnd7tgMAAMgVRgGXkpJiSDJSUlKyLLt8+bKxf/9+4/Lly1mWRQ5dlmcvR5w/f97w8vIy3n333WyXHz582JBk7Ny50zAMw1izZo0hyTh37pxhGIbRpUsX44UXXrDZZv369UahQoWs1yEyMtLo3LmzdXlGRoYREhJizJo1K9tj5CTz2KtWrbK2ff3114akbK95dq5fv274+/sbX331lbWtQoUKxpQpU6zvW7VqZcTFxeW4j1OnThmSjL1799rU/95771nX2bdvnyHJOHDggGEYhjF//nwjMDDwpvXZs16FChWMt956y/refH1PnDhhSDJGjhxpbdu0aZMh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JnPo2rWrfHx8NGfOHOs2GzZsUN26dXXp0iV5e3srKipKtWvXtgYYwzAUFhamsWPHqlevXjec4OBm+vTpo5MnT1pHIKZOnar4+Hjt379fkvTFF1+oc+fOSk5OVuHChbPdR/PmzVW+fHm9/vrrkv4eUUpPT9f69eut6zz00ENq0KCBNRhYLBZ99tlnNiM9ZnPnztXw4cN19OhR+fr6SpJmz56tF1980Xquo0aN0pYtW/Ttt99atzt27JhKlCihgwcPqkyZMlkmczA7ffq0QkJCtHfvXlWsWNGu62beZu7cuRo8eLASExNVtGjRLOuPGTNGr732mpKTk+Xv7y9JGjJkiL7//ntt3rxZly5dUrFixbR69Wo98sgj1u169Oih1NRULVy4MNuJQOzZLj+44fc2AKDAiRr2tatLcKrEyc1dXUKBdaNsYMYzSneYAwcOKC0tTQ0bNryl7bdv367ffvtNH330kbXNMAxlZGTo8OHDKl++vCSpcuXK1uUWi0VhYWE6deqUw8ebPXu23nvvPR05ckSXL1/W1atXbcJVXFycXnnlFW3evFkPP/yw5s2bp3bt2llDUnp6uiZPnqwlS5bojz/+UFpamtLS0rKEqH/WK0nh4eEO13vgwAFVqVLFGpIk2YQB6e/rt2bNGvn5+WXZ/tChQypTpky27SNHjtTmzZv1559/Wkd9kpKScgxKN9tm165dqlatWrYhKVNUVJQ1JEm212T//v26cuWKGjdubLPN1atXVa1atRz3eavbAQAA3GkISneY251aOiMjQz179lS/fv2yLCtZsqT1/z08PGyWWSyWG94qlp2PP/5YAwYM0BtvvKFHHnlE/v7+eu2112xumwsJCVHLli01f/58lSpVSsuXL9fatWuty9944w1Nnz5dM2bMUKVKlVS4cGH1799fV69etTmWM+q1Z3A1IyNDLVu21JQpU7IsCw8Pz3abli1bqkSJEnr33XcVERGhjIwMVaxYMcs5OLKNPf3gRtck879ff/21ihcvbrPejWawu9XtAAAA7jQEpTtMTEyMfHx8lJCQkO2tdzdTvXp17du3T6VLl77lGjw9PSX9PdpzI+vXr1dsbKx69+5tbctuEoMePXqoQ4cOuvfee3XfffepVq1aNvt48skn1blzZ0l//6H+66+/Wke+7OXh4XHTeitUqKAPPvhAly9ftgaRzZs326xTvXp1ffrpp4qKirL57KScnDlzRgcOHNCcOXNUu3ZtSX/f6ni721SuXFnvvfeezp49e8NRpZxUqFBBXl5eSkpKUt26dbNdJ7uvsz3bAQAAFARM5nCH8fb21tChQzVkyBD997//1aFDh7R582a9//77dm0/dOhQbdq0SX369NGuXbv066+/6ssvv3To831CQkLk4+NjncggJSX7Z6xKly6tH3/8Ud9++61++eUXjRw5MtuJFJo2barAwECNHz/eOonDP/excuVKbdy4UQcOHFDPnj2zzJJnj6ioKCUkJCg5OVnnzp3Ldp1OnTqpUKFCeu6557R//34tX77c+hxUpj59+ujs2bPq2LGjtm7dqt9//13fffednn322WyDWJEiRRQcHKy5c+fqt99+0+rVqzVw4MAb1mrPNh07dlRYWJhatWqlH374Qb///rs+/fRTbdq0ya7r4e/vr8GDB2vAgAFasGCBDh06pJ07d+rtt9/WggULJEmRkZGyWCxatmyZTp8+rYsXL9q1HQAAQEHAiFJOHJhgIa+NHDlS7u7uGjVqlI4fP67w8HD16tXLrm0rV66sdevWacSIEapdu7YMw9B9992n9u3b2318d3d3vfnmmxo3bpxGjRql2rVr29wul6lXr17atWuX2rdvL4vFoo4dO6p379765ptvbNYrVKiQ4uLiNHHiRHXt2jXLuR4+fFhNmzaVr6+vXnjhBbVq1SrHcJaTN954QwMHDtS7776r4sWLKzExMcs6fn5++uqrr9SrVy9Vq1ZNFSpU0JQpU/TUU09Z14mIiNAPP/ygoUOHqmnTpkpLS1NkZKQee+wxFSqU9d8dChUqpMWLF6tfv36qWLGiypYtqzfffDPHKdXt3cbT01PfffedBg0apGbNmun69euqUKGC3n77bbuvyauvvqqQkBBNmjRJv//+u4KCglS9enW9/PLLkqTixYtr7NixGjZsmLp3766uXbsqPj7+ptsBAAAUBMx6x8xY+cLzzz+vkydP6ssvv3R1KbetY8eOcnNz04cffujqUu5afG8DwN2FWe9gL0dmvePWO7hUSkqKVq1apY8++sih2//yo+vXr2v//v3atGmT7r//fleXAwAAgNtAUIJLPfnkk3riiSfUs2fPLFNO32l++ukn1ahRQ/fff7/dt0ICAAAgf+IZJbhUds823amqVq2q1NRUV5cBAAAA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",
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Création du barplot groupé\n",
"fig, ax = plt.subplots(figsize=(10, 6))\n",
"\n",
"categories = df_graph[\"number_compagny\"].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[\"already_purchased\"].unique():\n",
" label_data = df_graph[df_graph['already_purchased'] == label]\n",
" values = [label_data[label_data['number_compagny'] == category]['opt_in'].values[0]*100 for category in categories]\n",
"\n",
" label_printed = \"client ayant déjà acheté\" if label else \"client n'ayant jamais acheté\"\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('Compagnie')\n",
"ax.set_ylabel('Part de consentement (%)')\n",
"ax.set_title('Part de consentement au mailing selon les compagnies')\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",
"# sauvegarde dans le MinIO\n",
"\n",
"FILE_NAME = \"consent_customers_music.png\"\n",
"FILE_PATH_OUT_S3 = FILE_PATH + FILE_NAME\n",
"\n",
"with fs.open(FILE_PATH_OUT_S3, 'wb') as file_out:\n",
" plt.savefig(file_out)"
]
},
{
"cell_type": "code",
"execution_count": 211,
"id": "91b743c4-5473-41e1-b97e-cf06904f0fa8",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_company</th>\n",
" <th>y_has_purchased</th>\n",
" <th>opt_in</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>0.0</td>\n",
" <td>55.896356</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10</td>\n",
" <td>1.0</td>\n",
" <td>50.795672</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11</td>\n",
" <td>0.0</td>\n",
" <td>4.856590</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>11</td>\n",
" <td>1.0</td>\n",
" <td>0.046125</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>12</td>\n",
" <td>0.0</td>\n",
" <td>37.098498</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>12</td>\n",
" <td>1.0</td>\n",
" <td>0.021608</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>13</td>\n",
" <td>0.0</td>\n",
" <td>32.457022</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>13</td>\n",
" <td>1.0</td>\n",
" <td>19.461217</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>14</td>\n",
" <td>0.0</td>\n",
" <td>69.470107</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>14</td>\n",
" <td>1.0</td>\n",
" <td>26.682793</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_company y_has_purchased opt_in\n",
"0 10 0.0 55.896356\n",
"1 10 1.0 50.795672\n",
"2 11 0.0 4.856590\n",
"3 11 1.0 0.046125\n",
"4 12 0.0 37.098498\n",
"5 12 1.0 0.021608\n",
"6 13 0.0 32.457022\n",
"7 13 1.0 19.461217\n",
"8 14 0.0 69.470107\n",
"9 14 1.0 26.682793"
]
},
"execution_count": 211,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 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": 163,
"id": "728e0021-4f95-4601-bb01-032db2cf6571",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.43006504592722195\n",
"0.2889608343987336\n"
]
}
],
"source": [
"# pourquoi une telle différence sur la variable opt in ??\n",
"print(train_set_spectacle[\"opt_in\"].mean())\n",
"print(customerplus_clean_spectacle[\"opt_in\"].mean())"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "274b4bc5-277f-476a-8bc1-c1764b1df2de",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.8473746548562269\n",
"0.7573747808905485\n"
]
}
],
"source": []
},
{
"cell_type": "code",
"execution_count": 164,
"id": "e1d837e1-c445-424b-867a-48b1e790f703",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"genre = homme : \n",
"0.3754292890099192\n",
"0.3103924435775397\n",
"email vérifié : \n",
"0.9966249488521722\n",
"0.936015604285403\n",
"nationalité française : \n",
"0.7882316165225254\n",
"0.7573741156773128\n",
"nbre d'achats : \n",
"1.7069010765735895\n",
"0.9938799646120849\n"
]
}
],
"source": [
"# pour les autres variables, la distribution semble similaire\n",
"\n",
"print(\"genre = homme : \")\n",
"print(train_set_spectacle[\"gender_male\"].mean())\n",
"print(customerplus_clean_spectacle[\"gender_male\"].mean())\n",
"\n",
"print(\"email vérifié : \")\n",
"print(train_set_spectacle[\"is_email_true\"].mean())\n",
"print(customerplus_clean_spectacle[\"is_email_true\"].mean())\n",
"\n",
"print(\"nationalité française : \")\n",
"print(train_set_spectacle[\"country_fr\"].mean())\n",
"print(customerplus_clean_spectacle[\"country_fr\"].mean())\n",
"\n",
"# sauf pr nbre d'achats - à verif\n",
"print(\"nbre d'achats : \")\n",
"print(train_set_spectacle[\"purchase_count\"].mean())\n",
"print(customerplus_clean_spectacle[\"purchase_count\"].mean())"
]
},
{
"cell_type": "code",
"execution_count": 214,
"id": "43deeeb5-8092-42fc-b80b-59d2c58093de",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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aPr06fLz89O8efP09NNP69q1a7f9I+7WrVtq0aKFfv75Z/Xr10+NGjXSrVu3tHnzZh07dkz16tWTYRhq27atVq1apaFDh6pBgwbavXu3hg8frk2bNmnTpk0W//u3a9cuDRgwQEOGDFFQUJA+/fRTPf/88ypbtqwaNmwoSerfv7+++OILjRo1SjVq1NDVq1f166+/6ty5c3d9XC+88IJatWqlOXPm6Pjx43rjjTf07LPPavXq1ZL+vjyjffv28vPz09SpUyXJXPe1a9cUFRWlEydO6D//+Y+qVq2qvXv36u2339aePXu0cuVKiz/ElyxZop07d2rs2LEymUwaPHiwWrVqpW7duumPP/7QlClTdPHiRfXv319PPvmkEhISzK//8ssv1bVrVz3++OOaPXu2XFxc9PHHH6tZs2b64Ycf1LhxY4vjevLJJ/X000/r+eef1549ezR06FBJMofPTZs22dW3JPv687366KOPVLVqVX300Uf666+/NGDAALVp00Z16tSRi4uLPvvsMx09elQDBw7UCy+8oMWLF5tfe/DgQbVs2VL9+vWTl5eXfvvtN40bN05bt241v6854U59R5J69Oih+fPna9CgQWrUqJH27dunJ554QpcuXbrj9ufNm6fevXvrlVde0XvvvaciRYro0KFD2rdvn3mdpKQk1a5dW0WKFNHbb7+tBx98UJs2bdKoUaN05MgRzZo1K9vtHzhwQPXq1VNgYKAmT56sgIAAffnll+revbvOnDmjQYMGWaz/n//8R/Xr19enn36qS5cuafDgwWrTpo32798vJycnu86drf25S5cu2rFjh0aPHq1y5crpr7/+0o4dOyx+5rOya9cu/fvf/1bx4sX1zjvvKDIyUqdPn9bixYuVmpoqNze3uzr+mJgYxcfH68iRIxo4cKCeeeYZOTs7q1q1apo7d6527typ//znP/Lx8dHkyZMtXr948WKtWbNG77zzjry8vDR16lTz69u3by9JOn/+vCRp+PDhCg4O1pUrV/Ttt98qOjpaq1atMv9nxtWrVxUTE6Pz589r3LhxKlu2rJYvX57lZ70k3bx5U4899pief/55DRgwQD/99JNGjhwpPz+/2/7s2tq/bOmr2fn+++/VsGFDFSnyf/9XPnXqVL300ks6fPiwvv322yxfN3nyZJUrV07vvfeefH19FRkZqZSUFJ0/f14D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XJafO6GhoRb123q8trKnP8+fP1/dunXTp59+qrp166pYsWLq2rVrtvddStKFCxeUlpZ2x4k67D3+u+2TGaw/h//ZlrGvCRMm6OWXX1adOnX0zTffaPPmzdq2bZuaN29ucZ6z+6zPqk2SPD095e7ubtHm5uaWqUZrtvYvW/pqVjKOybo2W2T13i1cuFAdOnRQyZIl9eWXX2rTpk3atm2bnnvuuTsea4a77ed36qt38zl+O+7u7jn+uYv8j3uUUKBUrFjRPOudtXnz5snFxUVLliyx+CWQ3XTMttxUficBAQHaunVrpnbrPyqKFy8uSRo6dKjatWuX5bbKly+f7X5KlCih9evXKz09PduwFBAQoFu3buns2bMWYckwDCUlJelf//rXHY/HmpeXl0aMGKERI0bozJkz5tGlNm3a6Lfffrvn47JX8eLF5eHhkWnSiX8uz6n9SNKHH36Y7axU2f2BlFPs6c9ubm6ZbhKXMv/hmRtWr16tU6dOae3ateZRJElZTrOb2zL+4Dpz5oxKlixpbr9165bN56JHjx7q0aOHrl69qp9++knDhw9X69at9fvvv6t06dIqXry4qlatqtGjR2f5+ow/+rOr7/Tp05naM/6XP6f6rzV7+nPx4sU1adIkTZo0SceOHdPixYs1ZMgQJScnZztLWrFixeTk5GQxSpOVvD7+rMJdRltGX/nyyy8VHR2tadOmWaxnfdO+rZ/198qe/nWnvprd9iXZFRAyZPU788svv1RERITmz59vsTyrz6Ocdqe+mtOf4xcuXMi1n1HkXwQlFBoZX0T7z5s/r1+/ri+++MKu7ViPqtxOTEyMvv76ay1evNji8oE5c+ZYrFe+fHlFRkZq165diouLs6se6e9LxebOnav4+PhsL79r3Lixxo8fry+//FKvv/66uf2bb77R1atXM00+YK+goCB1795du3bt0qRJk3Tt2rV7Pq7sZPcetG7dWnFxcQoICFBERESO7c9a/fr15e/vr3379qlv3745tl17+pY9/Tk8PFy7d++2aFu9enWmS5FyQ8YfR9bTBH/88ce5vm9rGZOQzJ8/XzVr1jS3//e//7VpRrp/8vLyUosWLZSamqq2bdtq7969Kl26tFq3bq2lS5fqwQcfVNGiRe3aZuPGjfXtt9/q1KlTFn/wfv755/L09My1qaLvtj+XKlVKffv21apVq7Rh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",
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 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)\")\n",
"\n",
"# save in the s3\n",
"\n",
"FILE_NAME = \"consent_customers_train_set_music.png\"\n",
"FILE_PATH_OUT_S3 = FILE_PATH + FILE_NAME\n",
"\n",
"with fs.open(FILE_PATH_OUT_S3, 'wb') as file_out:\n",
" plt.savefig(file_out)"
]
},
{
"cell_type": "code",
"execution_count": 213,
"id": "360047fc-70a4-4876-b0f1-c0af5cc93e17",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 640x480 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": []
},
{
"cell_type": "markdown",
"id": "5fcff5cb-923b-44d7-b345-0bee89d30ea2",
"metadata": {},
"source": [
"#### Etude du genre"
]
},
{
"cell_type": "code",
"execution_count": 216,
"id": "32960530-cb46-4eeb-a6d2-1dcf5fb640d8",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_compagny</th>\n",
" <th>gender_male</th>\n",
" <th>gender_female</th>\n",
" <th>gender_other</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>0.181582</td>\n",
" <td>0.343840</td>\n",
" <td>0.474578</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>11</td>\n",
" <td>0.179522</td>\n",
" <td>0.314448</td>\n",
" <td>0.506030</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>12</td>\n",
" <td>0.346381</td>\n",
" <td>0.454038</td>\n",
" <td>0.199581</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>13</td>\n",
" <td>0.318108</td>\n",
" <td>0.503093</td>\n",
" <td>0.178799</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>14</td>\n",
" <td>0.331954</td>\n",
" <td>0.316181</td>\n",
" <td>0.351865</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_compagny gender_male gender_female gender_other\n",
"0 10 0.181582 0.343840 0.474578\n",
"1 11 0.179522 0.314448 0.506030\n",
"2 12 0.346381 0.454038 0.199581\n",
"3 13 0.318108 0.503093 0.178799\n",
"4 14 0.331954 0.316181 0.351865"
]
},
"execution_count": 216,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# genre \n",
"\n",
"company_genders = customerplus_clean_spectacle.groupby(\"number_compagny\")[[\"gender_male\", \"gender_female\", \"gender_other\"]].mean().reset_index()\n",
"company_genders"
]
},
{
"cell_type": "code",
"execution_count": 217,
"id": "1b4a49d7-7bfe-4e80-aa7e-c9c6d4bc46e2",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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3AwaNAgzZsxAZmYmZDIZlEolDh48iGnTpqkd/EtERESkD5LDzcKFC+Hq6ooaNWrg4cOHaNiwIdq2bQt/f398/PHHZVEjERERkdYk337B1NQUsbGxmDdvHlJSUqBUKuHt7Y06deqURX1EREREkpT43lK1atVCrVq1dFkLERERUalJDjcjR4586evF3cCSiIiIqDxIDjf37t1Te/7s2TP8888/uH//Pt59912dFUZERERUEpLDzZYtWzTalEolxo8fD09PT50URURERFRSOrlxppGREaZMmYJly5bpYnZEREREJaazu4JfunQJBQUFupodERERUYlI3i0VEhKi9lwIgYyMDPz2228YNmyYzgojIiIiKgnJ4SYlJUXtuZGREapVq4bPP//8lWdSEREREZU1yeFm7969ZVEHERERkU7o7JgbIiIioopA8pYbb29vyGQyrfoeP35cckFEREREpSE53HTq1AlRUVFo2LAh/Pz8AACHDx/G6dOnMW7cOFhYWOi8SCIiIiJtSQ43t2/fxsSJEzF//ny19rCwMKSnp/P2C0RERKRXko+52bhxI4KDgzXahwwZgk2bNumkKCIiIqKSkhxuLCwscODAAY32AwcOwNzcXCdFEREREZWU5N1SkydPxrhx45CcnIxWrVoBeH7MTXR0NObMmaPzAomIiIikkBxuZs6cCU9PTyxfvhw//PADAKBBgwaIiYlBv379dF4gERERkRSSww0A9OvXj0GGiIiIKiRexI+IiIgMiuQtNwqFAsuWLcNPP/2EtLQ05Ofnq71+9+5dnRVHREREJJXkLTdz587F0qVL0a9fP+Tk5CAkJAS9evWCkZERwsPDy6BEIiIiIu1J3nITGxuLb775Bl27dsXcuXMxcOBA1KpVC02aNMHhw4cxceLEsqjz9RFuq+8KXh/hOfqugIiIDJDkLTeZmZnw8vICAFhbWyMn5/kfqPfeew+//fabbqsjIiIikkhyuKlZsyYyMjIAALVr18auXbsAAH/99RfkcrluqyMiIiKSSHK46dmzJ3bv3g0AmDRpEmbPno06deogODgYI0eO1HmBRERERFJIPuZm8eLFqn/36dMHNWvWRFJSEmrXro3u3bvrtDgiIiIiqUp0Eb9/a9Wqleo2DERERET6VqJwc/78eezbtw9ZWVlQKpVqr0m9v1RUVBQ+/fRTZGRkoFGjRoiMjESbNm2K7Ltv3z4EBARotJ85cwb169eXtFwiIiIyTJLDzTfffINx48bB3t4eTk5OkMlkqtdkMpmkcBMXF4fJkycjKioKrVu3xqpVq9C5c2ekpqbC1dW12OnOnTsHGxsb1fNq1apJXQ0iIiIyUJLDzYIFC7Bw4ULMmDGj1AtfunQpRo0ahdGjRwMAIiMjsXPnTqxYsQIRERHFTufg4AA7O7tSL5+IiIgMj+Szpe7du4e+ffuWesH5+flITk5GYGCgWntgYCCSkpJeOq23tzecnZ3Rvn177N2796V98/LykJubq/YgIiIiwyU53PTt21d1bZvSuHPnDhQKBRwdHdXaHR0dkZmZWeQ0zs7OWL16NTZt2oTNmzejXr16aN++Pf78889ilxMREQFbW1vVw8XFpdS1ExERUcWl1W6pL774QvXv2rVrY/bs2Th8+DC8vLxgamqq1lfq7Rf+fcwOAAghNNoK1atXD/Xq1VM99/PzQ3p6Oj777DO0bdu2yGlCQ0MREhKiep6bm8uAQ0REZMC0CjfLli1Te25tbY3ExEQkJiaqtctkMq3Djb29PYyNjTW20mRlZWlszXmZVq1a4fvvvy/2dblczisnExERvUG0CjdXrlzR+YLNzMzg4+ODhIQE9OzZU9WekJCAHj16aD2flJQUODs767w+es3whqXa4w1LicjAlfoifqUREhKCoUOHwtfXF35+fli9ejXS0tIwduxYAM93Kd24cQPr168H8PxsKnd3dzRq1Aj5+fn4/vvvsWnTJmzatEmfq0FEREQViORw06dPH/j6+mLmzJlq7Z9++imOHj2KjRs3aj2v/v37Izs7G/PmzUNGRgYaN26M+Ph4uLm5AQAyMjKQlpam6p+fn49p06bhxo0bsLCwQKNGjfDbb7+hS5cuUleDiIiIDJRMCCGkTFCtWjXs2bMHXl5eau2nTp1Chw4dcOvWLZ0WqGu5ubmwtbVFTk6O2oUAdYa7R7Sny90jHHftcdz1g+OuHxx3/SiD3d9S/n5LPhX84cOHMDMz02g3NTXlNWSIiIhI7ySHm8aNGyMuLk6j/ccff0TDhg11UhQRERFRSUk+5mb27Nno3bs3Ll26hHfffRcAsHv3bmzYsEHS8TZEREREZUFyuOnevTu2bt2KRYsW4eeff4aFhQWaNGmCP/74A+3atSuLGomIiIi0VqJTwbt27YquXbvquhYiIiKiUpN8zA0RERFRRcZwQ0RERAaF4YaIiIgMCsMNERERGZQSh5v8/HycO3cOBQUFuqyHiIiIqFQkh5vHjx9j1KhRsLS0RKNGjVT3fpo4cSIWL16s8wKJiIiIpJAcbkJDQ3Hy5Ens27cP5ubmqvYOHToUeeViIiIiovIk+To3W7duRVxcHFq1agWZTKZqb9iwIS5duqTT4oiIiIikkrzl5vbt23BwcNBof/TokVrYISIiItIHyeGmRYsW+O2331TPCwPNN998Az8/P91VRkRERFQCkndLRUREoFOnTkhNTUVBQQGWL1+O06dP49ChQ0hMTCyLGomIiIi0JnnLjb+/Pw4ePIjHjx+jVq1a2LVrFxwdHXHo0CH4+PiURY1EREREWivRjTO9vLywbt06XddCREREVGpahZvc3FytZ2hjY1PiYoiIiIhKS6twY2dnp/WZUAqFolQFEREREZWGVuFm7969qn9fvXoVM2fOxPDhw1VnRx06dAjr1q1DRERE2VRJREREpCWtwk27du1U/543bx6WLl2KgQMHqtq6d+8OLy8vrF69GsOGDdN9lURERERakny21KFDh+Dr66vR7uvri6NHj+qkKCIiIqKSkhxuXFxcsHLlSo32VatWwcXFRSdFEREREZWU5FPBly1bht69e2Pnzp1o1aoVAODw4cO4dOkSNm3apPMCiYiIiKSQvOWmS5cuuHDhAnr06IG7d+8iOzsbPXr0wPnz59GlS5eyqJGIiIhIayW6iF/NmjWxcOFCXddCREREVGqSt9wQERERVWQMN0RERGRQGG6IiIjIoDDcEBERkUGRHG6ePHmCx48fq55fu3YNkZGR2LVrl04LIyIiIioJyeGmR48eWL9+PQDg/v37eOutt/D555+jR48eWLFiheQCoqKi4OHhAXNzc/j4+GD//v1aTXfw4EGYmJigWbNmkpdJREREhktyuDl+/DjatGkDAPj555/h6OiIa9euYf369fjiiy8kzSsuLg6TJ0/GrFmzkJKSgjZt2qBz585IS0t76XQ5OTkIDg5G+/btpZZPREREBk5yuHn8+DEqVaoEANi1axd69eoFIyMjtGrVCteuXZM0r6VLl2LUqFEYPXo0GjRogMjISLi4uLxyC9CYMWMwaNAg1V3JiYiIiApJDje1a9fG1q1bkZ6ejp07dyIwMBAAkJWVBRsb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3JiZmcHHxwcJCQlq7QkJCfD399dTVURERPS609uWGwAICQnB0KFD4evrCz8/P6xevRppaWkYO3YsgOe7lG7cuIH169erpjlx4gQA4OHDh7h9+zZOnDgBMzMzNGzYUB+rQERERBWMXsNN//79kZ2djXnz5iEjIwONGzdGfHw83NzcADy/aN+L17zx9vZW/Ts5ORk//PAD3NzccPXq1fIsnYiIiCoovYYbABg/fjzGjx9f5GsxMTEabUKIMq6IiIiIXmd6P1uKiIiISJcYboiIiMigMNwQERGRQWG4ISIiIoPCcENEREQGheGGiIiIDArDDRERERkUhhsiIiIyKAw3REREZFAYboiIiMigMNwQERGRQWG4ISIiIoPCcENEREQGheGGiIiIDArDDRERERkUhhsiIiIyKAw3REREZFAYboiIiMigMNwQERGRQWG4ISIiIoPCcENEREQGheGGiIiIDArDDRERERkUhhsiIiIyKAw3REREZFAYboiIiMigMNwQERGRQWG4ISIiIoPCcENEREQGheGGiIiIDArDDRERERkUvYebqKgoeHh4wNzcHD4+Pti/f/9L+ycmJsLHxwfm5ubw9PTEypUry6lSIiIieh3oNdzExcVh8uTJmDVrFlJSUtCmTRt07twZaWlpRfa/cuUKunTpgjZt2iAlJQX/+9//MHHiRGzatKmcKyciIqKKSq/hZunSpRg1ahRGjx6NBg0aIDIyEi4uLlixYkWR/VeuXAlXV1dERkaiQYMGGD16NEaOHInPPvusnCsnIiKiikpv4SY/Px/JyckIDAxUaw8MDERSUlKR0xw6dEijf1BQEI4dO4Znz56VWa1ERET0+jDR14Lv3LkDhUIBR0dHtXZHR0dkZmYWOU1mZmaR/QsKCnDnzh04OztrTJOXl4e8vDzV85ycHABAbm5uaVehSMq8x2UyX0Oky/eA4649jrt+cNz1g+OuH2XxN7ZwnkKIV/bVW7gpJJPJ1J4LITTaXtW/qPZCERERmDt3rka7i4uL1FJJx2wj9V3Bm4njrh8cd/3guOtHWY77gwcPYGtr+9I+egs39vb2MDY21thKk5WVpbF1ppCTk1OR/U1MTFC1atUipwkNDUVISIjquVKpxN27d1G1atWXhihDkpubCxcXF6Snp8PGxkbf5bwROOb6wXHXD467frxp4y6EwIMHD1C9evVX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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Création du barplot\n",
"plt.bar(company_genders[\"number_compagny\"], company_genders[\"gender_male\"], label = \"Homme\")\n",
"plt.bar(company_genders[\"number_compagny\"], company_genders[\"gender_female\"], \n",
" bottom = company_genders[\"gender_male\"], label = \"Femme\")\n",
"\n",
"\n",
"# Ajout de titres et d'étiquettes\n",
"plt.xlabel('Company')\n",
"plt.ylabel(\"Part de clients de chaque sexe\")\n",
"plt.title(\"Sexe des clients de chaque compagnie de spectacle\")\n",
"plt.legend()\n",
"\n",
"# Affichage du barplot\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 218,
"id": "c7348c95-e506-4002-90d9-d3b6768af985",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_company</th>\n",
" <th>y_has_purchased</th>\n",
" <th>gender_male</th>\n",
" <th>gender_female</th>\n",
" <th>gender_other</th>\n",
" <th>share_of_women</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>0.0</td>\n",
" <td>0.140862</td>\n",
" <td>0.288775</td>\n",
" <td>0.570363</td>\n",
" <td>67.213639</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10</td>\n",
" <td>1.0</td>\n",
" <td>0.284532</td>\n",
" <td>0.714831</td>\n",
" <td>0.000637</td>\n",
" <td>71.528662</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11</td>\n",
" <td>0.0</td>\n",
" <td>0.289900</td>\n",
" <td>0.512669</td>\n",
" <td>0.197431</td>\n",
" <td>63.878535</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>11</td>\n",
" <td>1.0</td>\n",
" <td>0.321033</td>\n",
" <td>0.609779</td>\n",
" <td>0.069188</td>\n",
" <td>65.510406</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>12</td>\n",
" <td>0.0</td>\n",
" <td>0.357546</td>\n",
" <td>0.470654</td>\n",
" <td>0.171799</td>\n",
" <td>56.828519</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>12</td>\n",
" <td>1.0</td>\n",
" <td>0.396824</td>\n",
" <td>0.494058</td>\n",
" <td>0.109118</td>\n",
" <td>55.457191</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>13</td>\n",
" <td>0.0</td>\n",
" <td>0.363198</td>\n",
" <td>0.492956</td>\n",
" <td>0.143846</td>\n",
" <td>57.577983</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>13</td>\n",
" <td>1.0</td>\n",
" <td>0.379703</td>\n",
" <td>0.516605</td>\n",
" <td>0.103693</td>\n",
" <td>57.637000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>14</td>\n",
" <td>0.0</td>\n",
" <td>0.447676</td>\n",
" <td>0.443646</td>\n",
" <td>0.108678</td>\n",
" <td>49.773906</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>14</td>\n",
" <td>1.0</td>\n",
" <td>0.487695</td>\n",
" <td>0.471498</td>\n",
" <td>0.040808</td>\n",
" <td>49.155702</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_company y_has_purchased gender_male gender_female gender_other \\\n",
"0 10 0.0 0.140862 0.288775 0.570363 \n",
"1 10 1.0 0.284532 0.714831 0.000637 \n",
"2 11 0.0 0.289900 0.512669 0.197431 \n",
"3 11 1.0 0.321033 0.609779 0.069188 \n",
"4 12 0.0 0.357546 0.470654 0.171799 \n",
"5 12 1.0 0.396824 0.494058 0.109118 \n",
"6 13 0.0 0.363198 0.492956 0.143846 \n",
"7 13 1.0 0.379703 0.516605 0.103693 \n",
"8 14 0.0 0.447676 0.443646 0.108678 \n",
"9 14 1.0 0.487695 0.471498 0.040808 \n",
"\n",
" share_of_women \n",
"0 67.213639 \n",
"1 71.528662 \n",
"2 63.878535 \n",
"3 65.510406 \n",
"4 56.828519 \n",
"5 55.457191 \n",
"6 57.577983 \n",
"7 57.637000 \n",
"8 49.773906 \n",
"9 49.155702 "
]
},
"execution_count": 218,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# sur le train set \n",
"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\"] = 100 * (company_genders[\"gender_female\"]/(1-company_genders[\"gender_other\"]))\n",
"company_genders"
]
},
{
"cell_type": "code",
"execution_count": 219,
"id": "b36e5a8f-45dc-4b74-8137-80b7e916aa84",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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5Ovrq48//viC84uDsmXL2q8+9OrVK99lcv8A9PT0VL9+/dSvXz/9888/+u677/Sf//xHrVq10r59++Tn55fv+pdaz5Ua8qu/VKlS2r9/f555uf9TXFjnOne7//3vfy850mGlSpU0adIkSf/+z/mXX36ppKQkZWVlaeLEifmukztq2++//37B7brj+PMbECUjI0Pe3t72q1rTpk1T165dlZyc7LDc33//rTJlytinQ0ND7X+8XWofl6so+nhoaOgFz8v5ct+L8ePH2we8sbpQSHS1voyMDFWoUME+fe7cOR08eND+R7iz/deZfngxS5Ys0Z9//qlly5bZryJJyjOM+OXu50rPae76hw4dcmm/Uv6/q6ZNm6bExES99957Du0XGtijIF3qc8aVz6xLyT1fxeV3Ga4eBCXAIveLaD08POxtp06d0qeffurSdi71P8fna9asmb788kvNmTPH4TaG6dOnOyxXrVo1xcXFadOmTXn+qLsS7du3V3JyskJDQy/4R35x4Ofnp2bNmmnjxo2Kj4+3X124lDJlyui+++7TH3/8oT59+mj37t15bp9yZb3LqUGS/P391aBBA82aNUuvv/66fH19Jf07Oti0adN03XXXXfFtnBfSqlUreXp6ateuXRe8BSc/VatW1SuvvKKZM2dqw4YNF12uSpUq+vjjj9WvXz/7/yqfzx3HP2vWLI0ZM8b+nx7Hjh3TN998oyZNmth/xm02W556582bpz/++EPXX3+9vS0hIUGvv/66fv75Z4f+M2PGjAKrtyj6eLNmzTR69Ght2rTJ4fY76+fNrbfeqjJlyujnn39W7969L/+gnKjvs88+c7gd98svv9S5c+fso4U623+d6YfSha965IYJ63rWoaWd3Y/VlZ7T3FtPd+3alWeeK79zcuXX9zdv3qyVK1cqOjra5fouV36fM658Zp3/fuZ+rpzvt99+kySnPveB8xGUAIt27dpp7Nix6ty5s5566ikdPHhQr7/+utO/CHPVqlVLy5Yt0zfffKPIyEgFBgZe8GpP165d9eabb6pr164aPny44uLiNH/+fC1cuDDPsu+//77atGmjVq1aqXv37qpQoYIOHTqkbdu2acOGDfrqq69cPuY+ffpo5syZatq0qfr27av4+Hjl5ORo7969WrRokfr3768GDRq4vN3C8NZbb+m2225TkyZN9MwzzygmJkbHjh3Tzp079c0332jJkiWSpA4dOqhmzZqqV6+eypcvrz179mjcuHGqVKmS4uLiLrh9Z9Zztob8jBgxQi1atFCzZs00YMAAeXt7691339VPP/2kzz//vECuUOYnJiZGr732ml5++WX99ttvat26tcqWLau//vpLa9askb+/v4YMGaLNmzerd+/euv/++xUXFydvb28tWbJEmzdv1ksvvXTRfbzzzjvq0KGDGjZsqL59+6pixYrau3evFi5cqM8++8wtx+/h4aEWLVqoX79+ysnJ0ahRo3T06FGHL6ds3769pkyZohtuuEHx8fFav369xowZk+e2qj59+ujjjz9WmzZt9Nprryk8PFzTp0/XL7/8Ism1W4EuprD7eO5xtGvXTsOGDVN4eLg+++wz+3HkCggI0Pjx49WtWzcdOnRI9913n8LCwnTgwAFt2rRJBw4cyHMl4nyu1Ddr1ix5enqqRYsW2rp1q1599VXVrl1bnTp1kuR8/5Wc64e1atWyn+tu3brJy8tL1apVU+PGjVW2bFn16NFDgwcPlpeXlz777DNt2rQpz/E5sx+rKz2n1113nSpXrqxVq1bpueeec5hXq1YtzZgxQ1988YUqV66s0qVL24/zQtq3b6+hQ4dq8ODBSkhI0Pbt2/Xaa68pNjbW5e9ZcoUznzOuvOe5xzlq1Ci1adNGHh4eDv/RsGrVKvutn4BL3D2aBFCULjQ8uNXHH39sqlWrZnx8fEzlypXNiBEjzKRJk/KMkpTfCHK50tLSzK233mr8/PyMpHxHIzrf77//bu69914TEBBgAgMDzb333mtWrFiR77DfmzZtMp06dTJhYWHGy8vLREREmNtvv91MnDjxkufgQjUfP37cvPLKK6ZatWrG29vbPjxx3759HUYDlGR69erlsG7uyF1jxoxxaM8dbemrr76ytyUkJJgbb7zR6boutL/HHnvMVKhQwXh5eZny5cubxo0bm2HDhtmXeeONN0zjxo1NuXLljLe3t6lYsaJ5/PHHze7duy96fpxdz5ka8hvRzBhjfvjhB3P77bcbf39/4+vraxo2bGi++eYbh2Uu1Fdzz+mlhurOb3hwY/4dobBZs2YmKCjI+Pj4mEqVKpn77rvPPizxX3/9Zbp3725uuOEG4+/vbwICAkx8fLx58803zblz5y66T2OMWblypWnTpo0JDg42Pj4+pkqVKnlGNLuS4889rgMHDji0d+vWzfj7+9unc8/9qFGjzJAhQ8x1111nvL29Td26dc3ChQsd1j18+LB5/PHHTVhYmPHz8zO33Xab+eGHH0xCQkKen9uffvrJ3HHHHaZ06dImJCTEPP7442bq1Kl5RkS7UD/v1q2bqVSpUp46rX2kMPu4Mcb8/PPPpkWLFg7H8b///S/fvpWammratWtnQkJCjJeXl6lQoYJp166dw891fpypL/f9XL9+venQoYP98++hhx4yf/31V55tXqr/5nKmHw4aNMhERUWZUqVKORz3ihUrTKNGjYyfn58pX768eeKJJ8yGDRvyfZ8utZ/8hge/knNqjDGvvvqqKVu2rMPw18YYs3v3btOyZUsTGBhoH3LdmPw/h3OdOXPGDBgwwFSoUMGULl3a3HTTTWb27Nl5+qkxFx717nI+o1z5nHHmPT9z5ox54oknTPny5Y3NZstzzps0aZJnpEHAGTZj+PYtAEDJsnv3bsXGxmrMmDEXHPikoDz11FP6/PPPdfDgQZduxcS/X/46ZMgQHThwgOdHnPTnn38qNjZWn3zyiR544AF3l1Ps7dq1S3FxcVq4cKFatGjh7nJwleHWOwAAnPTaa68pKipKlStX1vHjxzV37lx99NFHeuWVVwhJKBJRUVHq06ePhg8frvvvv7/AbvksqYYNG6bmzZsTknBZCEoAADjJy8tLY8aM0e+//65z584pLi5OY8eO1fPPP+/u0nANeeWVV+Tn56c//vijSAdduNqcO3dOVapU0aBBg9xdCq5S3HoHAAAAABZcrwUAAAAAC4ISAAAAAFgQlAAAAADAosQP5pCTk6M///xTgYGBhfZFjgAAAACKP2OMjh07pqioqEuOGlnig9Kff/7JiDAAAAAA7Pbt26frrrvuosuU+KAUGBgo6d+TERQU5OZqAAAAALjL0aNHFR0dbc8IF1Pig1Lu7XZBQUEEJQAAAABOPZLDYA4AAAAAYEFQAgAAAAALghIAAAAAWJT4Z5QAAACuBtnZ2Tp79qy7ywCual5eXvLw8CiQbRGUAAAA3MgYo4yMDP3zzz/uLgUoEcqUKaOIiIgr/g5VghIAAIAb5YaksLAw+fn5XfEfd8C1yhijkydPKjMzU5IUGRl5RdsjKAEAALhJdna2PSSFhoa6uxzgqufr6ytJyszMVFhY2BXdhsdgDgAAAG6S+0ySn5+fmysBSo7cn6crfeaPoAQAAOBm3G4HFJyC+nkiKAEAAACABUEJAAAAcEH37t119913u7sMFDIGcwAAACiGYl6aV6T72z2yXZHu71q3bNkyNWvWTIcPH1aZMmXcXQ7ywRUlAAAAALAgKAEAAMBlCxYs0G233aYyZcooNDRU7du3165du+zzly1bJpvN5vBFumlpabLZbNq9e7e97ccff1RCQoL8/PxUtmxZtWrVSocPH5YkxcTEaNy4cQ77rVOnjpKSkuzTNptNH330ke655x75+fkpLi5Oc+bMuWjt06ZNU7169RQYGKiIiAh17tzZ/t07ubZu3ap27dopKChIgYGBatKkicPxSdLrr7+uyMhIhYaGqlevXg6jrF1sH7t371azZs0kSWXLlpXNZlP37t0vWjOKHkEJAAAALjtx4oT69euntWvXavHixSpVqpTuuece5eTkOL2NtLQ0NW/eXDfeeKNWrlyp5cuXq0OHDsrOznapliFDhqhTp07avHmz2rZtqy5duujQoUMXXD4rK0tDhw7Vpk2bNHv2bKWnpzsElT/++ENNmzZV6dKltWTJEq1fv16PPfaYzp07Z19m6dKl2rVrl5YuXaqpU6dqypQpmjJlilP7iI6O1syZMyVJ27dv1/79+/XWW2+5dMwofDyjBAAAAJfde++9DtOTJk1SWFiYfv75Z9WsWdOpbYwePVr16tXTu+++a2+78cYbXa6le/fueuihhyRJycnJGj9+vNasWaPWrVvnu/xjjz1m/3flypX19ttvq379+jp+/LgCAgL0zjvvKDg4WDNmzJCXl5ckqWrVqg7bKFu2rCZMmCAPDw/dcMMNateunRYvXqwnn3zSqX2EhIRIksLCwnhGqZjiihIAAABctmvXLnXu3FmVK1dWUFCQYmNjJUl79+51ehu5V5SuVHx8vP3f/v7+CgwMzHMr3fk2btyou+66S5UqVVJgYKASExMl/V/taWlpatKkiT0k5efGG2+Uh4eHfToyMtJhn5faB4o/ghIAAABc1qFDBx08eFAffvihVq9erdWrV0v695YzSSpV6t8/M40x9nXOf4ZHknx9fS+6j1KlSjmsn982JOUJNDab7YK3AJ44cUItW7ZUQECApk2bprVr1+rrr792qP1SdV1qn87sA8UfQQkAAAAuOXjwoLZt26ZXXnlFzZs3V/Xq1e0DMOQqX768JGn//v32trS0NIdl4uPjtXjx4gvup3z58g7rHz16VOnp6VdU+y+//KK///5bI0eOVJMmTXTDDTfkufoUHx+vH374Id9QVlD78Pb2liSXn8dC0eEZJVy5pGB3V1Cwko64uwIAAIq1smXLKjQ0VB988IEiIyO1d+9evfTSSw7LXH/99YqOjlZSUpKGDRumHTt26I033nBYZtCgQapVq5Z69uypHj16yNvbW0uXLtX999+vcuXK6fbbb9eUKVPUoUMHlS1bVq+++qrD7W6Xo2LFivL29tb48ePVo0cP/fTTTxo6dKjDMr1799b48eP14IMPatCgQQoODtaqVatUv359VatWrUD2UalSJdlsNs2dO1dt27aVr6+vAgICrujYULC4ogQAAACXlCpVSjNmzND69etVs2ZN9e3bV2PGjHFYxsvLS59//rl++eUX1a5dW6NGjdKwYcMclqlataoWLVqkTZs2qX79+mrUqJH+97//ydPz3//LHzRokJo2bar27durbdu2uvvuu1WlSpUrqr18+fKaMmWKvvrqK9WoUUMjR47U66+/7rBMaGiolixZouPHjyshIUE333yzPvzww4s+s+TqPipUqKAhQ4bopZdeUnh4uHr37n1Fx4WCZzPWGz9LmKNHjyo4OFhHjhxRUFCQu8spmbiiBADAZTl9+rTS09MVGxur0qVLu7scoES42M+VK9mAK0oAAAAAYEFQAgAAAAALtwalmJgY2Wy2PK9evXpJ+nc4yaSkJEVFRcnX11eJiYnaunWrO0sGAAAAcA1wa1Bau3at9u/fb3+lpKRIku6//35J/35b89ixYzVhwgStXbtWERERatGihY4dO+bOsgEAAACUcG4NSuXLl1dERIT9NXfuXFWpUkUJCQkyxmjcuHF6+eWX1bFjR9WsWVNTp07VyZMnNX36dHeWDQAAAKCEKzbPKGVlZWnatGl67LHHZLPZlJ6eroyMDLVs2dK+jI+PjxISErRixQo3VgoAAACgpCs2Xzg7e/Zs/fPPP+revbskKSMjQ5IUHh7usFx4eLj27Nlzwe2cOXNGZ86csU8fPXq04IsFAAAAUKIVmytKkyZNUps2bRQVFeXQbrPZHKaNMXnazjdixAgFBwfbX9HR0YVSLwAAAICSq1gEpT179ui7777TE088YW+LiIiQ9H9XlnJlZmbmucp0vkGD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0EWvKl3JPnKv7GRnZ190WzVq1NDs2bMd2latWuUwXb58eWVkZDj8Ee/MUN2//PKL/v77b40cOVLR0dGSpHXr1l1yPStvb+9LHoeVM+foQqzHv2rVKsXFxcnDw0N169ZVdna2MjMz7du9HNdff728vb21fPly+9f7nD17VuvWrbPfRufMe3PTTTdp69ateW7dLGzcegcAAACXlC1bVqGhofrggw+0c+dOLVmyRP369XNY5qGHHlJERITuvvtu/fjjj/rtt980c+ZMrVy5ssD2ERYWJl9fXy1YsEB//fWXjhzJ/7ugevTooV27dqlfv37avn27pk+fnmdUucTERB04cECjR4/Wrl279M477+jbb7+9ZJ0VK1aUt7e3xo8fr99++01z5szR0KFDnTrG88XExCg9PV1paWn6+++/debMmUuu48w5upB9+/bZz8fnn3+u8ePH6/nnn5ckVa1aVV26dFHXrl01a9Yspaena+3atRo1apTmz5/v9DH5+/vrmWee0QsvvKAFCxbo559/1pNPPqmTJ0/q8ccfl+Tce/Piiy9q5cqV6tWrl9LS0rRjxw7NmTNHzz77rNO1XA6CEgAAAFxSqlQpzZgxQ+vXr1fNmjXVt29fjRkzxmEZb29vLVq0SGFhYWrbtq1q1aqlkSNH5rmV60r24enpqbffflvvv/++oqKidNddd+W7rYoVK2rmzJn65ptvVLt2bU2cONE+IEGu6tWr691339U777yj2rVra82aNRowYMAl6yxfvrymTJmir776SjVq1NDIkSP1+uuvO3WM57v33nvVunVrNWvWTOXLl9fnn39+yXWcOUcX0rVrV506dUr169dXr1699Oyzz+qpp56yz588ebK6du2q/v37q1q1arrzzju1evVq+1UzZ40cOVL33nuvHnnkEd10003auXOnFi5cqLJly0py7r2Jj49XamqqduzYoSZNmqhu3bp69dVX7c95FRabKSlfnXsBR48eVXBwsI4cOaKgoCB3l1MyFfU3hxe2q/CbyQEAV6fTp08rPT1dsbGxhTZyF2CVmJioOnXqaNy4ce4upVBc7OfKlWzAFSUAAAAAsCAoAQAAAIAFo94BAAAA15Bly5a5u4SrAkGpiMW8NM/dJRS43dxSDQAAgBKGW+8AAAAAwIKgBAAA4GYlfBBioEgV1M8TQQkAAMBNvLy8JEknT550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oqOj5efnp3vuuUdjx45VmTJl7PNz3/tPP/1UMTExCg4O1oMPPqhjx47Zl7HeepeVlaWBAweqQoUK8vf3V4MGDbRs2bKLnkMAKMkISgBwFfLw8FBycrLGjx+v33///Yq2tWTJEv3555/6/vvvNXbsWCUlJal9+/YqW7asVq9erR49eqhHjx7at2+fJOnkyZNq1qyZAgIC9P3332v58uUKCAhQ69atlZWVZd/u4sWLtW3bNqWkpGju3Lk6efKkWrdurbJly2rt2rX66quv9N1336l3794XrG3fvn3q2LGj2rZtq7S0ND3xxBN66aWXHJbZsmWLWrVqpY4dO2rz5s364osvtHz58otud968eerYsaPatWunjRs3avHixapXr559fvfu3bVu3TrNmTNHK1eulDFGbdu21dmzZ+3LnDx5Um+//bZmzJihBQsWaNmyZerYsaPmz5+v+fPn69NPP9UHH3yg//73vw77HjNmjOLj47VhwwYNGjRIffv2VUpKin1+qVKl9Pbbb+unn37S1KlTtWTJEg0cONA+/8cff1SPHj30/PPPKy0tTS1atNDw4cPzHOOuXbs0e/ZszZ07V3PnzlVqamqe2zXP9+ijj+rHH3/UjBkztHnzZt1///1q3bq1Q0AEgGuKAQBcVbp162buuusuY4wxDRs2NI899pgxxpivv/7anP+xPnjwYFO7dm2Hdd98801TqVIlh21VqlTJZGdn29uqVatmmjRpYp8+d+6c8ff3N59//rkxxphJkyaZatWqmZycHPsyZ86cMb6+vmbhwoX27YaHh5szZ87Yl/nggw9M2bJlzfHjx+1t8+bNM6VKlTIZGRn5HuugQYNM9erVHfb14osvGknm8OHDxhhjHnnkEfPUU085rPfDDz+YUqVKmVOnTuW73UaNGpkuXbrkO+/XX381ksyPP/5ob/v777+Nr6+v+fLLL40xxkyePNlIMjt37rQv8/TTTxs/Pz9z7Ngxe1urVq3M008/bZ+uVKmSad26tcP+HnjgAdOmTZt8azHGmC+//NKEhoY6LN+uXTuHZbp06WKCg4Pt04MHDzZ+fn7m6NGj9rYXXnjBNGjQwD6dkJBgnn/+eWOMMTt37jQ2m8388ccfDttt3ry5GTRo0AVrA4CSjCtKAHAVGzVqlKZOnaqff/75srdx4403qlSp//t1EB4erlq1atmnPTw8FBoaqszMTEnS+vXrtXPnTgUGBiogIEABAQEKCQnR6dOntWvXLvt6tWrVcnguadu2bapdu7b8/f3tbbfeeqtycnK0ffv2fGvbtm2bGjZs6DBIRaNGjRyWWb9+vaZMmWKvJSAgQK1atVJOTo7S09Pz3W5aWpqaN29+wX16enqqQYMG9rbQ0FBVq1ZN27Zts7f5+fmpSpUqDuctJibGYfS/8PBw+3m7UP2NGjVy2O7SpUvVokULVahQQYGBgeratasOHjxov5Vw+/btql+/vsM2rNPSv7f5BQYG2qcjIyPz1JJrw4YNMsaoatWqDucxNTXV4T0FgGsJgzkAwFWsadOmatWqlf7zn/+oe/fuDvNKlSolY4xD2/m3juXy8vJymLbZbPm25eTkSJJycnJ0880367PPPsuzrfLly9v/fX4gkiRjzAVH5btQu7X+/OTk5Ojpp5/Wc889l2dexYoV813H19f3gtu70D6t9bt63i4md7t79uxR27Zt1aNHDw0dOlQhISFavny5Hn/8cft7l995zK9mV2rJycmRh4eH1q9fLw8PD4d5RTXsOwAUNwQlALjKjRw5UnXq1LEPmJCrfPnyysjIcPjDOi0t7Yr3d9NNN+mLL75QWFiYgoKCnF6vRo0amjp1qk6cOGEPUT/++KNKlSqVp/bz15k9e7ZD26pVq/LUs3XrVl1//fVO1xIfH6/Fixfr0UcfzXef586d0+rVq9W4cWNJ0sGDB/Xrr7+qevXqTu/jQqz1r1q1SjfccIMkad26dTp37pzeeOMN+1W+L7/80mH5G264QWvWrHFoW7du3RXVVLduXWVnZyszM1NNmjS5om0BQEnBrXcAcJWrVauWunTpkmf0tMTERB04cECjR4/Wrl279M477+jbb7+94v116dJF5cqV01133aUffvhB6enpSk1N1fPPP3/RgSW6dOmi0qVLq1u3bvrpp5+0dOlSPfvss3rkkUcUHh6e7zo9evTQrl271K9fP23fvl3Tp0/XlClTHJZ58cUXtXLlSvXq1UtpaWnasWOH5syZo2efffaCtQwePFiff/65Bg8erG3btmnLli0aPXq0JCkuLk533XWXnnzySS1fvlybNm3Sww8/rAoVKuiuu+5y/YRZ/Pjjjxo9erR+/fVXvfPOO/rqq6/0/PPPS5KqVKmic+fOafz48frtt9/06aefauLEiQ7rP/vss5o/f77Gjh2rHTt26P3339e33357Rd+hVbVqVXXp0kVdu3bVrFmzlJ6errVr12rUqFGaP3/+FR0vAFytCEoAUAIMHTo0z+1X1atX17vvvqt33nlHtWvX1po1azRgwIAr3pefn5++//57VaxYUR07dlT16tX12GOP6dSpUxe9wuTn56eFCxfq0KFDuuWWW3TfffepefPmmjBhwgXXqVixombOnKlvvvlGtWvX1sSJE5WcnOywTHx8vFJTU7Vjxw41adJEdevW1auvvqrIyMgLbjcxMVFfffWV5syZozp16uj222/X6tWr7fMnT56sm2++We3bt1ejRo1kjNH8+fPz3M52Ofr376/169erbt26Gjp0qN544w21atVKklSnTh2NHTtWo0aNUs2aNfXZZ5/lGQL+1ltv1cSJEzV27FjVrl1bCxYsUN++fVW6dOkrqmvy5Mnq2rWr+vfvr2rVqunOO+/U6tWrFR0dfUXbBYCrlc04cwM4AAC4YjExMerTp4/D9xcVhCeffFK//PKLfvjhhwLdLgBcy3hGCQCAq8zrr7+uFi1ayN/fX99++62mTp2qd999191lAUCJQlACAOAqs2bNGo0ePVrHjh1T5cqV9fbbb+uJJ55wd1kAUKJw6x0AAAAAWDCYAwAAAABYEJQAAAAAwIKgBAAAAAAWBCUAAAAAsCAoAQAAAIAFQQkAAAAALAhKAAAAAGBBUAIAAAAAC4ISAAAAAFj8f5ZM2qtrjB8WAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# création barplot avec la fonction générique\n",
"\n",
"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)\")\n",
"\n",
"# save in the s3\n",
"\n",
"FILE_NAME = \"gender_train_set_music.png\"\n",
"FILE_PATH_OUT_S3 = FILE_PATH + FILE_NAME\n",
"\n",
"with fs.open(FILE_PATH_OUT_S3, 'wb') as file_out:\n",
" plt.savefig(file_out)"
]
},
{
"cell_type": "markdown",
"id": "9504e6b6-d97c-4aa9-a56a-f9f97264be05",
"metadata": {},
"source": [
"#### Etude du pays d'origine"
]
},
{
"cell_type": "code",
"execution_count": 220,
"id": "ed6374e5-f36c-4f8e-9dba-602715b726f1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_compagny</th>\n",
" <th>country_fr</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>0.996136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>11</td>\n",
" <td>0.994838</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>12</td>\n",
" <td>0.002119</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>13</td>\n",
" <td>0.831794</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>14</td>\n",
" <td>0.993978</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_compagny country_fr\n",
"0 10 0.996136\n",
"1 11 0.994838\n",
"2 12 0.002119\n",
"3 13 0.831794\n",
"4 14 0.993978"
]
},
"execution_count": 220,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# pays d'origine (France VS reste du monde)\n",
"\n",
"company_country_fr = customerplus_clean_spectacle.groupby(\"number_compagny\")[\"country_fr\"].mean().reset_index()\n",
"company_country_fr"
]
},
{
"cell_type": "code",
"execution_count": 221,
"id": "8d95cdd9-2ab3-4c9a-8442-bb9b98e0dd18",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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w0Nt27bNdHsfe+wxFStWzPrc19dXpUqVuuN+n9P98V7t9868L2///KtVq5YiIiKsr8G6deuUnJysLl262NSRnp6upk2batOmTbp06ZIuX76sNWvWqG3bttm+BtCRvxvZXU9Ox/RuOC11B+3bt9c777yjYcOG2R2+laSEhATVrVtXpUuX1vvvv6/IyEj5+vpq48aN6tOnj65cuZKt9Z45c0aFCxe2aw8PD7dOv1VISIjN84xDgBnrT09PV+PGjXX8+HENHz5cFSpUkL+/v9LT01WjRo1s15mZkydPaunSpVme5rrTmzpju8LCwmzavby87LbR0fV06tRJN27c0KeffqrWrVsrPT1djz/+uMaMGaOYmJgsazl9+rTCw8NzdPu6dHObbty4oQ8++EAffPDBHWvNcLfX806yu71nzpxRaGioXfvtr8XJkyclSYMGDdKgQYMc2p5bOTOut4+DdHMsbh2HAQMG6KOPPtKQIUMUHR2tAgUKyMPDQz169LDpd+bMGUVFRdkt7/btc8bJkyd18ODBbO3rp0+flqQ73kiQ8X7I6rMgPT1dZ8+elZ+fn7U9ODjYpp+3t7f8/Pzk6+tr156SkmK33MzGIywszObmig4dOmjVqlUaPny4Hn/8cQUGBspiseipp56yG/PM9qnM2iTHXu/b5XR/vFf7vTPvy6xeg4z9IaOW5557Lsv1JScny8PDQ2lpadm+WcXRvxtnz57N1npyOqZ3Q7i5A4vFogkTJigmJkaffPKJ3fTFixfr0qVLWrRokTXNStL27dtztN6QkBAlJibatR8/flySbP4n5Ijdu3drx44dio2NVZcuXaztBw8ezFGdmSlYsKAqVqyosWPHZjo9I6BlJuPD7cSJEypSpIi1/caNG3aBzpn1dOvWTd26ddOlS5f0888/a+TIkXr66ad14MABm9ftVg899JB++eUXpaen5yjgFChQQJ6enurUqZP69OmTaZ/M/ujmRHa2NyQkJNMLt2+/sDJj3xs6dGimgV+S9TqXzLhqXDNkXHswbtw4m/akpCSbu/RCQkIyvUg0szZfX99ML4JMSkqyee8VLFhQefPmtbvo9dbpWcn4H+7Ro0ez7JPxfsjqs8DDw0MFChTIcv7syGqMMmo5f/68li1bppEjR+r111+39klNTVVycrLNfCEhIdY/YHdbR3bldH+8V/u95Pj7MqvXoESJEja1fPDBB6pRo0am6woNDVVaWpo8PT3vuI/diaN/N4KDg7O1HleM6Z0Qbu6iUaNGiomJ0ejRo+1OE2Ucvr31YinDMPTpp5/aLedu/wO5VcOGDfXNN9/o+PHjNn+k586dKz8/vyx36KxkVqckffzxx04t51ZZbc/TTz+t5cuX65FHHnH6gzfjTpR58+apatWq1vavvvrK7g6o7KzH399fzZo107Vr1/SPf/xDv//+e5Z/7Js1a6Yvv/xSsbGxOTo15efnp/r162vbtm2qWLGivL29s72sWzmyPzmzvfXr19dXX32lJUuW2Byi/+KLL2z6lS5dWiVLltSOHTvsAoUjXDWuGSwWi91+/d133+nYsWPWPwbSze2bOHGiduzYYXNq6vbtk27eubNz506btgMHDmj//v02geXpp5/WuHHjFBIS4nRArVWrloKCgjR9+nS1b98+01NTpUuXVpEiRfTFF19o0KBB1j6XLl3SwoULrXdQudKXX36pAQMGWNcVHx+vdevWqXPnzpJujrdhGHZjPmPGDKWlpdm0RUdHa/ny5TahMD09XQsWLHBZvTndH+/Vfn+ru70v582bp9atW1ufr1u3TvHx8dbvQqtdu7by58+vPXv23PWC+OjoaC1YsEBjx47NMmxndWTY0b8bGXfV3W09t3PlmGaGcOOACRMmqGrVqjp16pQeffRRa3tMTIy8vb31/PPPa/Dgwbp69aqmTZums2fP2i2jQoUKWrRokaZNm6aqVavKw8ND1apVy3R9I0eOtF5TMmLECAUHB2vevHn67rvvNHHiRAUFBTlVf5kyZfTII4/o9ddfl2EYCg4O1tKlSxUXF+fcQNy2PT/99JOWLl2qwoULKyAgQKVLl9bo0aMVFxenWrVqqW/fvipdurSuXr2qw4cPa/ny5Zo+fXqWhy/Lli2rF154QZMnT1aePHnUqFEj7d69W++8847d91o4up6XXnpJefPmVe3atVW4cGGdOHFC48ePV1BQkB5//PEst+/555/X7Nmz1atXL+3fv1/169dXenq6fvvtN5UtW1bt27d3eKzef/991alTR3Xr1tXLL7+syMhIXbhwQQcPHtTSpUv1448/OrysDFntT9nd3s6dO+u9995T586dNXbsWJUsWVLLly/XihUr7Pp+/PHHatasmZo0aaKuXbuqSJEiSk5O1t69e7V169Y7/vFy5bhKNwNGbGysypQpo4oVK2rLli36z3/+Y7eP9evXT7NmzVLz5s01ZswY691S+/bts1tmp06d9MILL6h3795q3bq14uPjNXHiRLvrCfr166eFCxfqySefVP/+/VWxYkWlp6crISFBK1eu1MCBA1W9evVM686XL5/effdd9ejRQ40aNbJ+k/fBgwe1Y8cOffjhh/Lw8NDEiRPVsWNHPf300+rZs6dSU1P1n//8R+fOndPbb7/t1Fg54tSpU3rmmWf00ksv6fz58xo5cqR8fX01dOhQSTfvinzyySf1n//8RwULFlRkZKTWrFmjmTNn2n2f1bBhw7R06VI1bNhQw4YNU968eTV9+nTrbfKuOHIn5Wx/vFf7vTPvy82bN6tHjx5q06aNjhw5omHDhqlIkSLq3bu3pJv7zgcffKAuXbooOTlZzz33nAoVKqTTp09rx44dOn36tKZNmyZJ1jubqlevrtdff10lSpTQyZMntWTJEn388ccKCAiwfuv+J598ooCAAPn6+ioqKsqpvxuOrMfVr91dZftSZBO69W6p23Xo0MGQZHe31NKlS41KlSoZvr6+RpEiRYzXXnvN+N///md3VXhycrLx3HPPGfnz5zcsFotx69DrtrulDMMwdu3aZbRo0cIICgoyvL29jUqVKtlcuW8Y/3/1+YIFC2zaM7tjZ8+ePUZMTIwREBBgFChQwGjTpo2RkJBgt25H75bavn27Ubt2bcPPz8+QZHMXyenTp42+ffsaUVFRRp48eYzg4GCjatWqxrBhw4yLFy/aje2tUlNTjYEDBxqFChUyfH19jRo1ahjr16/P9A4WR9YzZ84co379+kZoaKjh7e1thIeHG23btjV27tx5xzoM4+bdGiNGjDBKlixpeHt7GyEhIUaDBg2MdevWWfs4crdURvuLL75oFClSxMiTJ4/x0EMPGbVq1bLeAWEYzr2eWe1POdneo0ePGq1btzby5ctnBAQEGK1btzbWrVuX6fbs2LHDaNu2rVGoUCEjT548RlhYmNGgQQNj+vTpd12PI+MqyejTp4/dvLeP99mzZ43u3bsbhQoVMvz8/Iw6deoYa9eutbuzyTD+/z3g6+trBAcHG927dze+/fZbu/dqenq6MXHiRKN48eKGr6+vUa1aNePHH3/MdJkXL1403nzzTaN06dKGt7e3ERQUZFSoUMHo37+/ceLEibuOxfLly43o6GjD39/f8PPzM8qVK2dMmDDBps/ixYuN6tWrG76+voa/v7/RsGFD49dff7Xpk3G31K13JhnGzfeuv7+/3Xpvv/MzY9/77LPPjL59+xoPPfSQ4ePjY9StW9fYvHmzzbwZ+0mBAgWMgIAAo2nTpsbu3bszfY+uXbvWqF69uuHj42OEhYUZr732mjFhwgRDkvWuT8O4+bo2b9480zpvHfPM7rgxjJztj/div3fkfZnx2bty5UqjU6dORv78+Y28efMaTz31lPHHH3/YLXPNmjVG8+bNjeDgYCNPnjxGkSJFjObNm9t9fuzZs8do06aNERISYnh7exvFihUzunbtaly9etXaZ/LkyUZUVJTh6elps92O/t1wZD258drdicUwDCP70QgAHlw//fST6tevr9WrV9t9Qd/fScY4LFiw4I4XqrpC48aNdfjw4WzfTWpWsbGx6tatmzZt2pTlUX04jtNSAIBcMWDAAFWuXFlFixZVcnKy5s2bp7i4OM2cOdPdpcHkCDcAgFyRlpamESNG6MSJE7JYLCpXrpw+++wzvfDCC+4uDSbHaSkAAGAqfEMxAAAwFcINAAAwFcINAAAwlb/dBcXp6ek6fvy4AgICsvzBOgAAcH8xDEMXLlxw6Pfp/nbh5vjx43Y/owAAAB4MR44cuesPdf7twk3G10AfOXLE7iv9AQDA/SklJUVFixbN8uccbvW3CzcZp6ICAwMJNwAAPGAcuaSEC4oBAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpuDXc/Pzzz2rRooXCw8NlsVi0ePHiu86zZs0aVa1aVb6+vipevLimT5+e+4UCAIAHhlvDzaVLl1SpUiV9+OGHDvU/dOiQnnrqKdWtW1fbtm3TG2+8ob59+2rhwoW5XCkAAHhQuPW3pZo1a6ZmzZo53H/69OkqVqyYJk+eLEkqW7asNm/erHfeeUetW7fOpSoBAMCD5IG65mb9+vVq3LixTVuTJk20efNmXb9+PdN5UlNTlZKSYvMAAADm9UCFmxMnTig0NNSmLTQ0VDdu3FBSUlKm84wfP15BQUHWR9GiRe9FqQAAwE0eqHAj2f/UuWEYmbZnGDp0qM6fP299HDlyJNdrBAAA7uPWa26cFRYWphMnTti0nTp1Sl5eXgoJCcl0Hh8fH/n4+NyL8iRJka9/d8/W9aA7/HZzly2LcXecK8cd+Dvhc8Zx7v6ceaCO3NSsWVNxcXE2bStXrlS1atWUJ08eN1UFAADuJ24NNxcvXtT27du1fft2STdv9d6+fbsSEhIk3Tyl1LlzZ2v/Xr16KT4+XgMGDNDevXs1a9YszZw5U4MGDXJH+QAA4D7k1tNSmzdvVv369a3PBwwYIEnq0qWLYmNjlZiYaA06khQVFaXly5erf//++uijjxQeHq4pU6ZwGzgAALBya7ipV6+e9YLgzMTGxtq1RUdHa+vWrblYFQAAeJA9UNfcAAAA3A3hBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmIqXuwsAADgn8vXv3F3CA+Pw283dXQLcgCM3AADAVAg3AADAVAg3AADAVAg3AADAVAg3AADAVAg3AADAVNwebqZOnaqoqCj5+vqqatWqWrt27R37z5s3T5UqVZKfn58KFy6sbt266cyZM/eoWgAAcL9za7iZP3+++vXrp2HDhmnbtm2qW7eumjVrpoSEhEz7//LLL+rcubO6d++u33//XQsWLNCmTZvUo0ePe1w5AAC4X7k13EyaNEndu3dXjx49VLZsWU2ePFlFixbVtGnTMu2/YcMGRUZGqm/fvoqKilKdOnXUs2dPbd68+R5XDgAA7lduCzfXrl3Tli1b1LhxY5v2xo0ba926dZnOU6tWLR09elTLly+XYRg6efKkvv76azVvnvU3UKampiolJcXmAQAAzMtt4SYpKUlpaWkKDQ21aQ8NDdWJEycynadWrVqaN2+e2rVrJ29vb4WFhSl//vz64IMPslzP+PHjFRQUZH0ULVrUpdsBAADuL26/oNhisdg8NwzDri3Dnj171LdvX40YMUJbtmzR999/r0OHDqlXr15ZLn/o0KE6f/689XHkyBGX1g8AAO4vbvvhzIIFC8rT09PuKM2pU6fsjuZkGD9+vGrXrq3XXntNklSxYkX5+/urbt26GjNmjAoXLmw3j4+Pj3x8fFy/AQAA4L7ktiM33t7eqlq1quLi4mza4+LiVKtWrUznuXz5sjw8bEv29PSUdPOIDwAAgFtPSw0YMEAzZszQrFmztHfvXvXv318JCQnW00xDhw5V586drf1btGihRYsWadq0afrrr7/066+/qm/fvnriiScUHh7urs0AAAD3EbedlpKkdu3a6cyZMxo9erQSExNVvnx5LV++XBEREZKkxMREm++86dq1qy5cuKAPP/xQAwcOVP78+dWgQQNNmDDBXZsAAADuM24NN5LUu3dv9e7dO9NpsbGxdm2vvvqqXn311VyuCgAAPKjcfrcUAACAKxFuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqeQ43KSlpWn79u06e/asK+oBAADIEafDTb9+/TRz5kxJN4NNdHS0qlSpoqJFi+qnn35ydX0AAABOcTrcfP3116pUqZIkaenSpTp06JD27dunfv36adiwYS4vEAAAwBlOh5ukpCSFhYVJkpYvX642bdqoVKlS6t69u3bt2uXyAgEAAJzhdLgJDQ3Vnj17lJaWpu+//16NGjWSJF2+fFmenp4uLxAAAMAZXs7O0K1bN7Vt21aFCxeWxWJRTEyMJOm3335TmTJlXF4gAACAM5wON6NGjVL58uV15MgRtWnTRj4+PpIkT09Pvf766y4vEAAAwBlOhxtJeu655+zaunTpkuNiAAAAcsqhcDNlyhT985//lK+vr6ZMmXLHvn379nVJYQAAANnhULh577331LFjR/n6+uq9997Lsp/FYiHcAAAAt3Io3Bw6dCjTfwMAANxv+G0pAABgKtm6oPjo0aNasmSJEhISdO3aNZtpkyZNcklhAAAA2eF0uFm1apVatmypqKgo7d+/X+XLl9fhw4dlGIaqVKmSGzUCAAA4zOnTUkOHDtXAgQO1e/du+fr6auHChTpy5Iiio6PVpk2b3KgRAADAYU6Hm71791q/08bLy0tXrlxRvnz5NHr0aE2YMMHlBQIAADjD6XDj7++v1NRUSVJ4eLj+/PNP67SkpCTXVQYAAJANTl9zU6NGDf36668qV66cmjdvroEDB2rXrl1atGiRatSokRs1AgAAOMzpcDNp0iRdvHhR0s3fmbp48aLmz5+vEiVK3PEL/gAAAO4Fp8NN8eLFrf/28/PT1KlTXVoQAABATjh9zc2mTZv022+/2bX/9ttv2rx5s0uKAgAAyC6nw02fPn105MgRu/Zjx46pT58+Onv2rL799lslJia6pEAAAABnOH1aas+ePZl+WV/lypW1adMmtWjRQmlpaUpJSdHvv//ukiIBAAAc5XS48fHx0cmTJ22uvZGkxMRE+fj46JdfftFff/2lcuXKuaxIAAAARzl9WiomJkZDhw7V+fPnrW3nzp3T0KFD1aJFC0k3A9C0adNcVyUAAICDnD5y8+677+rJJ59URESEKleuLEnavn27QkND9fnnn0uSihQpom7durm2UgAAAAc4HW6KFCminTt3at68edqxY4fy5s2rbt266fnnn1eePHlyo0YAAACHOR1upJs/wfDPf/7T1bUAAADkWLbCzYEDB/TTTz/p1KlTSk9Pt5k2YsQIlxQGAACQHU6Hm08//VQvv/yyChYsqLCwMFksFus0i8VCuAEAAG7ldLgZM2aMxo4dqyFDhuRGPQAAADni9K3gZ8+eVZs2bXKjFgAAgBxzOty0adNGK1euzI1aAAAAcszp01IlSpTQ8OHDtWHDBlWoUMHu9u++ffu6rDgAAABnOR1uPvnkE+XLl09r1qzRmjVrbKZZLBbCDQAAcCunw82hQ4dyow4AAACXcPqaGwAAgPtZtr7E7+jRo1qyZIkSEhJ07do1m2mTJk1ySWEAAADZ4XS4WbVqlVq2bKmoqCjt379f5cuX1+HDh2UYhqpUqZIbNQIAADjM6dNSQ4cO1cCBA7V79275+vpq4cKFOnLkiKKjo/n+GwAA4HZOh5u9e/eqS5cukiQvLy9duXJF+fLl0+jRozVhwgSXFwgAAOAMp8ONv7+/UlNTJUnh4eH6888/rdOSkpJcVxkAAEA2OH3NTY0aNfTrr7+qXLlyat68uQYOHKhdu3Zp0aJFqlGjRm7UCAAA4DCnw82kSZN08eJFSdKoUaN08eJFzZ8/XyVKlNB7773n8gIBAACc4VS4SUtL05EjR1SxYkVJkp+fn6ZOnZorhQEAAGSHU9fceHp6qkmTJjp37lwulQMAAJAzTl9QXKFCBf31118uK2Dq1KmKioqSr6+vqlatqrVr196xf2pqqoYNG6aIiAj5+PjokUce0axZs1xWDwAAeLA5fc3N2LFjNWjQIP373/9W1apV5e/vbzM9MDDQ4WXNnz9f/fr109SpU1W7dm19/PHHatasmfbs2aNixYplOk/btm118uRJzZw5UyVKlNCpU6d048YNZzcDAACYlNPhpmnTppKkli1bymKxWNsNw5DFYlFaWprDy5o0aZK6d++uHj16SJImT56sFStWaNq0aRo/frxd/++//15r1qzRX3/9peDgYElSZGSks5sAAABMzOlws3r1apes+Nq1a9qyZYtef/11m/bGjRtr3bp1mc6zZMkSVatWTRMnTtRnn30mf39/tWzZUv/+97+VN29el9QFAAAebA6Fm2effVaxsbEKDAxUfHy82rVrJx8fnxytOCkpSWlpaQoNDbVpDw0N1YkTJzKd56+//tIvv/wiX19fffPNN0pKSlLv3r2VnJyc5XU3qamp1i8dlKSUlJQc1Q0AAO5vDl1QvGzZMl26dEmS1K1bN50/f95lBdx6akv6/9NbmUlPT5fFYtG8efP0xBNP6KmnntKkSZMUGxurK1euZDrP+PHjFRQUZH0ULVrUZbUDAID7j0NHbsqUKaOhQ4eqfv36MgxDX331VZYXDnfu3NmhFRcsWFCenp52R2lOnTpldzQnQ+HChVWkSBEFBQVZ28qWLSvDMHT06FGVLFnSbp6hQ4dqwIAB1ucpKSkEHAAATMyhcDN9+nQNGDBA3333nSwWi958881Mj65YLBaHw423t7eqVq2quLg4PfPMM9b2uLg4tWrVKtN5ateurQULFujixYvKly+fJOnAgQPy8PDQww8/nOk8Pj4+OT6FBgAAHhwOnZaqVauWNmzYoNOnT8swDB04cEBnz561eyQnJzu18gEDBmjGjBmaNWuW9u7dq/79+yshIUG9evWSdPOoy61hqUOHDgoJCVG3bt20Z88e/fzzz3rttdf04osvckExAACQlI27pQ4dOqSHHnrIJStv166dzpw5o9GjRysxMVHly5fX8uXLFRERIUlKTExUQkKCtX++fPkUFxenV199VdWq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ZEktXbr0HlcOAADuV24LN9euXdOWLVvUuHFjm/bGjRtr3bp1Di0jPT1dFy5cUHBwcJZ9UlNTlZKSYvMAAADm5bZwk5SUpLS0NIWGhtq0h4aG6sSJEw4t491339WlS5fUtm3bLPuMHz9eQUFB1kfRokVzVDcAALi/uf2CYovFYvPcMAy7tsx8+eWXGjVqlObPn69ChQpl2W/o0KE6f/689XHkyJEc1wwAAO5fXu5accGCBeXp6Wl3lObUqVN2R3NuN3/+fHXv3l0LFixQo0aN7tjXx8dHPj4+Oa4XAAA8GNx25Mbb21tVq1ZVXFycTXtcXJxq1aqV5Xxffvmlunbtqi+++ELNmzfP7TIBAMADxm1HbiRpwIAB6tSpk6pVq6aaNWvqk08+UUJCgnr16iXp5imlY8eOae7cuZJuBpvOnTvr/fffV40aNaxHffLmzaugoCC3bQcAALh/uDXctGvXTmfOnNHo0aOVmJio8uXLa/ny5YqIiJAkJSYm2nznzccff6wbN26oT58+6tOnj7W9S5cuio2NvdflAwCA+5Bbw40k9e7dW71798502u2B5aeffsr9ggAAwAPN7XdLAQAAuBLhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmIrbw83UqVMVFRUlX19fVa1aVWvXrr1j/zVr1qhq1ary9fVV8eLFNX369HtUKQAAeBC4NdzMnz9f/fr107Bhw7Rt2zbVrVtXzZo1U0JCQqb9Dx06pKeeekp169bVtm3b9MYbb6hv375a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++zZszOdPnLkSLfW/aC707hn3Haf2WP16tXuLv2Bdqdxv3LlivHMM88Y4eHhhre3t1G4cGGjZcuWxsaNG91d9gPvbp8zt+NWcMOwGIZh5G58AgAAuHe45gYAAJgK4QYAAJgK4QYAAJgK4QYAAJgK4QYAAJgK4QYAAJgK4QYAAJgK4QYAAJgK4QZArjhx4oReffVVFS9eXD4+PipatKhatGihVatWubs0ACbHb0sBcLnDhw+rdu3ayp8/vyZOnKiKFSvq+vXrWrFihfr06aN9+/a5u0QAJsaRGwAu17t3b1ksFm3cuFHPPfecSpUqpUcffVQDBgzQhg0bJEkJCQlq1aqV8uXLp8DAQLVt21YnT560LmPUqFF67LHHNGvWLBUrVkz58uXTyy+/rLS0NE2cOFFhYWEqVKiQxo4da7Nui8WiadOmqVmzZsqbN6+ioqK0YMECmz5DhgxRqVKl5Ofnp+LFi2v48OG6fv263bo/++wzRUZGKigoSO3bt9eFCxckSXPnzlVISIjdr123bt1anTt3dulYAnAe4QaASyUnJ+v7779Xnz595O/vbzc9f/78MgxD//jHP5ScnKw1a9YoLi5Of/75p9q1a2fT988//9T//vc/ff/99/ryyy81a9YsNW/eXEePHtWaNWs0YcIEvfnmm9bAlGH48OFq3bq1duzYoRdeeEHPP/+89u7da50eEBCg2NhY7dmzR++//74+/fRTvffee3brXrx4sZYtW6Zly5ZpzZo1evvttyVJbdq0UVpampYsWWLtn5SUpGXLlqlbt245HkMAOeTmH+4EYDK//fabIclYtGhRln1WrlxpeHp6GgkJCda233//3ZBk/RXpkSNHGn5+fkZKSoq1T5MmTYzIyEgjLS3N2la6dGlj/Pjx1ueSjF69etmsr3r16sbLL7+cZT0TJ040qlatan2e2bpfe+01o3r16tbnL7/8stGsWTPr88mTJxvFixc30tPTs1wPgHuDa24AuJRhGJJunh7Kyt69e1W0aFEVLVrU2lauXDnlz59fe/fu1eOPPy5JioyMVEBAgLVPaGioPD095eHhYdN26tQpm+XXrFnT7vn27dutz7/++mtNnjxZBw8e1MWLF3Xjxg0FBgbazHP7ugsXLmyznpdeekmPP/64jh07piJFimj27Nnq2rXrHbcbwL3BaSkALlWyZElZLBab00C3Mwwj0xBwe3uePHlsplsslkzb0tPT71pXxnI3bNig9u3bq1mzZlq2bJm2bdumYcOG6dq1azb977aeypUrq1KlSpo7d662bt2qXbt2qWvXrnetA0DuI9wAcKng4GA1adJEH330kS5dumQ3/dy5cypXrpwSEhJ05MgRa/uePXt0/vx5lS1bNsc13H4NzoYNG1SmTBlJ0q+//qqIiAgNGzZM1apVU8mSJRUfH5+t9fTo0UOzZ8/WrFmz1KhRI5sjUQDch3ADwOWmTp2qtLQ0PfHEE1q4cKH++OMP7d27V1OmTFHNmjXVqFEjVaxYUR07dtTWrVu1ceNGde7cWdHR0apWrVqO179gwQLNmjVLBw4c0MiRI7Vx40a98sorkqQSJUooISFB//3vf/Xnn39qypQp+uabb7K1no4dO+rYsWP69NNP9eKLL+a4bgCuQbgB4HJRUVHaunWr6tevr4EDB6p8+fKKiYnRqlWrNG3aNFksFi1evFgFChTQk08+qUaNGql48eKaP3++S9b/1ltv6b///a8qVqyoOXPmaN68eSpXrpwkqVWrVurfv79eeeUVPfbYY1q3bp2GDx+erfUEBgaqdevWypcvn/7xj3+4pHYAOWcxMq7+AwATsFgs+uabb+5Z2IiJiVHZsmU1ZcqUe7I+AHfH3VIAkA3JyclauXKlfvzxR3344YfuLgfALQg3AJANVapU0dmzZzVhwgSVLl3a3eUAuAWnpQAAgKlwQTEAADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADCV/wPJ0nECepCwAAAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Création du barplot\n",
"plt.bar(company_country_fr[\"number_compagny\"], company_country_fr[\"country_fr\"])\n",
"\n",
"# Ajout de titres et d'étiquettes\n",
"plt.xlabel('Company')\n",
"plt.ylabel(\"Part de clients français\")\n",
"plt.title(\"Nationalité des clients de chaque compagnie de spectacle\")\n",
"\n",
"# Affichage du barplot\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 222,
"id": "b459f81f-6d30-44fa-ad65-e85acbf12fd2",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_company</th>\n",
" <th>y_has_purchased</th>\n",
" <th>country_fr</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>0.0</td>\n",
" <td>99.833259</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10</td>\n",
" <td>1.0</td>\n",
" <td>99.935317</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11</td>\n",
" <td>0.0</td>\n",
" <td>99.486493</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>11</td>\n",
" <td>1.0</td>\n",
" <td>99.808521</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>12</td>\n",
" <td>0.0</td>\n",
" <td>0.155933</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>12</td>\n",
" <td>1.0</td>\n",
" <td>0.079799</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>13</td>\n",
" <td>0.0</td>\n",
" <td>82.894264</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>13</td>\n",
" <td>1.0</td>\n",
" <td>94.744832</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>14</td>\n",
" <td>0.0</td>\n",
" <td>99.238475</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>14</td>\n",
" <td>1.0</td>\n",
" <td>99.032154</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_company y_has_purchased country_fr\n",
"0 10 0.0 99.833259\n",
"1 10 1.0 99.935317\n",
"2 11 0.0 99.486493\n",
"3 11 1.0 99.808521\n",
"4 12 0.0 0.155933\n",
"5 12 1.0 0.079799\n",
"6 13 0.0 82.894264\n",
"7 13 1.0 94.744832\n",
"8 14 0.0 99.238475\n",
"9 14 1.0 99.032154"
]
},
"execution_count": 222,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 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": 223,
"id": "4a037b48-1d65-4ed3-a012-7d6f5a312533",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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jRopNDRUixcvtv5V8tdff9Wzzz4rPz8/OTs7K1euXPrwww919uxZnTp1ymZZpUqVUuHChe+rnpUrV8rHx0dNmjSxab/9nuwDBw7ozz//tD7HdfPmTetPgwYNdOLECZvb5W63ePFiubu7q3PnzvdV7/Xr17VixQo999xz8vT0TFPH9evX09zedvu2lSpVSpLSvQXqdhUqVNCFCxf04osv6scff9SZM2fuq/5ULVq0SLd9ypQpKleunNzd3eXi4qJcuXJpxYoV2rt3b5q+DRs2lLOzs/X17dv1119/6eDBg3r55Zfl7u6eYS03b97UsGHDVLx4cbm6usrFxUWurq7av39/uuu9VYUKFRQbG6shQ4Zo48aNGd5mdauEhARt2bJFzZs3t6nLx8dHjRs3tum7cOFCWSwWvfTSSzbvdWhoqEqXLm29taxgwYLy9/fXu+++qylTptzxiuGt1q9fr0uXLqlbt24ZPnexb98+HT9+XO3atZOT0/99fHl7e6tFixbauHFjmtu5GjVqZPO6WLFislgsql+/vrXNxcVFBQsWTPc4bNOmjU09ERERqlKlilauXGltu3LlivWKlouLi1xcXOTt7a2EhASb92316tV65plnrFeoJMnJyUmtWrVKd3vLlCljvSIuSe7u7ipcuPAdf1/MnB8qVKigxYsXq1+/flq1apWuXbuW4XJvtXLlStWqVct6rpQkZ2fnNFfPly5dqps3b6p9+/Y2dbi7uys6OvquIw2aqe/251pTz5up75O9x689x+Hd7NixQ02aNFFgYKD1s6N9+/ZKTk7WX3/9dV/rud99evz4cUlScHCw6e1K71x5P+esVOl9Lly/fj3N5+yt7DnP2Pue2yN1f2X2yL54+BGk8Mj66quvtGXLFu3YsUPHjx/Xrl27VLVqVUnS5s2bVadOHUnS559/rnXr1mnLli0aMGCAJKX5QE+9peN+nD171uY/JqlCQ0NtXqfectWnTx/lypXL5qdbt26SdMeQcfr0aYWHh9v8R/Re671586bGjx+fpo4GDRqkW0dgYKDNazc3N0lp92d62rVrpy+//FKHDx9WixYtFBwcrIoVK2r58uX3tR3pvXejR4/W66+/rooVK+r777/Xxo0btWXLFtWrVy/dWu+2Xam3Cj722GN3rKVXr1764IMP1KxZM/3000/atGmTtmzZotKlS991H82d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6mE5pq5751N81U8VlTdI7ncLUuFl7zwdgCTp+vXrio+PV1RUlNzd+UsdgMxlbzZw2CtSUVFRCg0N1fLly61BKikpSatXr9bIkSMlSU8++aRy5cql5cuXq1WrVpL+vVf/999/16hRo7KtdgAAADiWHPcHxRENs7uER162BqkrV67owIED1tfx8fGKi4tTQECA8ufPr549e2rYsGEqVKiQChUqpGHDhsnT01Nt2vz7l2g/Pz+9/PLL6t27twIDAxUQEKA+ffqoZMmS1lH8AAAAgBznYbnF3YyH7I6fbA1SW7duVc2aNa2vU59b6tChg2JjY9W3b19du3ZN3bp1s34h77Jly+Tj42OdZ8yYMXJxcVGrVq2sX8gbGxt73w8rAwAAAEBGsjVI1ahRI833h9zKYrEoJiZGMTExGfZxd3fX+PHjNX78+CyoEAAAAADSctjvkQIAAAAAR0WQAgAAAACTCFIAAAAAYBJBCgAAAABMIkgBAPCIS0pK0rBhw7R3797sLgUAHhoEKQBAloiJiVGZMmWybf2rVq2SxWLRhQsXsq2Ge9GxY0c1a9bsga6zT58+2r17t4oWLXrXvplR38P63gDArbJ1+HMAeKRNrfFg1/eQfdGhJB06dEhRUVHasWNHtoayzBATE6P58+crLi4uu0ux8f333+v333/XkiVLZLFY7tr/s88+u+NXlwDAo4IrUgAAZCApKSm7S8hyLVq00K+//ipXV9c79ktOTlZKSor8/PyUO3fuB1McADgwghQAIF1LlizR008/rdy5cyswMFCNGjXSwYMHbfr8888/at26tQICAuTl5aXy5ctr06ZNNn1mzpypyMhI+fn5qXXr1rp8+bLd64iKipIklS1bVhaLRTVq1Miw3kWLFqlw4cLy8PBQzZo1dejQIZvp6d1qOHbsWEVGRlpfp962Nnz4cIWHh6tw4cKSpK+//lrly5eXj4+PQkND1aZNG506dco6X+qtaitWrFD58uXl6empKlWqaN++fZKk2NhYDRo0SDt37pTFYpHFYlFsbGyG23Ire96H29WoUUPdu3dX9+7drfO9//77NleSkpKS1LdvX+XNm1deXl6qWLGiVq1aZZ0eGxur3Llza+HChSpevLjc3Nx0+PDhNLf2JSYmqkePHgoODpa7u7uefvppbdmyxaaeu703krR+/XpVr15dHh4eypcvn3r06KGEhAS79hEAZAeCFAAgXQkJCerVq5e2bNmiFStWyMnJSc8995xSUlIkSVeuXFF0dLSOHz+uBQsWaOfOnerbt691uiQdPHhQ8+fP18KFC7Vw4UKtXr1aI0aMsHsdmzdvliT98ssvOnHihObNm5durUePHlXz5s3VoEEDxcXF6ZVXXlG/fv3uabtXrFihvXv3avny5Vq4cKGkf0PH4MGDtXPnTs2fP1/x8fHq2LFjmnkHDBigTz/9VFu3bpWLi4s6d+4sSXrhhRfUu3dvPfHEEzpx4oROnDihF154wa567raPMjJjxgy5uLho06ZNGjdunMaMGaMvvvjCOr1Tp05at26d5syZo127dqlly5aqV6+e9u/fb+1z9epVDR8+XF988YX27Nmj4ODgNOvp27evvv/+e82YMUPbt29XwYIFVbduXZ07d06Sfe/N7t27VbduXTVv3ly7du3S3LlztXbtWnXv3t2ufQQA2YFnpAAA6WrRooXN62nTpik4OFh//PGHSpQooVmzZun06dPasmWLAgICJEkFCxa0mSclJUWxsbHy8fGRJLVr104rVqzQ0KFD7VpHUFCQJCkwMFChoaEZ1jp58mQVKFBAY8aMkcViUZEiRbR7926NHDnS9HZ7eXnpiy++sLnVLTUQSVKBAgU0btw4VahQQVeuXJG3t7d12tChQxUdHS1J6tevnxo2bKjr16/Lw8ND3t7ecnFxueN2pOdu+ygj+fLlS7M/xowZo1dffVUHDx7U7Nmz9c8//yg8PFzSvwNOLFmyRNOnT9ewYcMkSTdu3NCkSZNUunTpdNeRkJCgyZMnKzY2VvXr15ckff7551q+fLmmTZumd955x6735uOPP1abNm3Us2dPSVKhQoU0btw4RUdHa/LkyXJ3dze1zwDgQeCKFAAgXQcPHlSbNm1UoEAB+fr6Wm+zO3LkiCQpLi5OZcuWtYao9ERGRlpDlCSFhYXZ3BJ3t3XYa+/evapUqZLNYAmVK1c2tYxUJUuWTPO80I4dO9S0aVNFRETIx8fHeovh7XWWKlXK+u+wsDBJstnee3Gv+yi9/bF//34lJydr+/btMgxDhQsXlre3t/Vn9erVNrcNurq62mxTerXduHFDVatWtbblypVLFSpUsA6lbs97s23bNsXGxtrUUrduXaWkpCg+Pt6OvQQADx5XpAAA6WrcuLHy5cunzz//XOHh4UpJSVGJEiWsAzB4eHjcdRm5cuWyeW2xWGxuSbvbOuxlzyhyTk5OafrduHEjTT8vLy+b1wkJCapTp47q1Kmjr7/+WkFBQTpy5Ijq1q2bps5btzc1ONztFry7yax9dKuUlBQ5Oztr27ZtcnZ2tpl26xU2Dw+PO47kl7o/b+9jGIa1zZ73JiUlRV26dFGPHj3STMufP/9d5weA7ECQAgCkcfbsWe3du1f/+c9/VK1aNUnS2rVrbfqUKlVKX3zxhc6dO3fHq1L3s47UK0PJycl3XFbx4sU1f/58m7aNGzfavA4KCtLJkydt/pNvz1Dkf/75p86cOaMRI0YoX758kqStW7fedb7bubq63nU7bmfPPsrI7du/ceNGFSpUSM7OzipbtqySk5N16tQp63LvRcGCBeXq6qq1a9eqTZs2kv4Np1u3brXepmfPe1OuXDnt2bMnza2hAODIuLUPAJCGv7+/AgMDNXXqVB04cEC//vqrevXqZdPnxRdfVGhoqJo1a6Z169bp77//1vfff68NGzZk2jqCg4Pl4eGhJUuW6H//+58uXkz/u7C6du2qgwcPqlevXtq3b59mzZqVZlS8GjVq6PTp0xo1apQOHjyoiRMnavHixXetM3/+/HJ1ddX48eP1999/a8GCBRo8eLBd23iryMhIxcfHKy4uTmfOnFFiYuJd57FnH2Xk6NGj1v0xe/ZsjR8/Xm+99ZYkqXDhwmrbtq3at2+vefPmKT4+Xlu2bNHIkSO1aNEiu7fJy8tLr7/+ut555x0tWbJEf/zxh1599VVdvXpVL7/8siT73pt3331XGzZs0BtvvKG4uDjt379fCxYs0Jtvvml3LQDwoBGkAABpODk5ac6cOdq2bZtKlCiht99+Wx9//LFNH1dXVy1btkzBwcFq0KCBSpYsqREjRqS5Vex+1uHi4qJx48bpP//5j8LDw9W0adN0l5U/f359//33+umnn1S6dGlNmTLFOmBCqmLFimnSpEmaOHGiSpcurc2bN6tPnz53rTMoKEixsbH69ttvVbx4cY0YMUKffPKJXdt4qxYtWqhevXqqWbOmgoKCNHv27LvOY88+ykj79u117do1VahQQW+88YbefPNNvfbaa9bp06dPV/v27dW7d28VKVJETZo00aZNm6xX3ew1YsQItWjRQu3atVO5cuV04MABLV26VP7+/pLse29KlSql1atXa//+/apWrZrKli2rDz74wPqcGQA4IovB15Pr0qVL8vPz08WLF+Xr65vd5Siy38/ZXUKmO+TeJrtLyFwx6f9V3JHltOPqYTmmrnvnU3zVTxWVN0juLhk/ayJJCi/7YIpCjlejRg2VKVNGY8eOze5SssT169cVHx+vqKioh2NEvxi/7K4g8/E5mO0els9BUxzkuLI3G3BFCgAAAABMIkgBAAAAgEmM2gcAQA6zatWq7C4BAHI8rkgBAAAAgEkEKQAAAAAwiSAFAFnp/w+MyvioQOZhwGEAjoAgBQBZKFfiOSk5SVdvZHclQM6RlJQkSXZ/ZxkAZAUGmwCALOR886pyH16sU67PS8otz1ySJaOvk7p+/UGWBjyUUlJSdPr0aXl6esrFhf/GAMg+nIEAIIuF7p8lSToVUV9yds24Y0L8A6oIeLg5OTkpf/78smT4VwkAyHoEKQDIYhYZCtv/jYL/nqcb7oEZX5LqvvXBFgY8pFxdXeXkxNMJALIXQQoAHhDn5GtyTvgn4w7u7g+uGAAAcF/4cw4AAAAAmESQAgAAAACTCFIAAAAAYBJBCgAAAABMIkgBAAAAgEkEKQAAAAAwiSAFAAAAACYRpAAAAADAJIIUAAAAAJhEkAIAAAAAkwhSAAAAAGASQQoAAAAATCJIAQAAAIBJBCkAAAAAMIkgBQAAAAAmEaQAAAAAwCSCFAAAAACYRJACAAAAAJMIUgAAAABgEkEKAAAAAEwiSAEAAACASQQpAAAAADCJIAUAAAAAJhGkAAAAAMAkghQAAAAAmESQAgAAAACTCFIAAAAAYBJBCgAAAABMIkgBAAAAgEkEKQAAAAAwiSAFAAAAACYRpAAAAADAJIIUAAAAAJhEkAIAAAAAkwhSAAAAAGASQQoAAAAATCJIAQAAAIBJBCkAAAAAMIkgBQAAAAAmEaQAAAAAwCSX7C4AAADgVpH9fs7uEjLVIffsrgBAVuCKFAAAAACYRJACAAAAAJMIUgAAAABgEkEKAAAAAEwiSAEAAACASQQpAAAAADCJIAUAAAAAJhGkAAAAAMAkhw5SN2/e1Pvvv6+oqCh5eHioQIEC+uijj5SSkmLtYxiGYmJiFB4eLg8PD9WoUUN79uzJxqoBAAAA5HQOHaRGjhypKVOmaMKECdq7d69GjRqljz/+WOPHj7f2GTVqlEaPHq0JEyZoy5YtCg0NVe3atXX58uVsrBwAAABATubQQWrDhg1q2rSpGjZsqMjISD3//POqU6eOtm7dKunfq1Fjx47VgAED1Lx5c5UoUUIzZszQ1atXNWvWrGyuHgAAAEBO5dBB6umnn9aKFSv0119/SZJ27typtWvXqkGDBpKk+Ph4nTx5UnXq1LHO4+bmpujoaK1fvz7D5SYmJurSpUs2PwAAAABgL5fsLuBO3n33XV28eFFFixaVs7OzkpOTNXToUL344ouSpJMnT0qSQkJCbOYLCQnR4cOHM1zu8OHDNWjQoKwrHAAAAECO5tBXpObOnauvv/5as2bN0vbt2zVjxgx98sknmjFjhk0/i8Vi89owjDRtt+rfv78uXrxo/Tl69GiW1A8AAAAgZ3LoK1LvvPOO+vXrp9atW0uSSpYsqcOHD2v48OHq0KGDQkNDJf17ZSosLMw636lTp9JcpbqVm5ub3NzcsrZ4AAAAADmWQ1+Runr1qpycbEt0dna2Dn8eFRWl0NBQLV++3Do9KSlJq1evVpUqVR5orQAAAAAeHQ59Rapx48YaOnSo8ufPryeeeEI7duzQ6NGj1blzZ0n/3tLXs2dPDRs2TIUKFVKhQoU0bNgweXp6qk2bNtlcPQAAAICcyqGD1Pjx4/XBBx+oW7duOnXqlMLDw9WlSxd9+OGH1j59+/bVtWvX1K1bN50/f14VK1bUsmXL5OPjk42VAwAAAMjJHDpI+fj4aOzYsRo7dmyGfSwWi2JiYhQTE/PA6gIAAADwaHPoZ6QAAAAAwBERpAAAAADAJIIUAAAAAJhEkAIAAAAAkwhSAAAAAGASQQoAAAAATCJIAQAAAIBJBCkAAAAAMIkgBQAAAAAmEaQAAAAAwCSCFAAAAACYRJACAAAAAJMIUgAAAABgEkEKAAAAAEwiSAEAAACASQQpAAAAADCJIAUAAAAAJhGkAAAAAMAkghQAAAAAmESQAgAAAACTCFIAAAAAYBJBCgAAAABMuq8glZiYmFl1AAAAAMBDw1SQWrp0qTp27KjHH39cuXLlkqenp3x8fBQdHa2hQ4fq+PHjWVUnAAAAADgMu4LU/PnzVaRIEXXo0EFOTk565513NG/ePC1dulTTpk1TdHS0fvnlFxUoUEBdu3bV6dOns7puAAAAAMg2LvZ0GjZsmD755BM1bNhQTk5ps1erVq0kSceOHdNnn32mr776Sr17987cSgEAAADAQdgVpDZv3mzXwvLmzatRo0bdV0EAAAAA4Ojue9S+K1eu6NKlS5lRCwAAAAA8FO45SP3xxx8qX768fH195e/vr5IlS2rr1q2ZWRsAAAAAOKR7DlJdunRR9+7ddeXKFZ09e1bNmzdXhw4dMrM2AAAAAHBIdgeppk2b6tixY9bXp0+fVpMmTeTp6ancuXOrQYMG+t///pclRQIAAACAI7E7SLVt21Y1a9bUuHHjZBiGunfvrieeeEKtW7dWixYtVK9ePfXs2TMLSwUAAAAAx2B3kGrVqpU2b96sPXv2qGLFiqpataqWLVumqlWrqlq1alq2bJnef//9rKwVAAAAAByCXcOfp8qdO7f+85//aO3aterQoYNq166twYMHy9PTM6vqAwAAAACHY2qwifPnz2vbtm0qWbKktm3bJh8fH5UtW1Y///xzVtUHAAAAAA7H7iA1d+5c5c2bVw0bNlRERIQWL16smJgY/fjjjxo1apRatWrFYBMAAAAAHgl2B6l3331XX375pU6ePKkVK1bogw8+kCQVLVpUq1ev1rPPPqvKlStnWaEAAAAA4CjsDlKXL19WkSJFJEmPP/64rl69ajP9tdde08aNGzO3OgAAAABwQHYPNtGhQwc1bNhQNWrU0NatW9WuXbs0fYKDgzO1OAAAAABwRHYHqdGjR6tmzZr6888/1bFjR9WpUycr6wIAAAAAh2Vq+PPGjRurcePGWVULAAAAADwU7HpGas6cOXYv8OjRo1q3bt09FwQAAAAAjs6uIDV58mQVLVpUI0eO1N69e9NMv3jxohYtWqQ2bdroySef1Llz5zK9UAAAAABwFHbd2rd69WotXLhQ48eP13vvvScvLy+FhITI3d1d58+f18mTJxUUFKROnTrp999/Z9AJAAAAADma3c9INWrUSI0aNdLZs2e1du1aHTp0SNeuXVOePHlUtmxZlS1bVk5Odo+mDgAAAAAPLVODTUhSYGCgmjZtmhW1AAAAAMBDgUtIAAAAAGASQQoAAAAATCJIAQAAAIBJBCkAAAAAMOm+g1RycrLi4uJ0/vz5zKgHAAAAABye6SDVs2dPTZs2TdK/ISo6OlrlypVTvnz5tGrVqsyuDwAAAAAcjukg9d1336l06dKSpJ9++knx8fH6888/1bNnTw0YMCDTCwQAAAAAR2M6SJ05c0ahoaGSpEWLFqlly5YqXLiwXn75Ze3evTvTCwQAAAAAR2M6SIWEhOiPP/5QcnKylixZomeffVaSdPXqVTk7O2d6gQAAAADgaFzMztCpUye1atVKYWFhslgsql27tiRp06ZNKlq0aKYXCAAAAACOxnSQiomJUYkSJXT06FG1bNlSbm5ukiRnZ2f169cv0wsEAAAAAEdjOkhJ0vPPP5+mrUOHDvddDAAAAAA8DOwKUuPGjdNrr70md3d3jRs37o59e/TokSmFAQAAAICjsitIjRkzRm3btpW7u7vGjBmTYT+LxUKQAgAAAJDj2RWk4uPj0/03AAAAADyKTA9/DgAAAACPunsabOKff/7RggULdOTIESUlJdlMGz16dKYUBgAAAACOynSQWrFihZo0aaKoqCjt27dPJUqU0KFDh2QYhsqVK5cVNQIAAACAQzF9a1///v3Vu3dv/f7773J3d9f333+vo0ePKjo6Wi1btsyKGgEAAADAoZgOUnv37rV+Z5SLi4uuXbsmb29vffTRRxo5cmSmFwgAAAAAjsZ0kPLy8lJiYqIkKTw8XAcPHrROO3PmTOZVBgAAAAAOyvQzUpUqVdK6detUvHhxNWzYUL1799bu3bs1b948VapUKStqBAAAAACHYjpIjR49WleuXJEkxcTE6MqVK5o7d64KFix4xy/rBQAAAICcwnSQKlCggPXfnp6emjRpUqYWBAAAAACOzvQzUlu2bNGmTZvStG/atElbt27NlKIAAAAAwJGZDlJvvPGGjh49mqb92LFjeuONN3T+/Hn9+OOPOnHiRKYUCAAAAACOxvStfX/88Ue6X7xbtmxZbdmyRY0bN1ZycrIuXbqkPXv2ZEqRAAAAAOBITAcpNzc3/e9//7N5VkqSTpw4ITc3N61du1Z///23ihcvnmlFAgAAAIAjMX1rX+3atdW/f39dvHjR2nbhwgX1799fjRs3lvRv2Jo8eXLmVQkAAAAADsT0FalPP/1U1atXV0REhMqWLStJiouLU0hIiL7++mtJUt68edWpU6fMrRQAAAAAHITpIJU3b17t2rVL33zzjXbu3CkPDw916tRJL774onLlypUVNQIAAACAQzF9a58keXl56bXXXtPEiRP1ySefqH379lkWoo4dO6aXXnpJgYGB8vT0VJkyZbRt2zbrdMMwFBMTo/DwcHl4eKhGjRoMcgEAAAAgS5m+IiVJf/31l1atWqVTp04pJSXFZtqHH36YKYVJ0vnz51W1alXVrFlTixcvVnBwsA4ePKjcuXNb+4waNUqjR49WbGysChcurCFDhqh27drat2+ffHx8Mq0WAAAAAEhlOkh9/vnnev3115UnTx6FhobKYrFYp1kslkwNUiNHjlS+fPk0ffp0a1tkZKT134ZhaOzYsRowYICaN28uSZoxY4ZCQkI0a9YsdenSJdNqAQAAAIBUpm/tGzJkiIYOHaqTJ08qLi5OO3bssP5s3749U4tbsGCBypcvr5YtWyo4OFhly5bV559/bp0eHx+vkydPqk6dOtY2Nzc3RUdHa/369RkuNzExUZcuXbL5AQAAAAB7mQ5S58+fV8uWLbOiljT+/vtvTZ48WYUKFdLSpUvVtWtX9ejRQ1999ZUk6eTJk5KkkJAQm/lCQkKs09IzfPhw+fn5WX/y5cuXdRsBAAAAIMcxHaRatmypZcuWZUUtaaSkpKhcuXIaNmyYypYtqy5duujVV19N8x1Vt95eKP17y9/tbbdK/R6s1J+jR49mSf0AAAAAcibTz0gVLFhQH3zwgTZu3KiSJUumGa2vR48emVZcWFiYihcvbtNWrFgxff/995Kk0NBQSf9emQoLC7P2OXXqVJqrVLdyc3OTm5tbptUJAAAA4NFiOkhNnTpV3t7eWr16tVavXm0zzWKxZGqQqlq1qvbt22fT9tdffykiIkKSFBUVpdDQUC1fvtz65cBJSUlavXq1Ro4cmWl1AAAAAMCtTAep+Pj4rKgjXW+//baqVKmiYcOGqVWrVtq8ebOmTp2qqVOnSvo3uPXs2VPDhg1ToUKFVKhQIQ0bNkyenp5q06bNA6sTAAAAwKPlnr5H6kF56qmn9MMPP6h///766KOPFBUVpbFjx6pt27bWPn379tW1a9fUrVs3nT9/XhUrVtSyZcv4DikAAAAAWeaegtQ///yjBQsW6MiRI0pKSrKZNnr06EwpLFWjRo3UqFGjDKdbLBbFxMQoJiYmU9cLAAAAABkxHaRWrFihJk2aKCoqSvv27VOJEiV06NAhGYahcuXKZUWNAAAAAOBQTA9/3r9/f/Xu3Vu///673N3d9f333+vo0aOKjo5+YN8vBQAAAADZyXSQ2rt3rzp06CBJcnFx0bVr1+Tt7a2PPvqIkfIAAAAAPBJMBykvLy8lJiZKksLDw3Xw4EHrtDNnzmReZQAAAADgoEw/I1WpUiWtW7dOxYsXV8OGDdW7d2/t3r1b8+bNU6VKlbKiRgAAAABwKKaD1OjRo3XlyhVJUkxMjK5cuaK5c+eqYMGCGjNmTKYXCAAAAACOxlSQSk5O1tGjR1WqVClJkqenpyZNmpQlhQEAAACAozL1jJSzs7Pq1q2rCxcuZFE5AAAAAOD4TA82UbJkSf39999ZUQsAAAAAPBRMB6mhQ4eqT58+WrhwoU6cOKFLly7Z/AAAAABATmd6sIl69epJkpo0aSKLxWJtNwxDFotFycnJmVcdAAAAADgg00Fq5cqVWVEHAAAAADw07ApSzZs3V2xsrHx9fXX48GG98MILcnNzy+raAAAAAMAh2fWM1MKFC5WQkCBJ6tSpky5evJilRQEAAACAI7PrilTRokXVv39/1axZU4Zh6L///a98fX3T7du+fftMLRAAAAAAHI1dQWrKlCnq1auXfv75Z1ksFr3//vs2A02kslgsBCkAAAAAOZ5dQapKlSrauHGjJMnJyUl//fWXgoODs7QwAAAAAHBUpr9HKj4+XkFBQVlRCwAAAAA8FEwPfx4REZEVdQAAAADAQ8P0FSkAAAAAeNQRpAAAAADAJIIUAAAAAJhkOkhdu3ZNV69etb4+fPiwxo4dq2XLlmVqYQAAAADgqEwHqaZNm+qrr76SJF24cEEVK1bUp59+qqZNm2ry5MmZXiAAAAAAOBrTQWr79u2qVq2aJOm7775TSEiIDh8+rK+++krjxo3L9AIBAAAAwNGYDlJXr16Vj4+PJGnZsmVq3ry5nJycVKlSJR0+fDjTCwQAAAAAR2M6SBUsWFDz58/X0aNHtXTpUtWpU0eSdOrUKfn6+mZ6gQAAAADgaEwHqQ8//FB9+vRRZGSkKlasqMqVK0v69+pU2bJlM71AAAAAAHA0LmZneP755/X000/rxIkTKl26tLW9Vq1aat68eaYWBwAAAACOyPQVqc6dO8vLy0tly5aVk9P/zf7EE09o5MiRmVocAAAAADgi00FqxowZunbtWpr2a9euWYdFBwAAAICczO5b+y5duiTDMGQYhi5fvix3d3frtOTkZC1atEjBwcFZUiQAAAAAOBK7g1Tu3LllsVhksVhUuHDhNNMtFosGDRqUqcUBAAAAgCOyO0itXLlShmHomWee0ffff6+AgADrNFdXV0VERCg8PDxLigQAAAAAR2J3kIqOjpYkxcfHK1++fDYDTQAAAADAo8T08OcRERG6cOGCNm/erFOnTiklJcVmevv27TOtOAAAAABwRKaD1E8//aS2bdsqISFBPj4+slgs1mkWi4UgBQAAACDHM31/Xu/evdW5c2ddvnxZFy5c0Pnz560/586dy4oaAQAAAMChmA5Sx44dU48ePeTp6ZkV9QAAAACAwzMdpOrWrautW7dmRS0AAAAA8FAw/YxUw4YN9c477+iPP/5QyZIllStXLpvpTZo0ybTiAAAAAMARmQ5Sr776qiTpo48+SjPNYrEoOTn5/qsCAAAAAAdmOkjdPtw5AAAAADxq7utbda9fv55ZdQAAAADAQ8N0kEpOTtbgwYOVN29eeXt76++//5YkffDBB5o2bVqmFwgAAAAAjsZ0kBo6dKhiY2M1atQoubq6WttLliypL774IlOLAwAAAABHZDpIffXVV5o6daratm0rZ2dna3upUqX0559/ZmpxAAAAAOCI7ukLeQsWLJimPSUlRTdu3MiUogAAAADAkZkOUk888YTWrFmTpv3bb79V2bJlM6UoAAAAAHBkpoc/HzhwoNq1a6djx44pJSVF8+bN0759+/TVV19p4cKFWVEjAAAAADgU01ekGjdurLlz52rRokWyWCz68MMPtXfvXv3000+qXbt2VtQIAAAAAA7F9BUpSapbt67q1q2b2bUAAAAAwEPhvr6QFwAAAAAeRXZdkQoICNBff/2lPHnyyN/fXxaLJcO+586dy7TiAAAAAMAR2RWkxowZIx8fH0nS2LFjs7IeAAAAAHB4dgWpDh06pPtvAAAAAHgU2RWkLl26ZPcCfX1977kYAAAAAHgY2BWkcufOfcfnoiTJMAxZLBYlJydnSmEAAAAA4KjsClIrV67M6joAAAAA4KFhV5CKjo7O6joAAAAA4KFh+nukpk+frm+//TZN+7fffqsZM2ZkSlEAAAAA4MhMB6kRI0YoT548adqDg4M1bNiwTCkKAAAAAByZ6SB1+PBhRUVFpWmPiIjQkSNHMqUoAAAAAHBkpoNUcHCwdu3alaZ9586dCgwMzJSiAAAAAMCRmQ5SrVu3Vo8ePbRy5UolJycrOTlZv/76q9566y21bt06K2oEAAAAAIdi16h9txoyZIgOHz6sWrVqycXl39lTUlLUvn17npECAAAA8EgwHaRcXV01d+5cDRkyRHFxcfLw8FDJkiUVERGRFfUBAAAAgMMxHaRSFSpUSIUKFcrMWgAAAADgoWD6GSkAAAAAeNQRpAAAAADAJIIUAAAAAJhEkAIAAAAAk+4pSK1Zs0YvvfSSKleurGPHjkmSZs6cqbVr12ZqcQAAAADgiEwHqe+//15169aVh4eHduzYocTEREnS5cuX+R4pAAAAAI8E00FqyJAhmjJlij7//HPlypXL2l6lShVt3749U4sDAAAAAEdkOkjt27dP1atXT9Pu6+urCxcuZEZNAAAAAODQTAepsLAwHThwIE372rVrVaBAgUwpCgAAAAAcmekg1aVLF7311lvatGmTLBaLjh8/rm+++UZ9+vRRt27dsqJGq+HDh8tisahnz57WNsMwFBMTo/DwcHl4eKhGjRras2dPltYBAAAA4NHmYnaGvn376uLFi6pZs6auX7+u6tWry83NTX369FH37t2zokZJ0pYtWzR16lSVKlXKpn3UqFEaPXq0YmNjVbhwYQ0ZMkS1a9fWvn375OPjk2X1AAAAAHh03dPw50OHDtWZM2e0efNmbdy4UadPn9bgwYMzuzarK1euqG3btvr888/l7+9vbTcMQ2PHjtWAAQPUvHlzlShRQjNmzNDVq1c1a9asLKsHAAAAwKPtnr+Q19PTU+XLl1eFChXk7e2dmTWl8cYbb6hhw4Z69tlnbdrj4+N18uRJ1alTx9rm5uam6OhorV+/PsPlJSYm6tKlSzY/AAAAAGAvu27ta968ud0LnDdv3j0Xk545c+Zo+/bt2rJlS5ppJ0+elCSFhITYtIeEhOjw4cMZLnP48OEaNGhQptYJAAAA4NFh1xUpPz8/64+vr69WrFihrVu3Wqdv27ZNK1askJ+fX6YWd/ToUb311lv6+uuv5e7unmE/i8Vi89owjDRtt+rfv78uXrxo/Tl69Gim1QwAAAAg57PritT06dOt/3733XfVqlUrTZkyRc7OzpKk5ORkdevWTb6+vpla3LZt23Tq1Ck9+eST1rbk5GT99ttvmjBhgvbt2yfp3ytTYWFh1j6nTp1Kc5XqVm5ubnJzc8vUWgEAAAA8Okw/I/Xll1+qT58+1hAlSc7OzurVq5e+/PLLTC2uVq1a2r17t+Li4qw/5cuXV9u2bRUXF6cCBQooNDRUy5cvt86TlJSk1atXq0qVKplaCwAAAACkMj38+c2bN7V3714VKVLEpn3v3r1KSUnJtMIkycfHRyVKlLBp8/LyUmBgoLW9Z8+eGjZsmAoVKqRChQpp2LBh8vT0VJs2bTK1FgAAAABIZTpIderUSZ07d9aBAwdUqVIlSdLGjRs1YsQIderUKdMLvJu+ffvq2rVr6tatm86fP6+KFStq2bJlfIcUAAAAgCxjOkh98sknCg0N1ZgxY3TixAlJUlhYmPr27avevXtneoG3W7Vqlc1ri8WimJgYxcTEZPm6AQAAAEC6hyDl5OSkvn37qm/fvtbvX8rsQSYAAAAAwJGZDlK3IkABAAAAeBSZHrUPAAAAAB51BCkAAAAAMIkgBQAAAAAmmQ5SX331lRITE9O0JyUl6auvvsqUogAAAADAkZkOUp06ddLFixfTtF++fDlbvkcKAAAAAB4000HKMAxZLJY07f/884/8/PwypSgAAAAAcGR2D39etmxZWSwWWSwW1apVSy4u/zdrcnKy4uPjVa9evSwpEgAAAAAcid1BqlmzZpKkuLg41a1bV97e3tZprq6uioyMVIsWLTK9QAAAAABwNHYHqYEDByo5OVkRERGqW7euwsLCsrIuAAAAAHBYpp6RcnZ2VteuXXX9+vWsqgcAAAAAHJ7pwSZKliypv//+OytqAQAAAICHgukgNXToUPXp00cLFy7UiRMndOnSJZsfAAAAAMjp7H5GKlXqyHxNmjSxGQY9dVj05OTkzKsOAAAAAByQ6SC1cuXKrKgDAAAAAB4apoNUdHR0VtQBAAAAAA8N00Eq1dWrV3XkyBElJSXZtJcqVeq+iwIAAAAAR2Y6SJ0+fVqdOnXS4sWL053OM1IAAAAAcjrTo/b17NlT58+f18aNG+Xh4aElS5ZoxowZKlSokBYsWJAVNQIAAACAQzF9RerXX3/Vjz/+qKeeekpOTk6KiIhQ7dq15evrq+HDh6thw4ZZUScAAAAAOAzTV6QSEhIUHBwsSQoICNDp06cl/ftFvdu3b8/c6gAAAADAAZkOUkWKFNG+ffskSWXKlNF//vMfHTt2TFOmTFFYWFimFwgAAAAAjsb0rX09e/bU8ePHJUkDBw5U3bp19c0338jV1VWxsbGZXR8AAAAAOBzTQapt27bWf5ctW1aHDh3Sn3/+qfz58ytPnjyZWhwAAAAAOCK7b+27evWq3njjDeXNm1fBwcFq06aNzpw5I09PT5UrV44QBQAAAOCRYXeQGjhwoGJjY9WwYUO1bt1ay5cv1+uvv56VtQEAAACAQ7L71r558+Zp2rRpat26tSTppZdeUtWqVZWcnCxnZ+csKxAAAAAAHI3dV6SOHj2qatWqWV9XqFBBLi4u1oEnAAAAAOBRYXeQSk5Olqurq02bi4uLbt68melFAQAAAIAjs/vWPsMw1LFjR7m5uVnbrl+/rq5du8rLy8vaNm/evMytEAAAAAAcjN1BqkOHDmnaXnrppUwtBgAAAAAeBnYHqenTp2dlHQAAAADw0LD7GSkAAAAAwL8IUgAAAABgEkEKAAAAAEwiSAEAAACASQQpAAAAADCJIAUAAAAAJhGkAAAAAMAkghQAAAAAmESQAgAAAACTCFIAAAAAYBJBCgAAAABMIkgBAAAAgEkEKQAAAAAwiSAFAAAAACYRpAAAAADAJIIUAAAAAJhEkAIAAAAAkwhSAAAAAGASQQoAAAAATCJIAQAAAIBJBCkAAAAAMIkgBQAAAAAmEaQAAAAAwCSCFAAAAACYRJACAAAAAJMIUgAAAABgEkEKAAAAAEwiSAEAAACASQQpAAAAADCJIAUAAAAAJhGkAAAAAMAkghQAAAAAmESQAgAAAACTCFIAAAAAYBJBCgAAAABMIkgBAAAAgEkEKQAAAAAwiSAFAAAAACYRpAAAAADAJIIUAAAAAJhEkAIAAAAAkwhSAAAAAGASQQoAAAAATCJIAQAAAIBJDh2khg8frqeeeko+Pj4KDg5Ws2bNtG/fPps+hmEoJiZG4eHh8vDwUI0aNbRnz55sqhgAAADAo8Chg9Tq1av1xhtvaOPGjVq+fLlu3rypOnXqKCEhwdpn1KhRGj16tCZMmKAtW7YoNDRUtWvX1uXLl7OxcgAAAAA5mUt2F3AnS5YssXk9ffp0BQcHa9u2bapevboMw9DYsWM1YMAANW/eXJI0Y8YMhYSEaNasWerSpUt2lA0AAAAgh3PoK1K3u3jxoiQpICBAkhQfH6+TJ0+qTp061j5ubm6Kjo7W+vXrM1xOYmKiLl26ZPMDAAAAAPZ6aIKUYRjq1auXnn76aZUoUUKSdPLkSUlSSEiITd+QkBDrtPQMHz5cfn5+1p98+fJlXeEAAAAAcpyHJkh1795du3bt0uzZs9NMs1gsNq8Nw0jTdqv+/fvr4sWL1p+jR49mer0AAAAAci6HfkYq1ZtvvqkFCxbot99+02OPPWZtDw0NlfTvlamwsDBr+6lTp9JcpbqVm5ub3Nzcsq5gAAAAADmaQ1+RMgxD3bt317x58/Trr78qKirKZnpUVJRCQ0O1fPlya1tSUpJWr16tKlWqPOhyAQAAADwiHPqK1BtvvKFZs2bpxx9/lI+Pj/W5Jz8/P3l4eMhisahnz54aNmyYChUqpEKFCmnYsGHy9PRUmzZtsrl6AAAAADmVQwepyZMnS5Jq1Khh0z59+nR17NhRktS3b19du3ZN3bp10/nz51WxYkUtW7ZMPj4+D7haAAAAAI8Khw5ShmHctY/FYlFMTIxiYmKyviAAAAAAkIM/IwUAAAAAjoggBQAAAAAmEaQAAAAAwCSCFAAAAACYRJACAAAAAJMIUgAAAABgEkEKAAAAAEwiSAEAAACASQQpAAAAADCJIAUAAAAAJhGkAAAAAMAkghQAAAAAmESQAgAAAACTCFIAAAAAYBJBCgAAAABMIkgBAAAAgEkEKQAAAAAwiSAFAAAAACYRpAAAAADAJIIUAAAAAJhEkAIAAAAAkwhSAAAAAGASQQoAAAAATCJIAQAAAIBJBCkAAAAAMIkgBQAAAAAmEaQAAAAAwCSCFAAAAACYRJACAAAAAJMIUgAAAABgEkEKAAAAAEwiSAEAAACASQQpAAAAADCJIAUAAAAAJhGkAAAAAMAkghQAAAAAmESQAgAAAACTCFIAAAAAYBJBCgAAAABMIkgBAAAAgEkEKQAAAAAwiSAFAAAAACYRpAAAAADAJIIUAAAAAJhEkAIAAAAAkwhSAAAAAGASQQoAAAAATCJIAQAAAIBJBCkAAAAAMIkgBQAAAAAmEaQAAAAAwCSCFAAAAACYRJACAAAAAJMIUgAAAABgEkEKAAAAAEwiSAEAAACASQQpAAAAADCJIAUAAAAAJhGkAAAAAMAkghQAAAAAmESQAgAAAACTCFIAAAAAYBJBCgAAAABMIkgBAAAAgEkEKQAAAAAwiSAFAAAAACYRpAAAAADAJIIUAAAAAJhEkAIAAAAAkwhSAAAAAGASQQoAAAAATCJIAQAAAIBJBCkAAAAAMIkgBQAAAAAmEaQAAAAAwCSCFAAAAACYRJACAAAAAJNyTJCaNGmSoqKi5O7urieffFJr1qzJ7pIAAAAA5FA5IkjNnTtXPXv21IABA7Rjxw5Vq1ZN9evX15EjR7K7NAAAAAA5UI4IUqNHj9bLL7+sV155RcWKFdPYsWOVL18+TZ48ObtLAwAAAJADuWR3AfcrKSlJ27ZtU79+/Wza69Spo/Xr16c7T2JiohITE62vL168KEm6dOlS1hVqQkri1ewuIdNdshjZXULmcpBjxYycdlzluGNKeiiPKyArcL56CDyE5yuOq4eAgxxXqZnAMO68jx/6IHXmzBklJycrJCTEpj0kJEQnT55Md57hw4dr0KBBadrz5cuXJTVC8svuAjLbiBy3RQ+dHPkOcFwBOVKO/M3mfJXtcuQ74GDH1eXLl+Xnl3FND32QSmWxWGxeG4aRpi1V//791atXL+vrlJQUnTt3ToGBgRnOg3t36dIl5cuXT0ePHpWvr292l4McgGMKWYHjClmB4wpZgeMqaxmGocuXLys8PPyO/R76IJUnTx45Ozunufp06tSpNFepUrm5ucnNzc2mLXfu3FlVIv4/X19fftmRqTimkBU4rpAVOK6QFTiuss6drkSleugHm3B1ddWTTz6p5cuX27QvX75cVapUyaaqAAAAAORkD/0VKUnq1auX2rVrp/Lly6ty5cqaOnWqjhw5oq5du2Z3aQAAAAByoBwRpF544QWdPXtWH330kU6cOKESJUpo0aJFioiIyO7SoH9vpRw4cGCa2ymBe8UxhazAcYWswHGFrMBx5Rgsxt3G9QMAAAAA2Hjon5ECAAAAgAeNIAUAAAAAJhGkAAAAAMAkghQAAAAAmESQQqb47bff1LhxY4WHh8tisWj+/Pk20w3DUExMjMLDw+Xh4aEaNWpoz5492VMsHhp3O67mzZununXrKk+ePLJYLIqLi8uWOvFwudNxdePGDb377rsqWbKkvLy8FB4ervbt2+v48ePZVzAeCnc7X8XExKho0aLy8vKSv7+/nn32WW3atCl7isVD427H1a26dOkii8WisWPHPrD6HnUEKWSKhIQElS5dWhMmTEh3+qhRozR69GhNmDBBW7ZsUWhoqGrXrq3Lly8/4ErxMLnbcZWQkKCqVatqxIgRD7gyPMzudFxdvXpV27dv1wcffKDt27dr3rx5+uuvv9SkSZNsqBQPk7udrwoXLqwJEyZo9+7dWrt2rSIjI1WnTh2dPn36AVeKh8ndjqtU8+fP16ZNmxQeHv6AKoPE8OfIAhaLRT/88IOaNWsm6d+rUeHh4erZs6feffddSVJiYqJCQkI0cuRIdenSJRurxcPi9uPqVocOHVJUVJR27NihMmXKPPDa8PC603GVasuWLapQoYIOHz6s/PnzP7ji8NCy57i6dOmS/Pz89Msvv6hWrVoPrjg8tDI6ro4dO6aKFStq6dKlatiwoXr27KmePXtmS42PGq5IIcvFx8fr5MmTqlOnjrXNzc1N0dHRWr9+fTZWBgB3d/HiRVksFuXOnTu7S0EOkZSUpKlTp8rPz0+lS5fO7nLwEEtJSVG7du30zjvv6Iknnsjuch45LtldAHK+kydPSpJCQkJs2kNCQnT48OHsKAkA7HL9+nX169dPbdq0ka+vb3aXg4fcwoUL1bp1a129elVhYWFavny58uTJk91l4SE2cuRIubi4qEePHtldyiOJK1J4YCwWi81rwzDStAGAo7hx44Zat26tlJQUTZo0KbvLQQ5Qs2ZNxcXFaf369apXr55atWqlU6dOZXdZeEht27ZNn332mWJjY/n/VDYhSCHLhYaGSvq/K1OpTp06leYqFQA4ghs3bqhVq1aKj4/X8uXLuRqFTOHl5aWCBQuqUqVKmjZtmlxcXDRt2rTsLgsPqTVr1ujUqVPKnz+/XFxc5OLiosOHD6t3796KjIzM7vIeCQQpZLmoqCiFhoZq+fLl1rakpCStXr1aVapUycbKACCt1BC1f/9+/fLLLwoMDMzukpBDGYahxMTE7C4DD6l27dpp165diouLs/6Eh4frnXfe0dKlS7O7vEcCz0ghU1y5ckUHDhywvo6Pj1dcXJwCAgKUP39+9ezZU8OGDVOhQoVUqFAhDRs2TJ6enmrTpk02Vg1Hd7fj6ty5czpy5Ij1O3727dsn6d+roKlXQoHb3em4Cg8P1/PPP6/t27dr4cKFSk5Otl5NDwgIkKura3aVDQd3p+MqMDBQQ4cOVZMmTRQWFqazZ89q0qRJ+ueff9SyZctsrBqO7m6fg7f/oSdXrlwKDQ1VkSJFHnSpjyYDyAQrV640JKX56dChg2EYhpGSkmIMHDjQCA0NNdzc3Izq1asbu3fvzt6i4fDudlxNnz493ekDBw7M1rrh2O50XMXHx6c7TZKxcuXK7C4dDuxOx9W1a9eM5557zggPDzdcXV2NsLAwo0mTJsbmzZuzu2w4uLt9Dt4uIiLCGDNmzAOt8VHG90gBAAAAgEk8IwUAAAAAJhGkAAAAAMAkghQAAAAAmESQAgAAAACTCFIAAAAAYBJBCgAAAABMIkgBAAAAgEkEKQBAljt06JCGDBmiK1euZHcpAABkCoIUACBLJSUlqVWrVgoMDJS3t/cDWeeqVatksVh04cKFB7K+nKpGjRrq2bNndpcBAA6JIAUAOVDHjh1lsVg0YsQIm/b58+fLYrE80Fp69+6t2rVr6/XXX3+g68X9mzdvngYPHpzdZQCAQ3LJ7gIAAFnD3d1dI0eOVJcuXeTv759tdYwfP96ufklJSXJ1dc3iamBGQEBAdpcAAA6LK1IAkEM9++yzCg0N1fDhwzPsExMTozJlyti0jR07VpGRkdbXHTt2VLNmzTRs2DCFhIQod+7cGjRokG7evKl33nlHAQEBeuyxx/Tll1/aLOfYsWN64YUX5O/vr8DAQDVt2lSHDh1Ks9zhw4crPDxchQsXliTt3r1bzzzzjDw8PBQYGKjXXnvtrs9WLVq0SIULF5aHh4dq1qxps55U69evV/Xq1eXh4aF8+fKpR48eSkhIuONyFyxYoPLly8vd3V158uRR8+bNrdPOnz+v9u3by9/fX56enqpfv772799vnR4bG6vcuXNr4cKFKlKkiDw9PfX8888rISFBM2bMUGRkpPz9/fXmm28qOTnZOl9kZKQGDx6sNm3ayNvbW+Hh4WnC6OjRo1WyZEl5eXkpX7586tatW5p99Pnnnytfvnzy9PTUc889p9GjRyt37tzW6anv/cyZMxUZGSk/Pz+1bt1aly9ftva5/da+pKQk9e3bV3nz5pWXl5cqVqyoVatW3XEfAkBORZACgBzK2dlZw4YN0/jx4/XPP//c17J+/fVXHT9+XL/99ptGjx6tmJgYNWrUSP7+/tq0aZO6du2qrl276ujRo5Kkq1evqmbNmvL29tZvv/2mtWvXytvbW/Xq1VNSUpJ1uStWrNDevXu1fPlyLVy4UFevXlW9evXk7++vLVu26Ntvv9Uvv/yi7t27Z1jb0aNH1bx5czVo0EBxcXF65ZVX1K9fP5s+u3fvVt26ddW8eXPt2rVLc+fO1dq1a++43J9//lnNmzdXw4YNtWPHDq1YsULly5e3Tu/YsaO2bt2qBQsWaMOGDTIMQw0aNNCNGzesfa5evapx48Zpzpw5WrJkiVatWqXmzZtr0aJFWrRokWbOnKmpU6fqu+++s1n3xx9/rFKlSmn79u3q37+/3n77bS1fvtw63cnJSePGjdPvv/+uGTNm6Ndff1Xfvn2t09etW6euXbvqrbfeUlxcnGrXrq2hQ4em2caDBw9q/vz5WrhwoRYuXKjVq1enuR30Vp06ddK6des0Z84c7dq1Sy1btlS9evVsAiQAPDIMAECO06FDB6Np06aGYRhGpUqVjM6dOxuGYRg//PCDceupf+DAgUbp0qVt5h0zZowRERFhs6yIiAgjOTnZ2lakSBGjWrVq1tc3b940vLy8jNmzZxuGYRjTpk0zihQpYqSkpFj7JCYmGh4eHsbSpUutyw0JCTESExOtfaZOnWr4+/sbV65csbb9/PPPhpOTk3Hy5Ml0t7V///5GsWLFbNb17rvvGpKM8+fPG4ZhGO3atTNee+01m/nWrFljODk5GdeuXUt3uZUrVzbatm2b7rS//vrLkGSsW7fO2nbmzBnDw8PD+O9//2sYhmFMnz7dkGQcOHDA2qdLly6Gp6encfnyZWtb3bp1jS5dulhfR0REGPXq1bNZ3wsvvGDUr18/3VoMwzD++9//GoGBgTb9GzZsaNOnbdu2hp+fn/X1wIEDDU9PT+PSpUvWtnfeeceoWLGi9XV0dLTx1ltvGYZhGAcOHDAsFotx7Ngxm+XWqlXL6N+/f4a1AUBOxRUpAMjhRo4cqRkzZuiPP/6452U88cQTcnL6v4+MkJAQlSxZ0vra2dlZgYGBOnXqlCRp27ZtOnDggHx8fOTt7S1vb28FBATo+vXrOnjwoHW+kiVL2jwXtXfvXpUuXVpeXl7WtqpVqyolJUX79u1Lt7a9e/eqUqVKNoNoVK5c2abPtm3bFBsba63F29tbdevWVUpKiuLj49NdblxcnGrVqpXhOl1cXFSxYkVrW2BgoIoUKaK9e/da2zw9PfX444/b7LfIyEib0QtDQkKs+y2j+itXrmyz3JUrV6p27drKmzevfHx81L59e509e9Z6q+K+fftUoUIFm2Xc/lr69zZCHx8f6+uwsLA0taTavn27DMNQ4cKFbfbj6tWrbd5TAHhUMNgEAORw1atXV926dfXee++pY8eONtOcnJxkGIZN2623pqXKlSuXzWuLxZJuW0pKiiQpJSVFTz75pL755ps0ywoKCrL++9bAJEmGYWQ4qmBG7bfXn56UlBR16dJFPXr0SDMtf/786c7j4eGR4fIyWuft9Zvdb3eSutzDhw+rQYMG6tq1qwYPHqyAgACtXbtWL7/8svW9S28/plezmVpSUlLk7Oysbdu2ydnZ2WbagxrWHgAcCUEKAB4BI0aMUJkyZawDOqQKCgrSyZMnbf7jHRcXd9/rK1eunObOnavg4GD5+vraPV/x4sU1Y8YMJSQkWEPWunXr5OTklKb2W+eZP3++TdvGjRvT1LNnzx4VLFjQ7lpKlSqlFStWqFOnTumu8+bNm9q0aZOqVKkiSTp79qz++usvFStWzO51ZOT2+jdu3KiiRYtKkrZu3aqbN2/q008/tV4l/O9//2vTv2jRotq8ebNN29atW++rprJlyyo5OVmnTp1StWrV7mtZAJATcGsfADwCSpYsqbZt26YZ/a1GjRo6ffq0Ro0apYMHD2rixIlavHjxfa+vbdu2ypMnj5o2bao1a9YoPj5eq1ev1ltvvXXHgS/atm0rd3d3dejQQb///rtWrlypN998U+3atVNISEi683Tt2lUHDx5Ur169tG/fPs2aNUuxsbE2fd59911t2LBBb7zxhuLi4rR//34tWLBAb775Zoa1DBw4ULNnz9bAgQO1d+9e7d69W6NGjZIkFSpUSE2bNtWrr76qtWvXaufOnXrppZeUN29eNW3a1PwOu826des0atQo/fXXX5o4caK+/fZbvfXWW5Kkxx9/XDdv3tT48eP1999/a+bMmZoyZYrN/G+++aYWLVqk0aNHa//+/frPf/6jxYsX39d3iBUuXFht27ZV+/btNW/ePMXHx2vLli0aOXKkFi1adF/bCwAPI4IUADwiBg8enOb2rmLFimnSpEmaOHGiSpcurc2bN6tPnz73vS5PT0/99ttvyp8/v5o3b65ixYqpc+fOunbt2h2vUHl6emrp0qU6d+6cnnrqKT3//POqVauWJkyYkOE8+fPn1/fff6+ffvpJpUuX1pQpUzRs2DCbPqVKldLq1au1f/9+VatWTWXLltUHH3ygsLCwDJdbo0YNffvtt1qwYIHKlCmjZ555Rps2bbJOnz59up588kk1atRIlStXlmEYWrRoUZrb5e5F7969tW3bNpUtW1aDBw/Wp59+qrp160qSypQpo9GjR2vkyJEqUaKEvvnmmzRD3FetWlVTpkzR6NGjVbp0aS1ZskRvv/223N3d76uu6dOnq3379urdu7eKFCmiJk2aaNOmTcqXL999LRcAHkYWw56bywEAwAMRGRmpnj172nx/U2Z49dVX9eeff2rNmjWZulwAeFTxjBQAADnQJ598otq1a8vLy0uLFy/WjBkzNGnSpOwuCwByDIIUAAA50ObNmzVq1ChdvnxZBQoU0Lhx4/TKK69kd1kAkGNwax8AAAAAmMRgEwAAAABgEkEKAAAAAEwiSAEAAACASQQpAAAAADCJIAUAAAAAJhGkAAAAAMAkghQAAAAAmESQAgAAAACTCFIAAAAAYNL/A7hwaUHshVWPAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# generic function to generate the barplot ON THE TRAIN SET - nationality\n",
"\n",
"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)\")\n",
"\n",
"# save in the s3\n",
"\n",
"FILE_NAME = \"nationality_fr_train_set_music.png\"\n",
"FILE_PATH_OUT_S3 = FILE_PATH + FILE_NAME\n",
"\n",
"with fs.open(FILE_PATH_OUT_S3, 'wb') as file_out:\n",
" plt.savefig(file_out)"
]
},
{
"cell_type": "markdown",
"id": "ecfd112e-270a-4223-b80f-7e95e57d199d",
"metadata": {},
"source": [
"### 2. campaigns_information"
]
},
{
"cell_type": "code",
"execution_count": 189,
"id": "b37e7ddf-321a-4ebe-9742-9e760a541d29",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Nombre de lignes de la table : 688953\n"
]
},
{
"data": {
"text/plain": [
"customer_id 0\n",
"nb_campaigns 0\n",
"nb_campaigns_opened 0\n",
"time_to_open 301495\n",
"number_compagny 0\n",
"dtype: int64"
]
},
"execution_count": 189,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# nombre de nan\n",
"print(\"Nombre de lignes de la table : \",campaigns_information_spectacle.shape[0])\n",
"campaigns_information_spectacle.isna().sum()"
]
},
{
"cell_type": "markdown",
"id": "47c15a1d-bef8-4105-87f3-607958667569",
"metadata": {},
"source": [
"#### Part de clients n'ouvrant jamais les mails"
]
},
{
"cell_type": "code",
"execution_count": 224,
"id": "de1ecaac-25bb-4853-b8ab-3ef2ca6917ed",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>nb_campaigns</th>\n",
" <th>nb_campaigns_opened</th>\n",
" <th>time_to_open</th>\n",
" <th>number_compagny</th>\n",
" <th>no_campaign_opened</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>29</td>\n",
" <td>4</td>\n",
" <td>0.0</td>\n",
" <td>NaT</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>37</td>\n",
" <td>3</td>\n",
" <td>0.0</td>\n",
" <td>NaT</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>39</td>\n",
" <td>4</td>\n",
" <td>1.0</td>\n",
" <td>0 days 05:16:38</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>41</td>\n",
" <td>4</td>\n",
" <td>1.0</td>\n",
" <td>0 days 01:12:29</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>44</td>\n",
" <td>4</td>\n",
" <td>0.0</td>\n",
" <td>NaT</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>254699</th>\n",
" <td>6837769</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>0 days 23:42:15</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>254700</th>\n",
" <td>6875038</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>NaT</td>\n",
" <td>14</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>254701</th>\n",
" <td>6875066</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>NaT</td>\n",
" <td>14</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>254702</th>\n",
" <td>6875099</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>NaT</td>\n",
" <td>14</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>254703</th>\n",
" <td>6875143</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>0 days 01:17:01</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>688953 rows × 6 columns</p>\n",
"</div>"
],
"text/plain": [
" customer_id nb_campaigns nb_campaigns_opened time_to_open \\\n",
"0 29 4 0.0 NaT \n",
"1 37 3 0.0 NaT \n",
"2 39 4 1.0 0 days 05:16:38 \n",
"3 41 4 1.0 0 days 01:12:29 \n",
"4 44 4 0.0 NaT \n",
"... ... ... ... ... \n",
"254699 6837769 1 1.0 0 days 23:42:15 \n",
"254700 6875038 1 0.0 NaT \n",
"254701 6875066 1 0.0 NaT \n",
"254702 6875099 1 0.0 NaT \n",
"254703 6875143 1 1.0 0 days 01:17:01 \n",
"\n",
" number_compagny no_campaign_opened \n",
"0 10 True \n",
"1 10 True \n",
"2 10 False \n",
"3 10 False \n",
"4 10 True \n",
"... ... ... \n",
"254699 14 False \n",
"254700 14 True \n",
"254701 14 True \n",
"254702 14 True \n",
"254703 14 False \n",
"\n",
"[688953 rows x 6 columns]"
]
},
"execution_count": 224,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# part de clients n'ouvrant jamais les mails par compagnie\n",
"\n",
"campaigns_information_spectacle[\"no_campaign_opened\"] = pd.isna(campaigns_information_spectacle[\"time_to_open\"])\n",
"campaigns_information_spectacle"
]
},
{
"cell_type": "code",
"execution_count": 225,
"id": "b5a0060f-a9dd-435b-844f-b24674b8bc27",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_compagny</th>\n",
" <th>no_campaign_opened</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>0.605656</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>11</td>\n",
" <td>0.294001</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>12</td>\n",
" <td>0.475719</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>13</td>\n",
" <td>0.353820</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>14</td>\n",
" <td>0.428148</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_compagny no_campaign_opened\n",
"0 10 0.605656\n",
"1 11 0.294001\n",
"2 12 0.475719\n",
"3 13 0.353820\n",
"4 14 0.428148"
]
},
"execution_count": 225,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"company_lazy_customers = campaigns_information_spectacle.groupby(\"number_compagny\")[\"no_campaign_opened\"].mean().reset_index()\n",
"company_lazy_customers"
]
},
{
"cell_type": "code",
"execution_count": 226,
"id": "788c90e0-f13a-4804-ace7-e5159fddd7fd",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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6Ok//vhD9O/fX1SqVEkxSvry5csq83/33XfCx8dHsW2Dg4PFP//8ozLf2rVrhaenpzAxMRF169YVsbGxhY6eVvf9L0zBz0gIIR4/fiymTZsmPDw8FHF5e3uLsWPHKu64sWvXLhEQECCqVasmjIyMhJ2dnejcubM4fPiw1jZ12afkcrmYP3++cHd3F4aGhqJKlSqiX79+IiUlRakuXT/7fADExx9/rHifv8+fPn1adOnSRfF79MEHH4g7d+4oLavr8UyIl8eHWrVqCSMjI+Hu7i5Wr14tgoODlUbWFuV4re67KYQQO3bsEG3bthVWVlbC2NhYuLi4iJ49e4o9e/YIIYS4c+eOGDhwoKhTp44wNzcXFhYWwsfHRyxevFhpxHZhvvvuO8VvZ/56qPu+5ObmioULFyp+PywsLESdOnXE0KFD1e73+XSNL//z3LJli6hXr54wMjISrq6uYtGiRSp16rL/CqHbfnjjxg3RqVMnYWlpKQAorfe8efOEq6urMDY2Fp6enuLbb78t9jFU3R0SirtNC5IJUeCO20QS+eqrrzBq1Cj8/fffqFevntThEEku/952J0+eLPQUIZUds2bNQkREBO7evftarpXM9+DBA7i7u6Nr164qZyZIO1dXV3h5eWHXrl1Sh1LulPjpaaKiSkhIwPXr1xEZGYng4GAmjERE/y8tLQ1z585F27ZtYWtri6SkJCxevBiPHj3C6NGjpQ6P3jBMGkly3bp1Q1paGlq1alXo6DsiojeRsbExbty4geHDhyMzMxNmZmZo3rw5li9fzv9gU6nj6WkiIiIi0qrEb7lDRERERBUPk0YiIiIi0opJIxERERFpxYEwxZSXl4fbt2/D0tKyRB6FSERERK+fEAKPHj2Ck5NTid0g/U3BpLGYbt++DWdnZ6nDICIiomJISUlReR45acaksZjyn1GdkpLyWh6/RURERCUvKysLzs7Oit9x0h2TxmLKPyVtZWXFpJGIiKic4aVlRceT+URERESkFZNGIiIiItKKSSMRERERacWkkYiIiIi0YtJIRERERFoxaSQiIiIirZg0EhEREZFWTBqJiIiISCsmjURERESkFZNGIiIiItKKSSMRERERacWkkYiIiIi0YtJIRERERFoxaSQiIiIirSpM0rh06VK4ubnBxMQEjRs3xuHDhzXOn52djalTp8LFxQXGxsZ46623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FjpvdnY2srOzFe+zsrJ0jpGIiIiovJPk9HR4eDiaNGmCv//+G5mZmbh//77ilZmZWaS67t27B7lcDnt7e6Vye3t7pKWlqV3G0dERK1euxNatW7Ft2zZ4eHigffv2OHToUKHtREVFwdraWvFydnYuUpxERERE5ZkkPY2XL1/Gli1bUKtWrRKrUyaTKb0XQqiU5fPw8ICHh4fiva+vL1JSUrBw4cJCT41PnjwZ48aNU7zPyspi4khERERvDEl6Gps1a4YrV66USF1VqlSBvr6+Sq9ienq6Su+jJs2bN8fly5cLnW5sbAwrKyulFxEREdGbQpKexpEjR2L8+PFIS0uDt7c3DA0Nlab7+PjoXJeRkREaN26MuLg4dOvWTVEeFxeH4OBgnetJSEiAo6OjzvMTERERvUkkSRp79OgBABg0aJCiTCaTKU4pF2UgDACMGzcO/fv3R5MmTeDr64uVK1ciOTkZ4eHhAF6eWr516xbWrVsH4OXoaldXV9SrVw85OTlYv349tm7diq1bt5bQGhIRERFVLJIkjdevXy/R+nr37o2MjAxERkYiNTUVXl5e2L17N1xcXAAAqampSvdszMnJwYQJE3Dr1i2YmpqiXr16+OWXX9C5c+cSjYuIiIioopCJgve8IZ1kZWXB2toaDx8+LPHrG10n/VKi9VV0N+YFSh0CERGVE6/z97uik6SnMf80cWFCQ0NLKRIiIiIi0oUkSePo0aOV3ufm5uLp06cwMjKCmZkZk0YiIiKiMkaSW+7892be9+/fx+PHj3Hx4kW888472LRpkxQhEREREZEGkiSN6tSuXRvz5s1T6YUkIiIiIumVmaQRAPT19XH79m2pwyAiIiKiAiS5pnHnzp1K74UQSE1Nxddff42WLVtKERIRERERaSBJ0ti1a1el9zKZDFWrVkW7du3wxRdfSBESEREREWkgSdKYl5cnRbNEVAbxvqS64z1JiUhKZeqaRiIiIiIqmyRJGnv27Il58+aplH/++ed4//33JYiIiIiIiDSRJGk8ePAgAgNVT7O8++67OHTokAQREREREZEmkiSNjx8/hpGRkUq5oaEhsrKyJIiIiIiIiDSRJGn08vJCbGysSvkPP/yAunXrShAREREREWkiyejp6dOno0ePHrh69SratWsHANi7dy82bdqEzZs3SxESEREREWkgSdIYFBSEHTt24LPPPsOWLVtgamoKHx8f7NmzB35+flKEREREREQaSJI0AkBgYKDawTBEREREVPbwPo1EREREpJUkPY16enqQyWSFTpfL5aUYDRERERFpI0nSuH37dqX3ubm5SEhIwNq1axERESFFSERERESkgSRJY3BwsEpZz549Ua9ePcTGxmLw4MESREVEREREhSlT1zQ2a9YMe/bskToMIiIiIiqgzCSNz549w1dffYXq1atLHQoRERERFSDJ6enKlSsrDYQRQuDRo0cwMzPD+vXrpQiJiIiIiDSQJGmMjo5Weq+np4eqVauiWbNmqFy5shQhEREREZEGkiSNAwYMkKJZIiIiIiomyZ4IAwBPnz5FcnIycnJylMp9fHwkioiIiIiI1JEkabx79y7CwsLw66+/qp3Om3sTERERlS2SjJ4eM2YM7t+/j2PHjsHU1BS//fYb1q5di9q1a2Pnzp1ShEREREREGkjS07hv3z789NNPaNq0KfT09ODi4oKOHTvCysoKUVFRCAwMlCIsIiIiIiqEJD2NT548gZ2dHQDAxsYGd+/eBQB4e3sjPj5eipCIiIiISANJkkYPDw9cvHgRANCgQQOsWLECt27dwvLly+Ho6ChFSERERESkgSSnp8eMGYPU1FQAwMyZM+Hv748NGzbAyMgIMTExUoRERERERBpIkjT27dtX8XfDhg1x48YN/Pvvv6hRowaqVKkiRUhEREREpIGk92nMZ2ZmhkaNGkkdBhEREREVQpJrGomIiIiofCkTPY1ERERvAtdJv0gdQrlxYx5vv1fWsKeRiIiIiLSSJGlMTk6GEEKlXAiB5ORkCSIiIiIiIk0kSRrd3NwUN/T+r8zMTLi5uUkQERERERFpIknSKISATCZTKX/8+DFMTEwkiIiIiIiINCnVgTDjxo0DAMhkMkyfPh1mZmaKaXK5HMePH0eDBg1KMyQiIiIi0kGpJo0JCQkAXvY0njt3DkZGRoppRkZGqF+/PiZMmFCaIRERERGRDko1ady/fz8AYODAgfjqq69gaWlZms0TERERUTGV+jWNL168wPr165GUlFTaTRMRERFRMZV60mhgYAAXFxfI5fLSbpqIiIiIikmS0dPTpk3D5MmTkZmZKUXzRERERFREkjxGcMmSJbhy5QqcnJzg4uICc3Nzpenx8fFShEVEREREhZAkaezatWuJ17l06VJ8/vnnSE1NRb169RAdHY1WrVppXe6vv/6Cn58fvLy8kJiYWOJxEREREVUEkiSNM2fOLNH6YmNjMWbMGCxduhQtW7bEihUrEBAQgPPnz6NGjRqFLvfw4UOEhoaiffv2uHPnTonGRERERFSRSHJNIwA8ePAA3333ndK1jfHx8bh161aR61q0aBEGDx6MIUOGwNPTE9HR0XB2dsayZcs0Ljd06FCEhITA19e3WOtARERE9KaQJGk8e/Ys3N3dMX/+fCxcuBAPHjwAAGzfvh2TJ08uUl05OTk4ffo0OnXqpFTeqVMnHDlypNDl1qxZg6tXr+rc65mdnY2srCylFxEREdGbQpKkcdy4cRg4cCAuX76s9KzpgIAAHDp0qEh13bt3D3K5HPb29krl9vb2SEtLU7vM5cuXMWnSJGzYsAEGBrqdoY+KioK1tbXi5ezsXKQ4iYiIiMozSZLGkydPYujQoSrl1apVKzTR00Ymkym9F0KolAEvn3EdEhKCiIgIuLu761z/5MmT8fDhQ8UrJSWlWHESERERlUeSDIQxMTFRe3r34sWLqFq1apHqqlKlCvT19VWSzfT0dJXeRwB49OgRTp06hYSEBIwYMQIAkJeXByEEDAwM8Mcff6Bdu3YqyxkbG8PY2LhIsRERERFVFJL0NAYHByMyMhK5ubkAXvYSJicnY9KkSejRo0eR6jIyMkLjxo0RFxenVB4XF4cWLVqozG9lZYVz584hMTFR8QoPD4eHhwcSExPRrFmz4q8YERERUQUlSU/jwoUL0blzZ9jZ2eHZs2fw8/NDWloafH19MXfu3CLXN27cOPTv3x9NmjSBr68vVq5cieTkZISHhwN4eWr51q1bWLduHfT09ODl5aW0vJ2dHUxMTFTKiYiIiOglSZJGKysr/Pnnn9i3bx/i4+ORl5eHRo0aoUOHDsWqr3fv3sjIyEBkZCRSU1Ph5eWF3bt3w8XFBQCQmpqK5OTkklwFIiIiojeKTAghSrvRGzduwNXVtbSbLVFZWVmwtrbGw4cPYWVlVaJ1u076pUTrq+huzAuUOgR6Bdzfdcd9vfzj/q6717W/v87f74pOkmsaa9asiXfeeQcrVqxQ3NibiIiIiMouSZLGU6dOwdfXF3PmzIGTkxOCg4OxefNmZGdnSxEOEREREWkhSdLYqFEjfP7550hOTsavv/4KOzs7DB06FHZ2dhg0aJAUIRERERGRBpI9exp4eaudtm3b4ttvv8WePXtQs2ZNrF27VsqQiIiIiEgNSZPGlJQULFiwAA0aNEDTpk1hbm6Or7/+WsqQiIiIiEgNSW65s3LlSmzYsAF//fUXPDw80LdvX+zYsaPcj6gmIiIiqqgkSRpnz56NPn364Msvv0SDBg2kCIGIiIiIikCSpDE5ORkymUyKpomIiIioGCRJGg8fPqxxeuvWrUspEiIiIiLShSRJY5s2bVTK/tvzKJfLSzEaIiIiItJGktHT9+/fV3qlp6fjt99+Q9OmTfHHH39IERIRERERaSBJT6O1tbVKWceOHWFsbIyxY8fi9OnTEkRFRERERIWR9D6NBVWtWhUXL16UOgwiIiIiKkCSnsazZ88qvRdCIDU1FfPmzUP9+vWlCImIiIiINJAkaWzQoAFkMhmEEErlzZs3x+rVq6UIiYiIiIg0kCRpvH79utJ7PT09VK1aFSYmJlKEQ0RERERaSJI0uri4SNEsERERERWTZANhDh48iC5duqBWrVqoXbs2goKCtN70m4iIiIikIUnSuH79enTo0AFmZmYYNWoURowYAVNTU7Rv3x4bN26UIiQiIiIi0kCS09Nz587FggULMHbsWEXZ6NGjsWjRIsyePRshISFShEVEREREhZAkabx27Rq6dOmiUh4UFIQpU6ZIEBER0ZvFddIvUodQbtyYFyh1CERlgiSnp52dnbF3716V8r1798LZ2VmCiIiIiIhIE0l6GsePH49Ro0YhMTERLVq0gEwmw59//omYmBh8+eWXUoRERERERBpIkjQOGzYMDg4O+OKLL/Djjz8CADw9PREbG4vg4GApQiIiIiIiDSRJGgGgW7du6Natm1TNExEREVERSHafRiIiIiIqP5g0EhEREZFWTBqJiIiISCsmjURERESklSRJY2RkJJ4+fapS/uzZM0RGRkoQERERERFpIknSGBERgcePH6uUP336FBERERJERERERESaSJI0CiEgk8lUys+cOQMbGxsJIiIiIiIiTUr1Po2VK1eGTCaDTCaDu7u7UuIol8vx+PFjhIeHl2ZIRERERKSDUk0ao6OjIYTAoEGDEBERAWtra8U0IyMjuLq6wtfXtzRDIiIiIiIdlGrSOGDAAACAm5sbWrRoAUNDw9JsnoiIiIiKSZLHCPr5+SEvLw+XLl1Ceno68vLylKa3bt1airCI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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Création du barplot\n",
"plt.bar(company_lazy_customers[\"number_compagny\"], company_lazy_customers[\"no_campaign_opened\"])\n",
"\n",
"# Ajout de titres et d'étiquettes\n",
"plt.xlabel('Company')\n",
"plt.ylabel(\"Part de clients n'ayant ouvert aucun mail\")\n",
"plt.title(\"Part de clients n'ayant ouvert aucun mail pour les compagnies de spectacle\")\n",
"\n",
"# Affichage du barplot\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "33233fb9-707d-44c0-80e2-a131756110a1",
"metadata": {},
"source": [
"#### Taux d'ouverture des campagnes de mails"
]
},
{
"cell_type": "code",
"execution_count": 227,
"id": "c48015c2-6451-4089-93b7-6d55d3b2e553",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_compagny</th>\n",
" <th>nb_campaigns</th>\n",
" <th>nb_campaigns_opened</th>\n",
" <th>ratio_campaigns_opened</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>734772</td>\n",
" <td>126151.0</td>\n",
" <td>0.171687</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>11</td>\n",
" <td>342396</td>\n",
" <td>129833.0</td>\n",
" <td>0.379190</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>12</td>\n",
" <td>3168123</td>\n",
" <td>810722.0</td>\n",
" <td>0.255900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>13</td>\n",
" <td>3218569</td>\n",
" <td>793581.0</td>\n",
" <td>0.246563</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>14</td>\n",
" <td>2427043</td>\n",
" <td>723846.0</td>\n",
" <td>0.298242</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": 227,
"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": 228,
"id": "d06ab865-4832-4fe9-918b-e5ff72bebee4",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAApYAAAHFCAYAAABIALnOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABO10lEQVR4nO3dd3gU5f7+8XuBZBMgCSSQhpCAAkoJiCACSgClSS+CoFL1SLHQDs2DBKT7FYEDgkq34UEBPSC9KdKCVAUVkBJKQFpCDZA8vz882V82jYADuyHv13XtdTHPzM585tmZ2TtTFpsxxggAAAD4m3K5ugAAAADcHwiWAAAAsATBEgAAAJYgWAIAAMASBEsAAABYgmAJAAAASxAsAQAAYAmCJQAAACxBsAQAAIAlshwsbTZbll7r1q27i+X+fYcPH5bNZtPs2bMdbVFRUQoPD3dZTVbbu3evoqKidPjwYVeXkmXr1q3LFtsPXKdWrVqqVauWq8u4bekdc2bPni2bzZat9lErsJ9nH+Hh4erUqZOry5D0V/6IiopydRl33YkTJxQVFaWdO3fe1eWkd0yyUp6sTrhp0yan4XfeeUdr167VmjVrnNrLlCljTWW4Y3v37tWwYcNUq1at+yowA9lRSEiINm3apAcffNDVpQBZtnDhQvn6+rq6jBzlxIkTGjZsmMLDw1WxYkVXl3PHshwsn3jiCafhwoULK1euXGna4To3btyQzWa76/PPkyfLmw2Q49nt9hx1nLxy5Yry5s3r6jLwNz366KOuLgHZlKX3WE6ZMkU1a9ZUYGCg8uXLp/Lly2vcuHG6ceOG03QZnWJPfamrW7du8vLy0k8//eRoS0pK0tNPP62goCCdPHky03pOnDihNm3ayMfHR35+fmrbtq1iY2OztC7Xrl3ToEGDVLx4cXl6eqpIkSLq2bOnLly44DRdRqfoU67jrl27ZLPZNGPGjDTTLV26VDabTd9++62jbf/+/Wrfvr0CAwNlt9v1yCOPaMqUKU7vS76k9Mknn6hv374qUqSI7Ha7pk+frueee06SVLt2bcctCsmnvLPa9xnN/8CBA5KkVatW6emnn5avr6/y5s2rGjVqaPXq1bfo1b/8+uuvatCggfLmzatChQqpW7duunjxYrrTZmU5f/75p/7xj3+oaNGistvtKly4sGrUqKFVq1ZlqZZ27dopKChIdrtdxYoVU4cOHZSQkOCYd48ePVSmTBnlz59fgYGBqlOnjn744Qen+SRfWnj33Xc1duxYhYeHy9vbW7Vq1dLvv/+uGzduaODAgQoNDZWfn59atGih06dPO80jPDxcjRs31sKFCxURESEvLy+VKFFCkyZNcpru2rVr6tu3rypWrCg/Pz/5+/urWrVq+uabb9Ks34ULF9S1a1f5+/srf/78atSokf744480221UVJRsNpt++eUXtWvXTn5+fgoKClKXLl0UFxfnNE9jjD744ANVrFhR3t7eKliwoFq3bq0//vjDabodO3aocePGju04NDRUjRo10rFjxzL9TIwxGjdunMLCwuTl5aVKlSpp6dKl6U4bHx+vfv36Oe2nvXr10uXLlzNdhvTXNl+uXDlt2rRJ1atXl7e3t8LDwzVr1ixJ0pIlS1SpUiXlzZtX5cuX17Jly5zef+DAAXXu3FklS5ZU3rx5VaRIETVp0kR79uxxmi6rl53utL+S1+OHH37QE088IW9vbxUpUkRDhgxRYmKi07Tnzp1Tjx49VKRIEXl6eqpEiRJ66623HNv7rerNaLvZvn27WrdurYIFC97Rmdlt27apadOm8vf3l5eXlx599FH95z//cZrmypUrjs/ay8tL/v7+qly5sr744otbzv/48eOOY4Snp6dCQ0PVunVrnTp1yjHN0aNH9eKLLzodd9977z0lJSWl6ZucsJ+n912R1f1t/vz5qlq1qvz8/JQ3b16VKFFCXbp0ueXnFB8fr1deeUUBAQHKnz+/GjRooN9//z3dabPyPZmRW9WX/P336aefqk+fPgoODpa3t7ciIyO1Y8eONPPLyvYrZb4drlu3TlWqVJEkde7c2fHdnfz5bdu2Tc8//7xjmwsPD1e7du105MiR21pOZv5On6Zk6amngwcPqn379o6NbteuXRo5cqR+/fVXzZw587bnN2HCBG3ZskVt2rTRTz/9pAIFCmjYsGFat26dli1bppCQkAzfe/XqVT3zzDM6ceKERo8erVKlSmnJkiVq27ZtmmmjoqKcdj5jjJo3b67Vq1dr0KBBeuqpp7R7924NHTpUmzZt0qZNm2S327O8HhUqVNCjjz6qWbNmqWvXrk7jZs+ercDAQD377LOS/rqMXb16dRUrVkzvvfeegoODtXz5cr3xxhs6c+aMhg4d6vT+QYMGqVq1apo2bZpy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mVpW68voc0qu73a236xshxmJi4vT4sWLNXToUKdjQfJ9uCndyXKs6NOULDtjmbzhp/xiMcbo448/TjNteHi4du/e7dT2+++/O04ZpzR9+nR9+umnmjx5sr799ltduHDBcek4M7Vr19bFixfT3DT9+eef3/K9yQ+FfPrpp07tX3/9tS5fvuz0cEp667JmzRpdunQpzXzr1aunIkWKaNasWZo1a5a8vLycLlfkzZtXtWvX1o4dOxQREaHKlSuneaX+ay49mf31eTt9n54aNWqoQIEC2rt3b7r1Va5c2fFXenpq166tX375Rbt27XJqT/253OlyihUrptdee01169Z1uqSUWvITfvPnz8/0LzGbzZYmQO3evTvN77paJaO+8fHxcTyIZbPZ5Onp6fRlExsbm+Zp0cjISEl/ndFNad68eXdcX+PGjWWM0fHjx9P9TMqXL5/mPTabTRUqVND777+vAgUKZPq5PPHEE/Ly8tJnn33m1L5x48Y0Tz82btxYBw8eVEBAQLq13O3fcE1v21iyZEmWL/1lNt+s9leyjI51uXLlUs2aNSX9dVy7dOmSFi1a5DTd3LlzHeOlv/5g8/LySnOcSO9p5L+rdOnSKlmypHbt2pXhfu7j45PmfUFBQerUqZPatWun3377TVeuXMlwGQ0bNtTatWszPcY9/fTT2rt3b5q+njt3rmw2m2rXrn3nK5kOd9/P03Mn+5vdbldkZKTGjh0rSek+UZ0suY9T7/upvxus+p7MSn1ffPGFjDGO4SNHjmjjxo2OhzZvZ/vNynaY0Xe3zWaTMSbN8Wb69OlpfvkhK8tJzco+lSw8Y1m3bl15enqqXbt26t+/v65du6apU6fq/PnzaaZ96aWX9OKLL6pHjx5q1aqVjhw5onHjxqW59Lxnzx698cYb6tixoyNMzpgxQ61bt9aECRPUq1evDOvp0KGD3n//fXXo0EEjR45UyZIl9d1332n58uVZWpf69etrwIABio+PV40aNRxPhT/66KN66aWXnNZlyJAhevvttxUZGam9e/dq8uTJ8vPzSzPf3Llzq0OHDho/frx8fX3VsmXLNNNNnDhRTz75pJ566il1795d4eHhunjxog4cOKD//ve/t3yyTpLKlSsnSfroo4/k4+MjLy8vFS9eXAEBAVnu+4zkz59f//73v9WxY0edO3dOrVu3VmBgoP7880/t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9OhRxcTEONr37t2ruLg4PfLII3+7htT3XG7evFkPP/ywJOnHH39UWFiY3nrrLVWuXFklS5bUkSNH7mg5L7/8smbNmqWZM2fqmWeecToDCwDujGAJINv44IMPlJiYqMcff1xff/219u/fr3379mnSpEmqVq2annnmGUVEROiFF17Q9u3btXXrVnXo0EGRkZGqXLny317+/PnzNXPmTP3+++8aOnSotm7dqtdee02S9NBDD+no0aOaN2+eDh48qEmTJmnhwoV3tJwXXnhBx48f18cff6wuXbr87boB4F4hWALINooXL67t27erdu3a6tu3r8qVK6e6detq9erVmjp1qmw2mxYtWqSCBQuqZs2aeuaZZ1SiRAl9+eWXlix/2LBhmjdvniIiIjRnzhx99tlnKlOmjCSpWbNm6t27t1577TVVrFhRGzdu1JAhQ+5oOb6+vmrVqpXy58+v5s2bW1I7ANwLNpN8RzwAIEM2m00LFy68Z0Gvbt26euSRRzRp0qR7sjwAsAJPhQOAGzl37pxWrFihNWvWaPLkya4uBwBuC8ESANxIpUqVdP78eY0dO1alS5d2dTkAcFu4FA4AAABL8PAOAAAALEGwBAAAgCUIlgAAALAEwRIAAACWIFgCAADAEgRLAAAAWIJgCQAAAEsQLAEAAGAJgiUAAAAs8f8AB+iZCxGA9GcAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Création du barplot\n",
"plt.bar(company_campaigns_stats[\"number_compagny\"], 100 * company_campaigns_stats[\"ratio_campaigns_opened\"])\n",
"\n",
"# Ajout de titres et d'étiquettes\n",
"plt.xlabel('Company')\n",
"plt.ylabel(\"Taux d'ouverture (%)\")\n",
"plt.title(\"Taux d'ouverture des campagnes de mails pour les compagnies de spectacle\")\n",
"\n",
"# Affichage du barplot\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 230,
"id": "5c37e063-a717-4a8c-828e-b386b87e8409",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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rqhRo0aRN/z555/nuJ5p0KBBqFGjBiZOnIgqVapApVIhPDwcDRo0APD6Cy4jIiIwd+7cIm+XCiisl7Yr0NT3F21XQEREH6BC/yhunTp1UKdOnbfesKmpaY71GBsbw8rKSmofPXo0/P394ezsDGdnZ/j7+8PIyAh9+/Z96+0TERER5afA1yjNmTMHiYmJBep78uRJ7Nmzp8hFZZkwYQJGjx4NHx8fuLm54e+//8aBAwdgamr61usmIiIiyk+BR5SuXr0KBwcH9OjRA506dYKbmxusra0BAOnp6bh69Sr+/PNPrF+/Ho8ePcLatWsLXczRo0c1phUKBXx9feHr61vodRERERG9rQIHpbVr1+LixYv473//i379+iE+Ph46OjpQKpVISkoCADRo0ABff/01Bg4cyAuqiYiI6J1XqGuU6tatixUrVmD58uW4ePEi7t69i1evXqFChQqoX78+KlSoUFJ1EhEREZW6Ql/MDbw+JVavXj3Uq1evuOshIiIiKjMK/VtvRERERB+KIo0oEZW2r0KitF1CiRj1+HmxrKe+2qJY1kNERJo4okREREQkg0GJiIiISEaRgtLjx49l5128eLHIxRARERGVJUUKSq6urti5c2eO9vnz58Pd3f2tiyIiIiIqC4oUlCZOnIhevXph+PDhePXqFf7++2+0aNECP/74I375hT9eSkRERO+HIgWlcePG4cSJE/jrr79Qt25d1K1bF4aGhrh48SI6depU3DUSERERaUWRL+auUqUKateujbt37yIhIQE9e/aEra1tcdZGREREpFVFCkpZI0m3b9/GxYsXERwcjFGjRqFnz5549uxZcddIREREpBVFCkotWrRAr169cPz4cdSsWRNDhgzBuXPn8ODBA7i6uhZ3jURERERaUaRv5j5w4AA8PDw02qpWrYo///wTs2fPLpbCiIiIiLStSCNK2UOStLJy5TBt2rS3KoiIiIiorCjSiNKMGTPynP/DDz8UqRgiIiKisqRIQWn79u0a02lpaYiOjoauri6qVq3KoERERETvhSIFpXPnzuVoS0hIgLe3N7p27frWRRERERGVBcX2o7hmZmaYMWMGr1EiIiKi90axBSUAeP78OeLj44tzlURERERaU6RTb4sXL9aYFkLg0aNHWLduHdq0aVMshRERERFpW5GC0sKFCzWmy5UrB2trawwcOBCTJ08u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REREMhiU3jHHjh1Dx44dYW9vD4VCgR07dmjMF0LA19cX9vb2MDQ0hKenJ65cuaKdYt9x+e3rbdu2oXXr1qhQoQIUCgXOnz+vlTrfdXnt57S0NEycOBGurq4wNjaGvb09BgwYgIcPH2qv4HdUfu9nX19f1KhRA8bGxihfvjxatmyJkydPaqfYd1h++/lNw4YNg0KhQFBQUKnVR4XHoPSOSUxMRL169bB06dJc58+bNw+BgYFYunQpoqKioFKp0KpVK7x48aKUK3335bevExMT0axZM8yZM6eUK3u/5LWfk5KScPbsWUybNg1nz57Ftm3bcPPmTXTq1EkLlb7b8ns/V69eHUuXLsWlS5fw559/wtHREV5eXvjnn39KudJ3W377OcuOHTtw8uRJrf88BxWAoHcWALF9+3ZpOjMzU6hUKjFnzhypLTk5WZibm4vly5drocL3R/Z9/abo6GgBQJw7d65Ua3of5bWfs5w6dUoAEPfu3Sudot5DBdnP8fHxAoA4ePBg6RT1HpLbzw8ePBAVK1YUly9fFg4ODmLhwoWlXhsVHEeU3iPR0dGIjY2Fl5eX1KZUKuHh4YHIyEgtVkZUfOLj46FQKD6433AsTampqfjpp59gbm6OevXqabuc90pmZib69++P//znP6hdu7a2y6ECeCe+mZsKJjY2FgBga2ur0W5ra4t79+5poySiYpWcnIxJkyahb9++/GHRErB792707t0bSUlJsLOzQ3h4OCpUqKDtst4rc+fOha6uLr799lttl0IFxBGl95BCodCYFkLkaCN616SlpaF3797IzMzEsmXLtF3Oe6l58+Y4f/48IiMj0aZNG/Ts2RNxcXHaLuu9cebMGSxatAghISE8Jr9DGJTeIyqVCsD/jSxliYuLyzHKRPQuSUtLQ8+ePREdHY3w8HCOJpUQY2NjVKtWDR9//DFWrVoFXV1drFq1SttlvTf++OMPxMXFoXLlytDV1YWuri7u3buHcePGwdHRUdvlkQwGpfeIk5MTVCoVwsPDpbbU1FRERESgadOmWqyMqOiyQtKtW7dw8OBBWFlZabukD4YQAikpKdou473Rv39/XLx4EefPn5ce9vb2+M9//oP9+/druzySwWuU3jEvX77E7du3peno6GicP38elpaWqFy5MkaPHg1/f384OzvD2dkZ/v7+MDIyQt++fbVY9bspv339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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# création d'un barplot permettant de visualiser les 2 indicateurs sur le même graphique\n",
"\n",
"# Création du premier barplot\n",
"plt.bar(company_campaigns_stats[\"number_compagny\"], 100 * company_campaigns_stats[\"ratio_campaigns_opened\"],\n",
" label = \"taux d'ouverture\", alpha = 0.7)\n",
"\n",
"# Création du deuxième barplot à côté du premier\n",
"bar_width = 0.4 # Largeur des barres\n",
"indices2 = company_campaigns_stats[\"number_compagny\"] + bar_width\n",
"plt.bar(indices2, 100 * (1 - company_lazy_customers[\"no_campaign_opened\"]), \n",
" label='Part de clients ouvrant des mails', alpha=0.7, width=bar_width)\n",
"\n",
"# Ajout des étiquettes et de la légende\n",
"plt.xlabel('Compagnie')\n",
"plt.ylabel('Taux (%)')\n",
"plt.title('Lien entre taux d ouverture des mails et nombre de clients actifs')\n",
"plt.legend()\n",
"\n",
"# save in the s3\n",
"\n",
"FILE_NAME = \"stats_mail_opening_music.png\"\n",
"FILE_PATH_OUT_S3 = FILE_PATH + FILE_NAME\n",
"\n",
"with fs.open(FILE_PATH_OUT_S3, 'wb') as file_out:\n",
" plt.savefig(file_out)"
]
},
{
"cell_type": "markdown",
"id": "638ab84b-15a5-4e70-b140-f121c68c82f5",
"metadata": {},
"source": [
"#### on refait les mêmes stats sur le train set"
]
},
{
"cell_type": "code",
"execution_count": 231,
"id": "4fdf4134-d32c-42c3-ab4f-36ad4783332c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>nb_tickets</th>\n",
" <th>nb_purchases</th>\n",
" <th>total_amount</th>\n",
" <th>nb_suppliers</th>\n",
" <th>vente_internet_max</th>\n",
" <th>purchase_date_min</th>\n",
" <th>purchase_date_max</th>\n",
" <th>time_between_purchase</th>\n",
" <th>nb_tickets_internet</th>\n",
" <th>...</th>\n",
" <th>gender_female</th>\n",
" <th>gender_male</th>\n",
" <th>gender_other</th>\n",
" <th>country_fr</th>\n",
" <th>nb_campaigns</th>\n",
" <th>nb_campaigns_opened</th>\n",
" <th>time_to_open</th>\n",
" <th>y_has_purchased</th>\n",
" <th>number_company</th>\n",
" <th>no_campaign_opened</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10_492779</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>13.0</td>\n",
" <td>4.0</td>\n",
" <td>8 days 04:08:27</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10_563424</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>10.0</td>\n",
" <td>9.0</td>\n",
" <td>0 days 01:39:58.555555555</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>10_44369</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>14.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10_620271</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>9.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>10_687644</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>550.0</td>\n",
" <td>-1.0</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 42 columns</p>\n",
"</div>"
],
"text/plain": [
" customer_id nb_tickets nb_purchases total_amount nb_suppliers \\\n",
"0 10_492779 0.0 0.0 0.0 0.0 \n",
"1 10_563424 0.0 0.0 0.0 0.0 \n",
"2 10_44369 0.0 0.0 0.0 0.0 \n",
"3 10_620271 0.0 0.0 0.0 0.0 \n",
"4 10_687644 0.0 0.0 0.0 0.0 \n",
"\n",
" vente_internet_max purchase_date_min purchase_date_max \\\n",
"0 0.0 550.0 550.0 \n",
"1 0.0 550.0 550.0 \n",
"2 0.0 550.0 550.0 \n",
"3 0.0 550.0 550.0 \n",
"4 0.0 550.0 550.0 \n",
"\n",
" time_between_purchase nb_tickets_internet ... gender_female \\\n",
"0 -1.0 0.0 ... 1 \n",
"1 -1.0 0.0 ... 0 \n",
"2 -1.0 0.0 ... 0 \n",
"3 -1.0 0.0 ... 0 \n",
"4 -1.0 0.0 ... 0 \n",
"\n",
" gender_male gender_other country_fr nb_campaigns nb_campaigns_opened \\\n",
"0 0 0 1.0 13.0 4.0 \n",
"1 0 1 1.0 10.0 9.0 \n",
"2 1 0 1.0 14.0 0.0 \n",
"3 0 1 NaN 9.0 0.0 \n",
"4 0 1 NaN 4.0 0.0 \n",
"\n",
" time_to_open y_has_purchased number_company \\\n",
"0 8 days 04:08:27 0.0 10 \n",
"1 0 days 01:39:58.555555555 0.0 10 \n",
"2 NaN 0.0 10 \n",
"3 NaN 0.0 10 \n",
"4 NaN 0.0 10 \n",
"\n",
" no_campaign_opened \n",
"0 False \n",
"1 False \n",
"2 True \n",
"3 True \n",
"4 True \n",
"\n",
"[5 rows x 42 columns]"
]
},
"execution_count": 231,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# same statistics on the train set\n",
"\n",
"train_set_spectacle.head()"
]
},
{
"cell_type": "markdown",
"id": "924300e5-d6a9-4686-a938-f5f99afda70c",
"metadata": {},
"source": [
"#### Part de clients n'ouvrant aucun mail"
]
},
{
"cell_type": "code",
"execution_count": 232,
"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": 235,
"id": "16285593-a0fa-461c-aeb8-c64ffdf9a0d6",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_company</th>\n",
" <th>y_has_purchased</th>\n",
" <th>no_campaign_opened</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>0.0</td>\n",
" <td>73.553379</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10</td>\n",
" <td>1.0</td>\n",
" <td>35.582432</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11</td>\n",
" <td>0.0</td>\n",
" <td>42.609537</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>11</td>\n",
" <td>1.0</td>\n",
" <td>32.887454</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>12</td>\n",
" <td>0.0</td>\n",
" <td>100.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>12</td>\n",
" <td>1.0</td>\n",
" <td>100.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>13</td>\n",
" <td>0.0</td>\n",
" <td>68.335897</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>13</td>\n",
" <td>1.0</td>\n",
" <td>52.833256</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>14</td>\n",
" <td>0.0</td>\n",
" <td>44.334881</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>14</td>\n",
" <td>1.0</td>\n",
" <td>28.807320</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_company y_has_purchased no_campaign_opened\n",
"0 10 0.0 73.553379\n",
"1 10 1.0 35.582432\n",
"2 11 0.0 42.609537\n",
"3 11 1.0 32.887454\n",
"4 12 0.0 100.000000\n",
"5 12 1.0 100.000000\n",
"6 13 0.0 68.335897\n",
"7 13 1.0 52.833256\n",
"8 14 0.0 44.334881\n",
"9 14 1.0 28.807320"
]
},
"execution_count": 235,
"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": 236,
"id": "d35f00e3-b9b0-42b3-9dce-785c1ad5506c",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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0rrvt59nzzzzjAoUKKCvvvrK1LHGLfRIwZR9+/ZJkvVN6eDBg2rXrp1y5MghSVq7dq3eeecdHTlyRJ988onNsps2bdKuXbv08ccfK2fOnMqUKZMaNWqk559/XlWqVLF+kPr5+aW5/atXr6patWo6evSoBg0apLx58+rnn3/Wyy+/nGLe5cuXq1atWipbtqy++uor+fv7a+bMmXr55Zd15cqVu95PcvPmTdWuXVt//vmnunTpoueff143b97U2rVrFR8fb+q/Njt37lT58uWVI0cOffbZZwoLC9Nvv/2mzp0769SpU+rTp4/N/B9++KEqVKigb775RhcuXNAHH3yg+vXra9euXXJzc9PYsWP11ltvaf/+/Zo3b57NsjNnzlSHDh30zjvvaPjw4cqQIYP27dunnTt33jWjM45r165d9d1336l///4qUaKELl++rL///lunT5++a5YjR46odOnSunHjhj788EMVLVpUp0+f1m+//aazZ88qNDRUJ0+eVPny5ZWQkKBPP/1UUVFRWrhwobp37679+/dr7NixNuv88ssvVbRoUX355Zc6d+6cunXrpvr166ts2bJyd3fXt99+q0OHDql79+568803tWDBApvlt2zZoi5duigmJkZhYWH6/vvv9e677yohIUHdu3eXdOsPnjNnzqh79+7Kli2bEhIS9Pvvv6tJkyaaNGmSWrZsKenWH6H169fXhg0bFBMTY70kpFatWmkek6ZNm+rll1/WG2+8oe3bt6tXr16SpG+//TbNZa5cuaLo6Gj9+++/1uO4Y8cOffLJJ9q+fbt+//13WSwWrVmzRi+//LJefvllxcTEyMvLS4cOHdKyZcvu+jwZhqFGjRpp9erV+uSTT1S6dGn99ddfql27dop5zb4Gbmcm34cffqiSJUvqm2++0fnz5xUTE6PKlStr8+bNypUrlyT7z997nYclS5bUpEmT1Lp1a3388cfWy5CeeuopSbfeG/Ply6dmzZopMDBQx44d07hx41S6dGnt3LlTWbNmtWs7oaGhqR6XBzmmyX7++WfFxsaqX79+ypw5s4YOHarGjRtr9+7d1uPVqlWrFO+Vb7/9tsaPH69OnTqpXr16OnjwoHr37q0VK1Zo06ZN1n2zR3BwsOrVq6cpU6aob9++1j9+pVuXlnt4eKS4+qFNmzaqW7euvvvuO12+fFnu7u46evSo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kyePfvnlF/32228p5v36669Vu3Zt1axZU61atVK2bNl05swZ7dq1S5s2bdLs2bPTzPTKK69o0qRJat++vXbv3q0qVaooKSlJ69atU4ECBdSsWTO79+/zzz/Xc889p4oVK+rtt99WVFSULl68qH379umnn366r9GcihQporlz52rcuHF65plnlCFDBpUqVUpt27aVt7e3KlSooPDwcB0/flyDBg2Sv7+/9V6T1DjjuJYtW1b16tVT0aJFFRAQoF27dum7775TuXLl7vr9HP369dOvv/6qSpUq6cMPP1SRIkV07tw5LVq0SF27dlX+/Pn13nvvaerUqapbt6769eunyMhI/fzzzxo7dqzefvvtB74X704RERFq0KCBYmJiFB4ermnTpmnJkiUaMmSIdV+Sh/fv0KGDXnjhBR0+fFiffvqpwsPDbS5nrFWrlipUqKBu3brpwoULeuaZZ7RmzRpNnTpVkhx2GU+XLl00Z84cVapUSe+9956KFi2qpKQkxcfHa/HixerWrZvKli2rTz75RP/++6+qVq2qp556SufOndPnn39uc39HamrUqKFKlSqpR48eunz5skqVKqW//vor1X+kPMhrwEy+EydOqHHjxmrbtq3Onz+vPn36yMvLyzoqmWT/+WvPefj000/L29tb33//vQoUKKDMmTMrIiJCERERqlSpkoYNG6asWbMqKipKK1eu1MSJE1P8592e7aTGGe8r9siXL5/eeustffHFF8qQIYNq165tHbUve/bsNl/s+dprr+nVV19Vhw4d1LRpUx06dEhDhw5NMVpasjZt2qhdu3Y6evSoypcvb+qPunr16mny5MnKnz+/ihYtqo0bN2rYsGEPdHlmWu+zqSlfvrwCAgLUvn179enTR+7u7vr+++9T/ANGunVcvv76a7366qtq27atTp8+raFDh6YYsdaezyGLxaJXX31V3377rZ5++mkVK1ZM69evT/EPDVfgjOfoTsn/NFm7dq31vjfpVu9MZGSkfvzxR1WtWlWBgYHW12Za/Pz87H4dO9pXX32lZcuWqW7dusqRI4euXbtmvbqgWrVqkqRmzZrp+++/V506dfTuu++qTJkycnd317///qvly5erYcOGaty4saRb5/LMmTM1a9Ys5cqVS15eXipSpIh1e2vXrlXx4sUVEBDg1P16LKXrUBdwWckj5Nw54tedvv32WyNfvnyGp6enkStXLmPQoEHGxIkTU4yuExkZadStWzfVdWzZssWoUKGC4ePjY0i668gyhmEY//77r9G0aVMjc+bMhq+vr9G0aVNj9erVqY5ctHXrVuOll14yQkJCDHd3dyMsLMx4/vnnja+++uqex+Dq1avGJ598YuTJk8fw8PAwgoKCjOeff95YvXq1zX7da9S+5PY2bdoY2bJlM9zd3Y3g4GCjfPnyRv/+/a3zJI/6M3v27BTL3rnOM2fOGC+88IKRJUsWw2KxGMkv5SlTphhVqlQxQkNDDQ8PDyMiIsJ46aWXjG3btt1zfx19XHv27GmUKlXKCAgIsJ4f7733nnHq1Kl7Zjl8+LDRpk0bIywszHB3d7fux3///Wed59ChQ0bz5s2NoKAgw93d3ciXL58xbNgwm9H5ko/dsGHDbNaf1rFO7bxPPnd/+OEHo1ChQoaHh4cRFRVljBgxIkXuwYMHG1FRUYanp6dRoEABY8KECdYRoW535swZo3Xr1kaWLFkMHx8fo3r16sbatWtTjIKXvOzJkydTzXnna+zOEdIuXbpkfPzxx0a+fPkMDw8Pw9/f3yhSpIjx3nvvWUe1WrhwoVG7dm0jW7ZshoeHhxESEmLUqVPH+PPPP1N7amycO3fOaNOmjc1+/PPPP6mOjmXPayA19uRLfj6/++47o3PnzkZwcLDh6elpVKxY0WaEsWT2vi/Ycx7OmDHDyJ8/v+Hu7m6z38mvp4CAAMPX19eoVauW8ffff6f6PN1rOw/yvpIWSUbHjh1TtKc10t7tEhMTjSFDhhh58+Y13N3djaxZsxqvvvqqcfjwYZv5kpKSjKFDhxq5cuUyvLy8jFKlShnLli1Lc9S68+fPG97e3mmOVHe3z6WzZ88ab7zxhhESEmL4+PgYzz33nPHnn3+m2JYj3mfTsnr1aqNcuXKGj4+PERwcbLz55pvGpk2bUn3upkyZYhQoUMDw8vIyChYsaMyaNSvFqH2GYd/n0Pnz540333zTCA0NNTJlymTUr1/fOHjwYJqj9tnzfpKa6Ohoo1ChQina0/p8v/Mcs/c5epBR+wzDMCpWrJhiVEbDMIzff//dKFGihOHp6WlIsp7naR0Xw7D/dZzWqH2ZMmVKsc7UPhPutGbNGqNx48ZGZGSk4enpaQQFBRnR0dHGggULbOa7ceOGMXz4cKNYsWKGl5eXkTlzZiN//vxGu3btjL1791rnO3jwoFGjRg3D19fXkGRznl28eNHw8fExPvvss7tmQuoshnHHN6cCAKyioqJUuHBhu76o9EFMnz5dLVq00F9//cW3y5u0YsUKValSRbNnz9YLL7yQ3nEApKM5c+bo5Zdf1qFDh5QtW7b0juPyJk6cqHfffVeHDx+mR+o+cGkfADxkM2bM0JEjR1SkSBFlyJBBa9eu1bBhw1SpUiWKKAB4AE2aNFHp0qU1aNAgjRkzJr3juLSbN29qyJAh6tWrF0XUfaKQAoCHzNfXVzNnzlT//v11+fJlhYeHq1WrVurfv396RwOAR5rFYtGECRO0YMGCBx5593F3+PBhvfrqq+rWrVt6R3lkcWkfAAAAAJhEmQ4AAAAAJlFIAQAAAIBJFFIAAAAAYBKDTUhKSkrS0aNH5evra/12cgAAAABPHsMwdPHiRUVERNx1wBIKKUlHjx5V9uzZ0zsGAAAAABdx+PBhPfXUU2lOp5DSraGIpVsHy8/PL53TAAAAAEgvFy5cUPbs2a01QloopCTr5Xx+fn4UUgAAAADuecsPg00AAAAAgEkUUgAAAABgEoUUAAAAAJjEPVIAAACPAMMwdPPmTSUmJqZ3FOCR5ubmpowZMz7w1x5RSAEAALi4hIQEHTt2TFeuXEnvKMBjwcfHR+Hh4fLw8LjvdVBIAQAAuLCkpCTFxcXJzc1NERER8vDweOD/pANPKsMwlJCQoJMnTyouLk558uS565fu3g2FFAAAgAtLSEhQUlKSsmfPLh8fn/SOAzzyvL295e7urkOHDikhIUFeXl73tR4GmwAAAHgE3O9/zQGk5IjXE69IAAAAADCJQgoAAAAATOIeKQAAgEdUVM+fH9q2Dg6u+9C29Tho1aqVzp07p/nz56d3FDgJPVIAAACAC1qxYoUsFovOnTuX3lGQCgopAAAAADCJQgoAAABOsWjRIj333HPKkiWLgoKCVK9ePe3fv986PbUely1btshisejgwYPWtr/++kvR0dHy8fFRQECAatasqbNnz0qSoqKiNGrUKJvtFi9eXDExMdbHFotF33zzjRo3biwfHx/lyZNHCxYsuGv2adOmqVSpUvL19VVYWJiaN2+uEydO2MyzY8cO1a1bV35+fvL19VXFihVt9k+Shg8frvDwcAUFBaljx466ceOGXds4ePCgqlSpIkkKCAiQxWJRq1at7poZDxeFFAAAAJzi8uXL6tq1q2JjY7V06VJlyJBBjRs3VlJSkt3r2LJli6pWrapChQppzZo1WrVqlerXr6/ExERTWfr27auXXnpJ27ZtU506ddSiRQudOXMmzfkTEhL06aefauvWrZo/f77i4uJsCpkjR46oUqVK8vLy0rJly7Rx40a1adNGN2/etM6zfPly7d+/X8uXL9eUKVM0efJkTZ482a5tZM+eXXPmzJEk7d69W8eOHdPnn39uap/hXOk62MQff/yhYcOGaePGjTp27JjmzZunRo0aWacbhqG+fftq/PjxOnv2rMqWLasvv/xShQoVss5z/fp1de/eXTNmzNDVq1dVtWpVjR07Vk899VQ67BEAAACSNW3a1ObxxIkTFRISop07d6pw4cJ2rWPo0KEqVaqUxo4da227/W9Be7Vq1UqvvPKKJGngwIH64osvtH79etWqVSvV+du0aWP9PVeuXBo9erTKlCmjS5cuKXPmzPryyy/l7++vmTNnyt3dXZKUN29em3UEBARozJgxcnNzU/78+VW3bl0tXbpUbdu2tWsbgYGBkqSQkBBlyZLF9D7DudK1R+ry5csqVqyYxowZk+r0oUOHasSIERozZoxiY2MVFham6tWr6+LFi9Z5unTponnz5mnmzJlatWqVLl26pHr16pn+LwUAAAAca//+/WrevLly5colPz8/5cyZU5IUHx9v9zqSe6QeVNGiRa2/Z8qUSb6+viku1bvd5s2b1bBhQ0VGRsrX11eVK1eW9H/Zt2zZoooVK1qLqNQUKlRIbm5u1sfh4eE227zXNuDa0rVHqnbt2qpdu3aq0wzD0KhRo/TRRx+pSZMmkqQpU6YoNDRU06dPV7t27XT+/HlNnDhR3333napVqybp1rWm2bNn1++//66aNWs+tH0BAACArfr16yt79uyaMGGCIiIilJSUpMKFCyshIUGSlCHDrf/pG4ZhXeb2e4gkydvb+67byJAhg83yqa1DUoqCx2KxpHmJ4eXLl1WjRg3VqFFD06ZNU3BwsOLj41WzZk1r9nvlutc27dkGXJvL3iMVFxen48ePq0aNGtY2T09PRUdHa/Xq1ZKkjRs36saNGzbzREREqHDhwtZ5UnP9+nVduHDB5gcAAACOc/r0ae3atUsff/yxqlatqgIFClgHiEgWHBwsSTp27Ji1bcuWLTbz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j1SbNm2UKVMmlShRQhky/N/ihQoV0pAhQxwaDgAAAABckelCasqUKbp69WqK9qtXr2rq1KkOCQUAAAAArszuS/suXLggwzBkGIYuXrwoLy8v67TExET98ssvCgkJcUpIAAAAAHAldhdSWbJkkcVikcViUd68eVNMt1gs6tu3r0PDAQAAAIArsruQWr58uQzD0PPPP685c+YoMDDQOs3Dw0ORkZGKiIhwSkgAAAAAcCV2F1LR0dGSpLi4OGXPnt1moAkAAAAAeJKYHv48MjJS586d0/r163XixAklJSXZTG/ZsqXDwgEAAACAKzJdSP30009q0aKFLl++LF9fX1ksFus0i8VCIYXUxfindwLHijmf3gkAAACQjkxfn9etWze1adNGFy9e1Llz53T27Fnrz5kzZ5yREQAAAABciulC6siRI+rcubN8fHyckQcAAAAAXJ7pQqpmzZrasGGDM7IAAAAAwCPB9D1SdevW1fvvv6+dO3eqSJEicnd3t5neoEEDh4UDAAAAAFdkupBq27atJKlfv34pplksFiUmJj54KgAAAABwYaYLqTuHOwcAAACAJ80DfavutWvXHJUDAAAAAB4ZpgupxMREffrpp8qWLZsyZ86sAwcOSJJ69+6tiRMnOjwgAAAAALga04XUgAEDNHnyZA0dOlQeHh7W9iJFiuibb75xaDgAAAAAcEWmC6mpU6dq/PjxatGihdzc3KztRYsW1T///OPQcAAAAADgiu7rC3lz586doj0pKUk3btxwSCgAAAAAcGWmR+0rVKiQ/vzzT0VGRtq0z549WyVKlHBYMAC4qxj/9E7geDHn0zsBAACwk+lCqk+fPnrttdd05MgRJSUlae7cudq9e7emTp2qhQsXOiMjAAAAALgU05f21a9fX7NmzdIvv/wii8WiTz75RLt27dJPP/2k6tWrOyMjAAAAALgU0z1SklSzZk3VrFnT0VkAAAAA4JHwQF/ICwAAAABPIrt6pAIDA7Vnzx5lzZpVAQEBslgsac575swZh4UDAAAAAFdkVyE1cuRI+fr6SpJGjRrlzDwAAAAA4PLsKqRef/31VH8HAAAAgCeRXYXUhQsX7F6hn5/ffYcBAAAAgEeBXYVUlixZ7npflCQZhiGLxaLExESHBAMAAAAAV2VXIbV8+XJn5wAAAACAR4ZdhVR0dLSzcwAAAADAI8P090hN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fTIZgAMsX77ckJTi5/XXXzcMwzCSkpKMPn36GGFhYYanp6dRqVIlY/v27ekbGi7vXufVpEmTUp3ep0+fdM0N13a38youLi7VaZKM5cuXp3d0uLC7nVdXr141GjdubERERBgeHh5GeHi40aBBA2P9+vXpHRsu7l6fg3eKjIw0Ro4c+VAzPsn4HikAAAAAMIl7pAAAAADAJAopAAAAADCJQgoAAAAATKKQAgAAAACTKKQAAAAAwCQKKQAAAAAwiUIKAAAAAEyikAIAAAAAkyikAABIR1FRURo1alR6xwAAmEQhBQBIN8ePH9c777yjXLlyydPTU9mzZ1f9+vW1dOnS9I720MTGxuqtt95K7xgAAJMshmEY6R0CAPDkOXjwoCpUqKAsWbKob9++Klq0qG7cuKHffvtN48eP1z///JPeEQEASBM9UgCAdNGhQwdZLBatX79eL7zwgvLmzatChQqpa9euWrt2rSQpPj5eDRs2VObMmeXn56eXXnpJ//33n3UdMTExKl68uL799lvlyJFDmTNn1ttvv63ExEQNHTpUYWFhCgkJ0YABA2y2bbFYNG7cONWuXVve3t7KmTOnZs+ebTPPBx98oLx588rHx0e5cuVS7969dePGDZt5+vfvr5CQEPn6+urNN99Uz549Vbx4cev0Vq1aqVGjRho+fLjCw8MVFBSkjh072qznzkv7zp8/r7feekshISHy8/PT888/r61btz7o4QYAOBiFFADgoTtz5owWLVqkjh07KlOmTCmmZ8mSRYZhqFGjRjpz5oxWrlypJUuWaP/+/Xr55Zdt5t2/f79+/fVXLVq0SDNmzNC3336runXr6t9//9XKlSs1ZMgQffzxx9biLFnv3r3VtGlTbd26Va+++qpeeeUV7dq1yzrd19dXkydP1s6dO/X5559rwoQJGjlypHX6999/rwEDBmjIkCHauHGjcuTIoXHjxqXYl+XLl2v//v1avny5pkyZosmTJ2vy5MmpHhfDMFS3bl0dP35cv/zyizZu3KiSJUuqatWqOnPmjJlDDABwNgMAgIds3bp1hiRj7ty5ac6zePFiw83NzYiPj7e27dixw5BkrF+/3jAMw+jTp4/h4+NjXLhwwTpPzZo1jaioKCMxMdHali9fPmPQoEHWx5KM9u3b22yvbNmyxttvv51mnqFDhxrPPPOMzfwdO3a0madChQpGsWLFrI9ff/11IzIy0rh586a17cUXXzRefvll6+PIyEhj5MiRhmEYxtKlSw0/Pz/j2rVrNut9+umnja+//jrNbACAh48eKQDAQ2f8/9tzLRZLmvPs2rVL2bNnV/bs2a1tBQsWVJYsWWx6jqKiouTr62t9HBoaqoIFCypDhgw2bSdOnLBZf7ly5VI8vn29P/zwg5577jmFhYUpc+bM6t27t+Lj463Td+/erTJlytis487HklSoUCG5ublZH4eHh6fIkmzjxo26dOmSgoKClDlzZutPXFyc9u/fn+oyAID0kTG9AwAAnjx58uSRxWLRrl271KhRo1TnMQwj1ULrznZ3d3eb6RaLJdW2pKSke+ZKXu/atWvVrFkz9e3bVzVr1pS/v79mzpypzz77LNX5b892JzNZkpKSFB4erhUrVqSYliVLlnvmBwA8PPRIAQAeusDAQNWsWVNffvmlLl++nGL6uXPnVLBgQcXHx+vw4cPW9p07d+r8+fMqUKDAA2e4856ptWvXKn/+/JKkv/76S5GRkfroo49UqlQp5cmTR4cOHbKZP1++fFq/fr1N24YNGx4oU8mSJXX8+HFlzJhRuXPntvnJmjXrA60bAOBYFFIAgHQxduxYJSYmqkyZMpozZ4727t2rXbt2afTo0SpXrpyqVaumokWLqkWLFtq0aZPWr1+vli1bKjo6WqVKlXrg7c+ePVvffvut9uzZoz59+mj9+vXq1KmTJCl37tyKj4/XzJkztX//fo0ePVrz5s2zWf6dd97RxIkTNWXKFO3du1f9+/fXtm3b7nq54r1Uq1ZN5cqVU6NGjfTbb7/p4MGDWr16tT7++OMHLtIAAI5FIQUASBc5c+bUpk2bVKVKFXXr1k2FCxdW9erVtXTpUo0bN04Wi0Xz589XQECAKlWqpGrVqilXrlyaNWuWQ7bft29fzZw5U0WLFtWUKVP0/fffq2DBgpKkhg0b6r333lOnTp1UvHhxrV69Wr1797ZZvkWLFurVq5e6d++ukiVLKi4uTq1atZKXl9d9Z7JYLPrll19UqVIltWnTRnnz5lWzZs108OBBhYaGPtD+AgAciy/kBQA8cSwWi+bNm5fm/Vn3q3r16goLC9N3333n0PUCAFwPg00AAHAfrly5oq+++ko1a9aUm5ubZsyYod9//11LlixJ72gAgIeAQgoAgPuQfBle//79df36deXLl09z5sxRtWrV0jsaAOAh4NI+AAAAADCJwSYAAAAAwCQKKQAAAAAwiUIKAAAAAEyikAIAAAAAkyikAAAAAMAkCikAAAAAMIlCCgAAAABMopACAAAAAJP+H0o1iYGg4T0dAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# graphic for non opening mails customers for music companies (train set)\n",
"\n",
"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 = \"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)\")\n",
"\n",
"# save in the s3\n",
"\n",
"FILE_NAME = \"no_mail_opened_train_set_music.png\"\n",
"FILE_PATH_OUT_S3 = FILE_PATH + FILE_NAME\n",
"\n",
"with fs.open(FILE_PATH_OUT_S3, 'wb') as file_out:\n",
" plt.savefig(file_out)"
]
},
{
"cell_type": "markdown",
"id": "f3407307-7cc1-4f57-a3ae-7c83773b4b81",
"metadata": {},
"source": [
"#### Part globale de mails ouverts pour chaque compagnie"
]
},
{
"cell_type": "code",
"execution_count": 237,
"id": "b391f5b2-2424-4758-8ae5-f0fdacdfae66",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>nb_tickets</th>\n",
" <th>nb_purchases</th>\n",
" <th>total_amount</th>\n",
" <th>nb_suppliers</th>\n",
" <th>vente_internet_max</th>\n",
" <th>purchase_date_min</th>\n",
" <th>purchase_date_max</th>\n",
" <th>time_between_purchase</th>\n",
" <th>nb_tickets_internet</th>\n",
" <th>...</th>\n",
" <th>gender_female</th>\n",
" <th>gender_male</th>\n",
" <th>gender_other</th>\n",
" <th>country_fr</th>\n",
" <th>nb_campaigns</th>\n",
" <th>nb_campaigns_opened</th>\n",
" <th>time_to_open</th>\n",
" <th>y_has_purchased</th>\n",
" <th>number_company</th>\n",
" <th>no_campaign_opened</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10_492779</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.000000</td>\n",
" <td>550.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>13.0</td>\n",
" <td>4.0</td>\n",
" <td>8 days 04:08:27</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10_563424</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.000000</td>\n",
" <td>550.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1.0</td>\n",
" <td>10.0</td>\n",
" <td>9.0</td>\n",
" <td>0 days 01:39:58.555555555</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>10_44369</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.000000</td>\n",
" <td>550.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>14.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10_620271</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.000000</td>\n",
" <td>550.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>9.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>10_687644</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.000000</td>\n",
" <td>550.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>4.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>354360</th>\n",
" <td>14_4685578</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.000000</td>\n",
" <td>550.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>7.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>14</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>354361</th>\n",
" <td>14_4652175</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.000000</td>\n",
" <td>550.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>11.0</td>\n",
" <td>2.0</td>\n",
" <td>3 days 06:21:17</td>\n",
" <td>0.0</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>354362</th>\n",
" <td>14_4736169</td>\n",
" <td>2.0</td>\n",
" <td>2.0</td>\n",
" <td>50.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>91.030556</td>\n",
" <td>91.020139</td>\n",
" <td>0.010417</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>6.0</td>\n",
" <td>6.0</td>\n",
" <td>0 days 17:30:10.166666666</td>\n",
" <td>1.0</td>\n",
" <td>14</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>354363</th>\n",
" <td>14_4957203</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>55.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>52.284028</td>\n",
" <td>52.284028</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>3.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>14</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>354364</th>\n",
" <td>14_4690653</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.000000</td>\n",
" <td>550.000000</td>\n",
" <td>-1.000000</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>NaN</td>\n",
" <td>7.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>14</td>\n",
" <td>True</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>354365 rows × 42 columns</p>\n",
"</div>"
],
"text/plain": [
" customer_id nb_tickets nb_purchases total_amount nb_suppliers \\\n",
"0 10_492779 0.0 0.0 0.0 0.0 \n",
"1 10_563424 0.0 0.0 0.0 0.0 \n",
"2 10_44369 0.0 0.0 0.0 0.0 \n",
"3 10_620271 0.0 0.0 0.0 0.0 \n",
"4 10_687644 0.0 0.0 0.0 0.0 \n",
"... ... ... ... ... ... \n",
"354360 14_4685578 0.0 0.0 0.0 0.0 \n",
"354361 14_4652175 0.0 0.0 0.0 0.0 \n",
"354362 14_4736169 2.0 2.0 50.0 1.0 \n",
"354363 14_4957203 1.0 1.0 55.0 1.0 \n",
"354364 14_4690653 0.0 0.0 0.0 0.0 \n",
"\n",
" vente_internet_max purchase_date_min purchase_date_max \\\n",
"0 0.0 550.000000 550.000000 \n",
"1 0.0 550.000000 550.000000 \n",
"2 0.0 550.000000 550.000000 \n",
"3 0.0 550.000000 550.000000 \n",
"4 0.0 550.000000 550.000000 \n",
"... ... ... ... \n",
"354360 0.0 550.000000 550.000000 \n",
"354361 0.0 550.000000 550.000000 \n",
"354362 0.0 91.030556 91.020139 \n",
"354363 0.0 52.284028 52.284028 \n",
"354364 0.0 550.000000 550.000000 \n",
"\n",
" time_between_purchase nb_tickets_internet ... gender_female \\\n",
"0 -1.000000 0.0 ... 1 \n",
"1 -1.000000 0.0 ... 0 \n",
"2 -1.000000 0.0 ... 0 \n",
"3 -1.000000 0.0 ... 0 \n",
"4 -1.000000 0.0 ... 0 \n",
"... ... ... ... ... \n",
"354360 -1.000000 0.0 ... 0 \n",
"354361 -1.000000 0.0 ... 0 \n",
"354362 0.010417 0.0 ... 1 \n",
"354363 0.000000 0.0 ... 0 \n",
"354364 -1.000000 0.0 ... 0 \n",
"\n",
" gender_male gender_other country_fr nb_campaigns \\\n",
"0 0 0 1.0 13.0 \n",
"1 0 1 1.0 10.0 \n",
"2 1 0 1.0 14.0 \n",
"3 0 1 NaN 9.0 \n",
"4 0 1 NaN 4.0 \n",
"... ... ... ... ... \n",
"354360 0 1 NaN 7.0 \n",
"354361 1 0 1.0 11.0 \n",
"354362 0 0 1.0 6.0 \n",
"354363 1 0 1.0 3.0 \n",
"354364 1 0 NaN 7.0 \n",
"\n",
" nb_campaigns_opened time_to_open y_has_purchased \\\n",
"0 4.0 8 days 04:08:27 0.0 \n",
"1 9.0 0 days 01:39:58.555555555 0.0 \n",
"2 0.0 NaN 0.0 \n",
"3 0.0 NaN 0.0 \n",
"4 0.0 NaN 0.0 \n",
"... ... ... ... \n",
"354360 0.0 NaN 0.0 \n",
"354361 2.0 3 days 06:21:17 0.0 \n",
"354362 6.0 0 days 17:30:10.166666666 1.0 \n",
"354363 0.0 NaN 0.0 \n",
"354364 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 True \n",
"4 10 True \n",
"... ... ... \n",
"354360 14 True \n",
"354361 14 False \n",
"354362 14 False \n",
"354363 14 True \n",
"354364 14 True \n",
"\n",
"[354365 rows x 42 columns]"
]
},
"execution_count": 237,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# part de mails ouverts de chaque compagnie\n",
"\n",
"train_set_spectacle"
]
},
{
"cell_type": "code",
"execution_count": 238,
"id": "dc8cfd36-0eb2-4ef3-877d-626fd0a9ced4",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_compagny</th>\n",
" <th>nb_campaigns</th>\n",
" <th>nb_campaigns_opened</th>\n",
" <th>ratio_campaigns_opened</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>734772</td>\n",
" <td>126151.0</td>\n",
" <td>0.171687</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>11</td>\n",
" <td>342396</td>\n",
" <td>129833.0</td>\n",
" <td>0.379190</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>12</td>\n",
" <td>3168123</td>\n",
" <td>810722.0</td>\n",
" <td>0.255900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>13</td>\n",
" <td>3218569</td>\n",
" <td>793581.0</td>\n",
" <td>0.246563</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>14</td>\n",
" <td>2427043</td>\n",
" <td>723846.0</td>\n",
" <td>0.298242</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": 238,
"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": 239,
"id": "30b28426-088a-4153-b2aa-c20f11b2b771",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_company</th>\n",
" <th>y_has_purchased</th>\n",
" <th>nb_campaigns</th>\n",
" <th>nb_campaigns_opened</th>\n",
" <th>perc_campaigns_opened</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>0.0</td>\n",
" <td>143960.0</td>\n",
" <td>18472.0</td>\n",
" <td>12.831342</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10</td>\n",
" <td>1.0</td>\n",
" <td>10609.0</td>\n",
" <td>5177.0</td>\n",
" <td>48.798190</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11</td>\n",
" <td>0.0</td>\n",
" <td>84676.0</td>\n",
" <td>27658.0</td>\n",
" <td>32.663328</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>11</td>\n",
" <td>1.0</td>\n",
" <td>20848.0</td>\n",
" <td>10927.0</td>\n",
" <td>52.412701</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>12</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>12</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>13</td>\n",
" <td>0.0</td>\n",
" <td>1182992.0</td>\n",
" <td>275366.0</td>\n",
" <td>23.277080</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>13</td>\n",
" <td>1.0</td>\n",
" <td>107160.0</td>\n",
" <td>41244.0</td>\n",
" <td>38.488242</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>14</td>\n",
" <td>0.0</td>\n",
" <td>822836.0</td>\n",
" <td>219220.0</td>\n",
" <td>26.642004</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>14</td>\n",
" <td>1.0</td>\n",
" <td>92099.0</td>\n",
" <td>34256.0</td>\n",
" <td>37.194758</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_company y_has_purchased nb_campaigns nb_campaigns_opened \\\n",
"0 10 0.0 143960.0 18472.0 \n",
"1 10 1.0 10609.0 5177.0 \n",
"2 11 0.0 84676.0 27658.0 \n",
"3 11 1.0 20848.0 10927.0 \n",
"4 12 0.0 0.0 0.0 \n",
"5 12 1.0 0.0 0.0 \n",
"6 13 0.0 1182992.0 275366.0 \n",
"7 13 1.0 107160.0 41244.0 \n",
"8 14 0.0 822836.0 219220.0 \n",
"9 14 1.0 92099.0 34256.0 \n",
"\n",
" perc_campaigns_opened \n",
"0 12.831342 \n",
"1 48.798190 \n",
"2 32.663328 \n",
"3 52.412701 \n",
"4 NaN \n",
"5 NaN \n",
"6 23.277080 \n",
"7 38.488242 \n",
"8 26.642004 \n",
"9 37.194758 "
]
},
"execution_count": 239,
"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": 240,
"id": "9cebe912-fce1-4f4f-9d87-9649605296c8",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_company</th>\n",
" <th>y_has_purchased</th>\n",
" <th>nb_campaigns</th>\n",
" <th>nb_campaigns_opened</th>\n",
" <th>perc_campaigns_opened</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>0.0</td>\n",
" <td>143960.0</td>\n",
" <td>18472.0</td>\n",
" <td>12.831342</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10</td>\n",
" <td>1.0</td>\n",
" <td>10609.0</td>\n",
" <td>5177.0</td>\n",
" <td>48.798190</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11</td>\n",
" <td>0.0</td>\n",
" <td>84676.0</td>\n",
" <td>27658.0</td>\n",
" <td>32.663328</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>11</td>\n",
" <td>1.0</td>\n",
" <td>20848.0</td>\n",
" <td>10927.0</td>\n",
" <td>52.412701</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>13</td>\n",
" <td>0.0</td>\n",
" <td>1182992.0</td>\n",
" <td>275366.0</td>\n",
" <td>23.277080</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>13</td>\n",
" <td>1.0</td>\n",
" <td>107160.0</td>\n",
" <td>41244.0</td>\n",
" <td>38.488242</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>14</td>\n",
" <td>0.0</td>\n",
" <td>822836.0</td>\n",
" <td>219220.0</td>\n",
" <td>26.642004</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>14</td>\n",
" <td>1.0</td>\n",
" <td>92099.0</td>\n",
" <td>34256.0</td>\n",
" <td>37.194758</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_company y_has_purchased nb_campaigns nb_campaigns_opened \\\n",
"0 10 0.0 143960.0 18472.0 \n",
"1 10 1.0 10609.0 5177.0 \n",
"2 11 0.0 84676.0 27658.0 \n",
"3 11 1.0 20848.0 10927.0 \n",
"6 13 0.0 1182992.0 275366.0 \n",
"7 13 1.0 107160.0 41244.0 \n",
"8 14 0.0 822836.0 219220.0 \n",
"9 14 1.0 92099.0 34256.0 \n",
"\n",
" perc_campaigns_opened \n",
"0 12.831342 \n",
"1 48.798190 \n",
"2 32.663328 \n",
"3 52.412701 \n",
"6 23.277080 \n",
"7 38.488242 \n",
"8 26.642004 \n",
"9 37.194758 "
]
},
"execution_count": 240,
"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": 241,
"id": "1c32cd86-e08d-4b8a-90f1-27ad0df0ffeb",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAIiCAYAAAD2CjhuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABvtklEQVR4nO3dd3yN9///8echWyIEWVaoGDWjRvEhUSNGjapara0oqjFK1Qo1ilZRrS5EKVqt+vTTqj1qVmy1qhqz1N4VJNfvD7+cr3NlOIckR3ncb7fcbs77Wq9rnMt5nuu63sdiGIYhAAAAAIBVFmcXAAAAAACPGoISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIA4JG1e/dueXl56cMPP3R2KQCAJwxBKR1ZLBa7/tasWePsUtN05MgRWSwWxcTEWNuio6MVEhLitJrS2759+xQdHa0jR444u5SH0qFDhwfeLyEhIXr++efTtZ6QkBB16NDhgae3WCyKjo5Ot3oeJSntq4fdXo+7q1evqnnz5nr99df1+uuvO7ucdLNmzZp/xf8FeLTeo4/z+fFef/31l6Kjo7Vz584MXU5Kn3XSw6VLl5Q7d27Nnz/f2rZ48eIM3XcRERGKiIjIsPk/jLQ+b7Vt21ZNmzbN9Joc4eLsAh4nmzZtsnn9zjvvaPXq1Vq1apVN+9NPP52ZZSEF+/bt04gRIxQREfFYBUA8uoYOHao33njD2WX8q3Tu3FmVKlXSu+++6+xS8IT6/vvvlT17dmeX8UT566+/NGLECIWEhKhcuXLOLsdhI0aMUHBwsFq2bGltW7x4sT766KMMC0sff/xxhsw3PaT1eSs6OlrFixfXqlWr9NxzzzmnwPsgKKWjZ5991uZ1njx5lCVLlmTtcJ7bt2/LYrFk+PxdXHhrwdZTTz3l7BL+db755htnl/DAbty4IS8vL2eXgYcUFhbm7BLwL3LhwgV9+umn+uCDDx74s4ZhGLp586Y8PT3tnubf+gX8U089pXr16undd999ZIMSt95lso8++kg1atSQv7+/smXLptKlS2v8+PG6ffu2zXipXe43X17t3r27PDw8tG3bNmtbYmKiatWqpYCAAJ06dSrNev766y+1aNFCPj4+8vX1VcuWLXX69Gm71uXmzZsaNGiQChUqJDc3N+XNm1c9e/bUpUuXbMZL7XaBe9dx165dslgsmj59erLxfv75Z1ksFv3www/WtkOHDqlNmzby9/eXu7u7SpQooY8++shmuqTbW2bPnq1+/fopb968cnd31xdffKGXXnpJklSzZk3rLZFJl9/t3fapzf+PP/6QJK1YsUK1atVS9uzZ5eXlpWrVqmnlypX32ap37d27V3Xr1pWXl5fy5Mmjnj176qeffrLrdh1790uS77//XmXKlJGHh4cKFy6sKVOmJJtfv379VK5cOfn6+srPz09VqlTRf//7X7vWJSVXrlzRq6++qly5csnb21v16tXT77//nuK49uzrxMREjRo1SsWKFZOnp6dy5MihMmXKaPLkyWnWkbQP586dq4EDByooKEje3t5q1KiR/v77b129elVdu3ZV7ty5lTt3bnXs2FHXrl2zmYe972l7bpN80PWQ7m7T/v372+z3qKgoXb9+3WY8i8WiXr16afbs2SpRooS8vLxUtmxZ/fjjj9ZxFi1aJIvFkuLxOm3aNFksFu3evdva9sMPP6hKlSry8vKSj4+P6tSpY3OFfd26dbJYLJo3b16y+X355ZeyWCyKjY21tm3dulWNGzeWn5+fPDw8FBYWliw03bhxw7q+Hh4e8vPzU4UKFVJcxr1iYmJksVi0fPlydezYUX5+fsqWLZsaNWqkP//802bc5cuXq0mTJsqXL588PDxUpEgRdevWTefOnbMZLzo6WhaLRdu3b1fz5s2VM2fOBwrGGbneknTy5El17dpV+fPnl5ubm4KDg9W8eXP9/fff1nGOHTumV155xeb99v777ysxMdE6TtItSxMmTNC4ceMUEhIiT09PRURE6Pfff9ft27f11ltvKTg4WL6+vnrhhRd05swZm1qSbv1Nz/PPpUuX1LlzZ/n5+cnb21sNGzbUn3/+mez/oKT9tXfvXrVu3Vq+vr4KCAhQp06ddPny5WR1mv8/sPe9tmDBAlWuXFm+vr7y8vJS4cKF1alTp/vup/Q+P6bmfvUlnR/nzJmjvn37KjAwUJ6engoPD9eOHTuSzc+e41dK+zhcs2aNKlasKEnq2LGj9f/npP23detWtWrVynrMhYSEqHXr1jp69KhDy0nLw2zTmJgY3blzx+ZqUocOHazT3/sYRtKtaEnn5E8++UQlSpSQu7u7Zs2aJenu1anKlSvLz89P2bNnV/ny5TV9+nQZhmGzXPPnk6T36HvvvaeJEyeqUKFC8vb2VpUqVbR58+b7roe955n77fOYmJg0P29Jd2+/W7FihQ4fPnz/DewEfO2dyQ4fPqw2bdpYT7C7du3S6NGjdeDAAc2YMcPh+U2aNEm//vqrWrRooW3btilHjhwaMWKE1qxZoyVLligoKCjVaf/55x/Vrl1bf/31l8aOHauiRYvqp59+snmDJ4mOjrb5j8YwDDVt2lQrV67UoEGDVL16de3evVvDhw/Xpk2btGnTJrm7u9u9HmXLllVYWJhmzpypzp072wyLiYmRv7+/GjRoIOnuZdyqVauqQIECev/99xUYGKilS5eqd+/eOnfunIYPH24z/aBBg1SlShV98sknypIliypUqKCLFy/q7bff1kcffaTy5ctLevBv/M3z9/f315w5c9SuXTs1adJEs2bNkqurqz799FNFRkZq6dKlqlWrVqrzO3XqlMLDw5UtWzZNmzZN/v7+mjdvnnr16nXfWhzdLzt37lRUVJSio6MVGBior776Sm+88YZu3bql/v37S5Li4+N14cIF9e/fX3nz5tWtW7e0YsUKNWvWTDNnzlS7du0c2l5JNW7cuFHDhg1TxYoVtWHDBtWvXz/ZuPbu6/Hjxys6OlpDhgxRjRo1dPv2bR04cCDVcGj29ttvq2bNmoqJidGRI0fUv39/tW7dWi4uLipbtqzmzZunHTt26O2335aPj4/Nh7n0fE8/6HrcuHFD4eHhOnHihN5++22VKVNGe/fu1bBhw7Rnzx6tWLHC5tvNn376SbGxsRo5cqS8vb01fvx4vfDCCzp48KAKFy6s559/Xv7+/po5c2ayYzUmJkbly5dXmTJlJElz587Vyy+/rLp162revHmKj4/X+PHjFRERoZUrV+o///mPqlevrrCwMH300Udq3bq1zfymTp2qihUrWj8crV69WvXq1VPlypX1ySefyNfXV/Pnz1fLli1148YN64fWvn37avbs2Ro1apTCwsJ0/fp1/fbbbzp//rxd27pz586qU6eO5s6dq+PHj2vIkCGKiIjQ7t27lSNHDkl3922VKlXUpUsX+fr66siRI5o4caL+85//aM+ePXJ1dbWZZ7NmzdSqVSt179492Yfm+8no9T558qQqVqyo27dvW4+R8+fPa+nSpbp48aICAgJ09uxZVa1aVbdu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L730kj7++GN98sknatSokfUh5aT5hYaGateuXam+d+69ZTBJQECAOnTooNatW+vgwYPW2/3SYj7+Nm7cqKNHj1p7jkpp30rSp59+et95Oyoz1rt+/fpavXp1muexWrVqad++fTa3vUn/1zNh0ns3vaTn+Sc8PFySbG4Vlew7bzriQd5r7u7uCg8P17hx4yQpxR7jkmT0+TEl96tv3rx5Nu/vo0ePauPGjdb3iiPHrz3HYWr/P1ssFhmGkew9+cUXX1jvQkliz3LMHnaburm5qXDhwin23mbvlZx7Jf3UyL13CP3zzz+aPXu23fNIDymdZxzZ5/db9zt37uj48eOPbBfnXFHKRHXq1JGbm5tat26tAQMG6ObNm5o2bZr11pR7tW3bVq+88op69OihF198UUePHtX48eOT3VK1Z88e9e7dW+3bt7eGo+nTp6t58+aaNGmSoqKiUq2nXbt2+uCDD9SuXTuNHj1aoaGhWrx4sZYuXWrXukRGRmrgwIG6cuWKqlWrZu1dLSwsTG3btrVZl6FDh2rYsGEKDw/Xvn37NHXq1BR7XMmaNavatWuniRMnKnv27GrWrFmy8SZPnmztSeu1115TSEiIrl69qj/++EP/+9//7turkCSVKlVKkvTZZ5/Jx8dHHh4eKlSokHLlymX3tk+Nt7e3PvzwQ7Vv314XLlxQ8+bN5e/vr7Nnz2rXrl06e/aszVUys6ioKM2YMUP169fXyJEjFRAQoLlz51q/Lb73mQAzR/aLdPeWmsaNGys6OlpBQUGaM2eOli9frnHjxlk/4D7//PNauHChevTooebNm+v48eN65513FBQUZPdtTveqW7euatSooQEDBuj69euqUKGCNmzYkOLJ39593ahRI5UqVUoVKlRQnjx5dPToUU2aNEkFCxZUaGiowzXay5H3tD0edD2ioqL03XffqUaNGurTp4/KlCmjxMREHTt2TMuWLVO/fv1UuXJlh+vJkSOHXnjhBcXExOjSpUvq37+/zfGXJUsWjR8/Xi+//LKef/55devWTfHx8ZowYYIuXbqU4g/FvvHGG9Zakm7ru9enn36q+vXrKzIyUh06dFDevHl14cIF7d+/X9u3b9eCBQskSZUrV9bzzz+vMmXKKGfOnNq/f79mz56dLJylZuvWrerSpYteeuklHT9+XIMHD1bevHmtt40UL15cTz31lN56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473//vuqUKGCduzYoR49eui1117TgQMHJElbtmyRJK1YsUKnTp3SwoULdefOHTVt2lTh4eHavXu3Nm3apK5du9636/XBgwerf//+2rlzp4oWLarWrVvrzp07KY577do1NWjQQCtWrNCOHTsUGRmpRo0a6dixY5KkTp06ad++fYqNjbVOs3v3bu3YscMaZq5evar27dtr3bp12rx5s0JDQ9WgQQNdvXrVZlkjRoxQixYttHv3bjVo0EAvv/yyLly4oPz58+u7776TJB08eFCnTp3S5MmTU12/GzduaPTo0Zo1a5Y2bNigK1euqFWrVnav09atW9W7d2+NHDlSBw8e1JIlS1SjRo1Ul3fz5k0988wz+vHHH/Xbb7+pa9euatu2rX799VfrOPYcP2ntl/sdQwsXLlS+fPk0cuRInTp1SqdOnbJrOjw8i2EYhrOLyEhXrlyRr6+vLl++rOzZszu7HAAAHls3b95UXFycChUqZPMjj4/yM0pXr15Vnjx5NHXqVHXp0iX5vEzPD5mfp2nXrp08PT316aefWqdZv369wsPDdf36dXl4eCgkJETVq1fX7NmzJUmGYSgwMFAjRoxQ9+7dU3xG6cKFC8qVK5fWrFmj8PDw+6/z/5/HF198oc6dO0uS9u3bp5IlS2r//v0qXry4XdujZMmSeu2116wfths0aKCQkBB9/PHHkqQ+ffpo586dWr16dYrTJyQkKGfOnJo7d66ef/55SXevKA0ZMkTvvPOOJOn69evy8fHR4sWLVa9ePbufUYqJiVHHjh21efNmVa5cWZJ04MABlShRQr/++qsqVap033VauHChOnbsqBMnTsjHx8eubWLWsGFDlShRQu+9957dx09a+8XeY8j8jJI90z2pUjsXSY5lA64oAQCAJ9b+/fsVHx+vWrVqPdD027ZtU0xMjLy9va1/kZGRSkxMVFxcnHW8MmXKWP9tsVgUGBioM2fOpDpfPz8/dejQwXpFZPLkydYrCWm5dzlBQUGSlOpyrl+/rgEDBujpp59Wjhw55O3trQMHDlivvkjSq6++qnnz5unmzZu6ffu2vvrqK3Xq1Mk6/MyZM+revbuKFi0qX19f+fr66tq1azbzMNeVLVs2+fj4pLn+qXFxcbHpsKB48eLKkSOH9u/fb9c61alTRwULFlThwoXVtm1bffXVV7px40aqy0tISNDo0aNV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3Dh169bNrmVcuXJFvr6+unz5srJnz56e5QOA4zL7ofZHWTo+cI9Hw82bNxUXF6dChQrJw8Pj/wY8wp05XL16VXny5NHUqVPVpUuXZMPv15lDu3bt5OnpqU8//dQ6zfr16xUeHq7r169bry5Ur15ds2fPlnT3M05gYKBGjBih7t27p/gA/IULF5QrVy6tWbNG4eHhD7QZJkyYoK+//tp6Fembb75R9+7dderUKbm7u2vXrl0KCwvTn3/+meqH+p49e+rvv//Wt99+K+nuFaU1a9bo8OHDypo1qySpRYsWypIli+bPny/pbiiLiopSVFSUQ/UuWLBAr732ms6dOydJatOmjY4dO6b169enOH5ERIQSEhJsrrxUqlRJzz33nN59912tWrVKL7zwgs6cOSN3d3frOEWKFNGAAQPUtWvXFD+L2jOdWe/evbV3716tWLEiWZhNaf9eunRJOXPm1OrVqxUREWE9rhYtWqQmTZqkuo3s6SzBvM/MkpY1f/58tWzZUtLd4y1fvnyKiYlRixYt7D6uw8LC9P3336da3+DBg/Xdd99p//791u3y8ccfa+DAgbp8+bJu3LihXLly6csvv0xWS9euXTVp0iQdPnxYoaGhOnHihIKDg63Lql27tipVqqQxY8YkW8dUz0VyLBs4/YrSoUOHFBwcrEKFCqlVq1b6888/Jd3tYeP06dOqW7eudVx3d3eFh4dr48aNqc4vPj5eV65csfkDAABIyf79+xUfH69atWo90PTbtm1TTEyMvL29rX+RkZFKTExUXFycdbx7rw4kPWpw5syZVOfr5+enDh06KDIyUo0aNdLkyZPv2z31t99+q//85z8KDAyUt7e3hg4dqmPHjlmHN23aVC4uLtYPtjNmzFDNmjVtQtInn3yiChUqKE+ePPL29tbnn39uMw/p7t1ASSFJkoKCgtJcl9SsXr1aderUUd68eeXj46N27drp/Pnz1tu7kq4opcV81eXeWrZt26Zr164pV65cNvsnLi5Ohw8fTnWeDzJdhw4dtHPnThUrVky9e/fWsmXLHNkUVvZ0mGBmzz5LSZUqVaz/9vPzU7FixbR//35J9h/X96t3//79qlKlik14rFatmq5du6YTJ07o8OHDunXrVoq1JNm+fbsMw1DRokVt6lm7dm2a+zE9OPUJscqVK+vLL79U0aJF9ffff2vUqFGqWrWq9u7dq9OnT0tSskvfAQEBad6fO3bsWI0YMSJD6wYAAI8HT0/Ph5o+MTFR3bp1U+/evZMNK1CggPXfrq6uNsOSbnVLy8yZM9W7d28tWbJEX3/9tYYMGaLly5fr2WefTTbu5s2b1apVK40YMUKRkZHy9fXV/PnzbZ73cHNzU9u2bTVz5kw1a9ZMc+fOtemd7ptvvlGfPn30/vvvq0qVKvLx8dGECRP066+/2izrQdbF7OjRo2rQoIG6d++ud955R35+flq/fr06d+5svf3Lnn2TVi2JiYkKCgpK8VmWtLp2f5Dpypcvr7i4OP38889asWKFWrRoodq1a+vbb79Vlix3r0vcexNX0jqaZcuWLdW6UmLvPrNXUqCx97i+X72GYSS7wpa0HSwWi+y5sS0xMVFZs2bVtm3bbAK6JHl7e993+ofh1KBUv359679Lly6tKlWq6KmnntKsWbOsJ4GUNm5a9+cOGjRIffv2tb6+cuWK8ufPn86VAwCAx0FoaKg8PT21cuXKFG+9u5/y5ctr7969KlKkyAPX4ObmJkk2z94kCQsLU1hYmAYNGqQqVapo7ty5KQalDRs2qGDBgho8eLC1LaUvlrt06aJSpUrp448/1u3bt9WsWTPrsHXr1qlq1arq0aOHte1BvrF3c3NLcV3utXXrVt25c0fvv/++NUiYn6spU6aMVq5c+cBfgJcvX16nT5+Wi4tLqrcWplSrPdOlJHv27GrZsqVatmyp5s2bq169erpw4YLy5MkjSTp16pTCwsIkKd26gn+YfbZ582Zr6Ll48aJ+//13FS9eXFL6HNeS9PTTT+u7776z+fy+ceNG+fj4KG/evMqZM6dcXV1TrCXpltOwsDAlJCTozJkzql69+kPV4yin33p3r2zZsql06dI6dOiQtfe7pCtLSc6cOZPmA5bu7u7Knj27zR8AAEBKPDw8NHDgQA0YMEBffvmlDh8+rM2bN2v69Ol2TT9w4EBt2rRJPXv21M6dO3Xo0CH98MMPev311+2uwd/fX56enlqyZIn+/vtvXb58WXFxcRo0aJA2bdqko0ePatmyZfr9999VokSJFOdRpEgRHTt2TPPnz9fhw4c1ZcoUm2dHkpQoUULPPvusBg4cqNatW9tctSlSpIi2bt2qpUuX6vfff9fQoUMVGxtr93okCQkJ0S+//KKTJ09anzcye+qpp3Tnzh19+OGH+vPPPzV79mx98sknNuMMGjRIsbGx6tGjh3bv3q0DBw5o2rRpqc7TrHbt2qpSpYqaNm2qpUuX6siRI9q4caOGDBlifW4rJCREcXFx2rlzp86dO6f4+Hi7pjP74IMPNH/+fB04cEC///67FixYoMDAQOXIkUOenp569tln9e6772rfvn365ZdfNGTIEAe2aOoeZp+NHDlSK1eu1G+//aYOHTood+7catq0qaT0Oa4lqUePHjp+/Lhef/11HThwQP/97381fPhw9e3bV1myZJG3t7c6d+6sN99806aWpPAsSUWLFtXLL7+sdu3aaeHChYqLi1NsbKzGjRunxYsXO1SPox6p31GKj4/X/v37Vb16dRUqVEiBgYFavny5NX3funVLa9eu1bhx45xcKQAAsNsj3nHH0KFD5eLiomHDhumvv/5SUFCQunfvbte0ZcqU0dq1azV48GBVr15dhmHoqaeesj6Ybg8XFxdNmTJFI0eO1LBhw1S9enV9/fXXOnDggGbNmqXz588rKChIvXr1SrUzqyZNmqhPnz7q1auX4uPj1bBhQw0dOjRZd9mS1LlzZ23cuFGdOnWyae/evbt27typli1bymKxqHXr1urRo4d+/vlnu9dFuvsBvFu3bnrqqacUHx+f4u1V5cqV08SJEzVu3DgNGjRINWrU0NixY9WuXTvrOEWLFtWyZcv09ttvq1KlSvL09FTlypXVunVru+qwWCxavHixBg8erE6dOuns2bMKDAxUjRo1rF+6v/jii1q4cKFq1qypS5cuWXsBvN90Zt7e3ho3bpwOHTqkrFmzqmLFilq8eLH1A/+MGTPUqVMnVahQQcWKFdP48eNtnsN/UA+zz95991298cYbOnTokMqWLasffvjBenUzPY5rScqbN68WL16sN998U2XLlpWfn586d+5sExQnTJiga9euqXHjxvLx8VG/fv10+bLtOWPmzJkaNWqU+vXrp5MnTypXrlyqUqWKGjRo4FA9jnJqr3f9+/dXo0aNVKBAAZ05c0ajRo3S2rVrtWfPHhUsWFDjxo3T2LFjNXPmTIWGhmrMmDFas2aNDh48KB8fH7uWQa93AB4p9Hr3fx7xD89wXFo9TeHRMXr0aM2fPz/Z7+bgyWDuufFxlF693jn1itKJEyfUunVrnTt3Tnny5NGzzz6rzZs3q2DBgpLu9iX/zz//qEePHrp48aIqV66sZcuW2R2SAAAAcNe1a9e0f/9+ffjhh3rnnXecXQ7wyHNqUErqbz81FotF0dHRKV42BgAAgP169eqlefPmqWnTpsluuwOQ3CP1jBIAAAAyRkxMjGJiYpxdBpwsIiLCrm658Yj1egcAAAAAjwKCEgAASFd8Ww3AmdLrHMStd3Aeev/6P/T+BeAxkDVrVkl3f87j3t/nAYDMdOPGDUmSq6vrQ82HoAQAANKFi4uLvLy8dPbsWbm6utr8aCQAZDTDMHTjxg2dOXNGOXLksH5586AISgAAIF1YLBYFBQUpLi5OR48edXY5AJ5QOXLkUGBg4EPPh6AEAADSjZubm0JDQ3Xr1i1nlwLgCeTq6vrQV5KSEJQAAEC6ypIlizw8PJxdBgA8FG4eBgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAk0cmKI0dO1YWi0VRUVHWNsMwFB0dreDgYHl6eioiIkJ79+51XpEAAAAAngiPRFCKjY3VZ599pjJlyti0jx8/XhMnTtTUqVMVGxurwMBA1alTR1evXnVSpQAAAACeBE4PSteuXdPLL7+szz//XDlz5rS2G4ahSZMmafDgwWrWrJlKlSqlWbNm6caNG5o7d64TKwYAAADwuHN6UOrZs6caNmyo2rVr27THxcXp9OnTqlu3rrXN3d1d4eHh2rhxY6rzi4+P15UrV2z+AAAAAMARLs5c+Pz587V9+3bFxsYmG3b69GlJUkBAgE17QECAjh49muo8x44dqxEjRqRvoQAAAACeKE67onT8+HG98cYbmjNnjjw8PFIdz2Kx2Lw2DCNZ270GDRqky5cvW/+OHz+ebjUDAAAAeDI47YrStm3bdObMGT3zzDPWtoSEBP3yyy+aOnWqDh48KOnulaWgoCDrOGfOnEl2lele7u7ucnd3z7jCAQAAADz2nHZFqVatWtqzZ4927txp/atQoYJefvll7dy5U4ULF1ZgYKCWL19unebWrVtau3atqlat6qyyAQAAADwBnHZFycfHR6VKlbJpy5Ytm3LlymVtj4qK0pgxYxQaGqrQ0FCNGTNGXl5eatOmjTNKBgAAAPCEcGpnDvczYMAA/fPPP+rRo4cuXryoypUra9myZfLx8XF2aQAAAAAeYxbDMAxnF5GRrly5Il9fX12+fFnZs2d3djm4V7Svsyt4dERfdnYFyCwc9/+H4x4AkMkcyQZO/x0lAAAAAHjUEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATB7p31ECAACPCbrGv4tu8YF/Da4oAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJg41Ovd5cuX9f3332vdunU6cuSIbty4oTx58igsLEyRkZGqWrVqRtUJAAAAAJnGritKp06d0quvvqqgoCCNHDlS169fV7ly5VSrVi3ly5dPq1evVp06dfT000/r66+/zuiaAQAAACBD2XVFqWzZsmrXrp22bNmiUqVKpTjOP//8o0WLFmnixIk6fvy4+vfvn66FAgAAAEBmsSso7d27V3ny5ElzHE9PT7Vu3VqtW7fW2bNn06U4AAAAAHAGu4LS/ULSw44PAAAAPHaifZ1dwaMj+rKzK3DYA/d6d/XqVb355puqWLGiypcvr9dff13nzp1Lz9oAAAAAwCkeOCi9+uqrOnfunEaMGKHhw4frzz//1Msvv5yetQEAAACAU9jdPfgHH3ygqKgoWSwWSVJsbKx+//13Zc2aVZJUrFgxPfvssxlTJQAAAABkIruD0h9//KHKlSvr008/VVhYmOrUqaOGDRuqadOmun37tmbPnq3IyMiMrBUAAAAAMoXdQemjjz7Spk2b1KlTJ9WsWVNjx47VnDlztHz5ciUkJOill15Sr169MrJWAAAAAMgUdgclSapSpYpiY2P17rvvqkqVKpowYYK+++67jKoNAAAAAJzC4c4cXFxcNGTIEP3vf//TpEmT1Lx5c50+fTojagMAAAAAp7A7KO3Zs0eVKlWSj4+PqlWrpsTERK1cuVINGjRQ1apVNW3atIysEwAAAAAyjd1BqWPHjvrPf/6j2NhYvfTSS+revbskqVOnTvr111+1fv16ValSJcMKBQAAAIDMYvczSgcPHtT8+fNVpEgRhYaGatKkSdZhefLk0VdffaVly5ZlRI0AAAAAkKnsDkoRERHq2rWrWrVqpVWrVqlatWrJxqlbt266FgcAAAAAzmD3rXdffvmlypcvr//+978qXLgwzyQBAAAAeGzZfUUpZ86ceu+99zKyFgAAAAB4JNh1RenYsWMOzfTkyZMPVAwAAAAAPArsCkoVK1bUq6++qi1btqQ6zuXLl/X555+rVKlSWrhwYboVCAAAAACZza5b7/bv368xY8aoXr16cnV1VYUKFRQcHCwPDw9dvHhR+/bt0969e1WhQgVNmDBB9evXz+i6AQAAACDD2HVFyc/PT++9957++usvTZs2TUWLFtW5c+d06NAhSdLLL7+sbdu2acOGDYQkAAAAAP96dnfmIEkeHh5q1qyZmjVrllH1AAAAAIDT2d09OAAAAAA8KQhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAxOGgNGvWLP3000/W1wMGDFCOHDlUtWpVHT16NF2LAwAAAABncDgojRkzRp6enpKkTZs2aerUqRo/frxy586tPn36pHuBAAAAAJDZHPodJUk6fvy4ihQpIklatGiRmjdvrq5du6patWqKiIhI7/oAAAAAINM5fEXJ29tb58+flyQtW7ZMtWvXlnT3x2j/+eef9K0OAAAAAJzA4StKderUUZcuXRQWFqbff/9dDRs2lCTt3btXISEh6V0fAAAAAGQ6h68offTRR6pSpYrOnj2r7777Trly5ZIkbdu2Ta1bt073AgEAAAAgszl8RenKlSuaMmWKsmSxzVjR0dE6fvx4uhUGAAAAAM7i8BWlQoUK6dy5c8naL1y4oEKFCqVLUQAAAADgTA4HJcMwUmy/du2aPDw8HrogAAAAAHA2u2+969u3ryTJYrFo2LBh8vLysg5LSEjQr7/+qnLlyqV7gQAAAACQ2ewOSjt27JB094rSnj175ObmZh3m5uamsmXLqn///ulfIQAAAABkMruD0urVqyVJHTp00IcffigfH58MKwoAAAAAnMmhZ5Tu3LmjOXPm6OjRoxlVDwAAAAA4nUNBycXFRQULFlRCQkJG1QMAAAAATudwr3dDhgzRoEGDdOHChYyoBwAAAACczuEfnJ0yZYr++OMPBQcHq2DBgsqWLZvN8O3bt6dbcQAeHyFv/eTsEh4JR/gVBQAA/hUcDkpNmzbNgDIAAAAA4NHhcFAaPnx4RtQBAAAAAI8Mh59RkqRLly7piy++sHlWafv27Tp58mS6FgcAAAAAzuDwFaXdu3erdu3a8vX11ZEjR/Tqq6/Kz89P33//vY4ePaovv/wyI+oEAAAAgEzj8BWlvn37qkOHDjp06JA8PP7vqeT69evrl19+SdfiAAAAAMAZHA5KsbGx6tatW7L2vHnz6vTp0+lSFAAAAAA4k8NBycPDQ1euXEnWfvDgQeXJkyddigIAAAAAZ3I4KDVp0kQjR47U7du3JUkWi0XHjh3TW2+9pRdffDHdCwQAAACAzOZwUHrvvfd09uxZ+fv7659//lF4eLiKFCkiHx8fjR49OiNqBAAAAIBM5XCvd9mzZ9f69eu1atUqbd++XYmJiSpfvrxq166dEfUBAAAAQKZzOCgdOXJEISEheu655/Tcc89lRE0AAAAA4FQO33pXuHBh/ec//9Gnn35q/bFZAAAAAHicOByUtm7dqipVqmjUqFEKDg5WkyZNtGDBAsXHx2dEfQAAAACQ6RwOSuXLl9eECRN07Ngx/fzzz/L391e3bt3k7++vTp06ZUSNAAAAAJCpHA5KSSwWi2rWrKnPP/9cK1asUOHChTVr1qz0rA0AAAAAnOKBg9Lx48c1fvx4lStXThUrVlS2bNk0derU9KwNAAAAAJzC4V7vPvvsM3311VfasGGDihUrppdfflmLFi1SSEhIBpQHAAAAAJnP4StK77zzjipVqqStW7dq7969evvttx84JE2bNk1lypRR9uzZlT17dlWpUkU///yzdbhhGIqOjlZwcLA8PT0VERGhvXv3PtCyAAAAAMBeDl9ROnbsmCwWS7osPF++fHr33XdVpEgRSdKsWbPUpEkT7dixQyVLltT48eM1ceJExcTEqGjRoho1apTq1KmjgwcPysfHJ11qAAAAAAAzh4PSunXr0hxeo0YNu+fVqFEjm9ejR4/WtGnTtHnzZj399NOaNGmSBg8erGbNmkm6G6QCAgI0d+5cdevWzdHSAQAAAMAuDgeliIiIZG33XmFKSEh4oEISEhK0YMECXb9+XVWqVFFcXJxOnz6tunXrWsdxd3dXeHi4Nm7cmGpQio+Pt/lNpytXrjxQPQAAAACeXA4/o3Tx4kWbvzNnzmjJkiWqWLGili1b5nABe/bskbe3t9zd3dW9e3d9//33evrpp3X69GlJUkBAgM34AQEB1mEpGTt2rHx9fa1/+fPnd7gmAAAAAE82h68o+fr6JmurU6eO3N3d1adPH23bts2h+RUrVkw7d+7UpUuX9N1336l9+/Zau3atdbj5eSjDMNJ8RmrQoEHq27ev9fWVK1cISwAAAAAc4nBQSk2ePHl08OBBh6dzc3OzduZQoUIFxcbGavLkyRo4cKAk6fTp0woKCrKOf+bMmWRXme7l7u4ud3d3h+sAAAAAgCQOB6Xdu3fbvDYMQ6dOndK7776rsmXLPnRBhmEoPj5ehQoVUmBgoJYvX66wsDBJ0q1bt7R27VqNGzfuoZcDAAAAAKlxOCiVK1dOFotFhmHYtD/77LOaMWOGQ/N6++23Vb9+feXPn19Xr17V/PnztWbNGi1ZskQWi0VRUVEaM2aMQkNDFRoaqjFjxsjLy0tt2rRxtGwAAAAAsJvDQSkuLs7mdZYsWZQnTx55eHg4vPC///5bbdu21alTp+Tr66syZcpoyZIlqlOnjiRpwIAB+ueff9SjRw9dvHhRlStX1rJly/gNJQAAAAAZyuGgVLBgwXRb+PTp09McbrFYFB0drejo6HRbJgAAAADcj8Pdg0vS2rVr1ahRIxUpUkShoaFq3LjxfX+IFgAAAAD+LRwOSnPmzFHt2rXl5eWl3r17q1evXvL09FStWrU0d+7cjKgRAAAAADKVw7fejR49WuPHj1efPn2sbW+88YYmTpyod955h44WAAAAAPzrOXxF6c8//1SjRo2StTdu3DhZRw8AAAAA8G/kcFDKnz+/Vq5cmax95cqVyp8/f7oUBQAAAADO5PCtd/369VPv3r21c+dOVa1aVRaLRevXr1dMTIwmT56cETUCAAAAQKZyOCi99tprCgwM1Pvvv69vvvlGklSiRAl9/fXXatKkSboXCAAAAACZzeGgJEkvvPCCXnjhhfSuBQAAAAAeCQ/0O0oAAAAA8DgjKAEAAACACUEJAAAAAEwISgAAAABg8tBBKSEhQTt37tTFixfTox4AAAAAcDqHg1JUVJSmT58u6W5ICg8PV/ny5ZU/f36tWbMmvesDAAAAgEzncFD69ttvVbZsWUnS//73P8XFxenAgQOKiorS4MGD071AAAAAAMhsDgelc+fOKTAwUJK0ePFivfTSSypatKg6d+6sPXv2pHuBAAAAAJDZHA5KAQEB2rdvnxISErRkyRLVrl1bknTjxg1lzZo13QsEAAAAgMzm4ugEHTt2VIsWLRQUFCSLxaI6depIkn799VcVL1483QsEAAAAgMzmcFCKjo5WqVKldPz4cb300ktyd3eXJGXNmlVvvfVWuhcIAAAAAJnN4aAkSc2bN0/W1r59+4cuBgAAAAAeBXYFpSlTptg9w969ez9wMQAAAADwKLArKH3wwQd2zcxisRCUAAAAnnAhb/3k7BIeCUc8nF0BHoZdQSkuLi6j6wAAAACAR4bD3YMDAAAAwOPOritKffv21TvvvKNs2bKpb9++aY47ceLEdCkMAAAAAJzFrqC0Y8cO3b592/rv1FgslvSpCgAAAACcyK6gtHr16hT/DQAAAACPI55RAgAAAACTB/rB2djYWC1YsEDHjh3TrVu3bIYtXLgwXQoDAAAAAGdx+IrS/PnzVa1aNe3bt0/ff/+9bt++rX379mnVqlXy9fXNiBoBAAAAIFM5HJTGjBmjDz74QD/++KPc3Nw0efJk7d+/Xy1atFCBAgUyokYAAAAAyFQOB6XDhw+rYcOGkiR3d3ddv35dFotFffr00WeffZbuBQIAAABAZnM4KPn5+enq1auSpLx58+q3336TJF26dEk3btxI3+oAAAAAwAkc7syhevXqWr58uUqXLq0WLVrojTfe0KpVq7R8+XLVqlUrI2oEAAAAgEzlcFCaOnWqbt68KUkaNGiQXF1dtX79ejVr1kxDhw5N9wIBAAAAILM5HJT8/Pys/86SJYsGDBigAQMGpGtRAAAAAOBMD/Q7SpJ05swZnTlzRomJiTbtZcqUeeiiAAAAAMCZHA5K27ZtU/v27bV//34ZhmEzzGKxKCEhId2KAwAAAABncDgodezYUUWLFtX06dMVEBAgi8WSEXUBAAAAgNM4HJTi4uK0cOFCFSlSJCPqAQAAAACnc/h3lGrVqqVdu3ZlRC0AAAAA8Ehw+IrSF198ofbt2+u3335TqVKl5OrqajO8cePG6VYcAAAAADiDw0Fp48aNWr9+vX7++edkw+jMAQAAAMDjwOFb73r37q22bdvq1KlTSkxMtPkjJAEAAAB4HDgclM6fP68+ffooICAgI+oBAAAAAKdzOCg1a9ZMq1evzohaAAAAAOCR4PAzSkWLFtWgQYO0fv16lS5dOllnDr1790634gAAAADAGR6o1ztvb2+tXbtWa9eutRlmsVgISgAAAAD+9R7oB2cBAAAA4HHmcFACAAD2CXnrJ2eX8Mg44uHsCgDAMQ535gAAAAAAjzuCEgAAAACYEJQAAAAAwISgBAAAAAAmDxSU1q1bp1deeUVVqlTRyZMnJUmzZ8/W+vXr07U4AAAAAHAGh4PSd999p8jISHl6emrHjh2Kj4+XJF29elVjxoxJ9wIBAAAAILM5HJRGjRqlTz75RJ9//rlcXV2t7VWrVtX27dvTtTgAAAAAcAaHg9LBgwdVo0aNZO3Zs2fXpUuX0qMmAAAAAHAqh4NSUFCQ/vjjj2Tt69evV+HChdOlKAAAAABwJoeDUrdu3fTGG2/o119/lcVi0V9//aWvvvpK/fv3V48ePTKiRgAAAADIVC6OTjBgwABdvnxZNWvW1M2bN1WjRg25u7urf//+6tWrV0bUCAAAAACZyuGgJEmjR4/W4MGDtW/fPiUmJurpp5+Wt7d3etcGAAAAAE7xQEFJkry8vFShQoX0rAUAAAAAHgl2BaVmzZrZPcOFCxc+cDEAAAAA8CiwqzMHX19f61/27Nm1cuVKbd261Tp827ZtWrlypXx9fTOsUAAAAADILHZdUZo5c6b13wMHDlSLFi30ySefKGvWrJKkhIQE9ejRQ9mzZ8+YKgEAAAAgEzncPfiMGTPUv39/a0iSpKxZs6pv376aMWNGuhYHAAAAAM7gcFC6c+eO9u/fn6x9//79SkxMTJeiAAAAAMCZHO71rmPHjurUqZP++OMPPfvss5KkzZs3691331XHjh3TvUAAAAAAyGwOB6X33ntPgYGB+uCDD3Tq1ClJUlBQkAYMGKB+/fqle4EAAAAAkNkcDkpZsmTRgAEDNGDAAF25ckWS6MQBAAAAwGPlgX9wViIgAQAAAHg8OdyZAwAAAAA87pwalMaOHauKFSvKx8dH/v7+atq0qQ4ePGgzjmEYio6OVnBwsDw9PRUREaG9e/c6qWIAAAAATwKnBqW1a9eqZ8+e2rx5s5YvX647d+6obt26un79unWc8ePHa+LEiZo6dapiY2MVGBioOnXq6OrVq06sHAAAAMDjzOGg9OWXXyo+Pj5Z+61bt/Tll186NK8lS5aoQ4cOKlmypMqWLauZM2fq2LFj2rZtm6S7V5MmTZqkwYMHq1mzZipVqpRmzZqlGzduaO7cuY6WDgAAAAB2cTgodezYUZcvX07WfvXq1Yf+HaWk+fr5+UmS4uLidPr0adWtW9c6jru7u8LDw7Vx48YU5xEfH68rV67Y/AEAAACAIxwOSoZhyGKxJGs/ceKEfH19H7gQwzDUt29f/ec//1GpUqUkSadPn5YkBQQE2IwbEBBgHWY2duxY+fr6Wv/y58//wDUBAAAAeDLZ3T14WFiYLBaLLBaLatWqJReX/5s0ISFBcXFxqlev3gMX0qtXL+3evVvr169PNswczFILa5I0aNAg9e3b1/r6ypUrhCUAAAAADrE7KDVt2lSStHPnTkVGRsrb29s6zM3NTSEhIXrxxRcfqIjXX39dP/zwg3755Rfly5fP2h4YGCjp7pWloKAga/uZM2eSXWVK4u7uLnd39weqAwAAAAAkB4LS8OHDlZCQoIIFCyoyMtImuDwowzD0+uuv6/vvv9eaNWtUqFAhm+GFChVSYGCgli9frrCwMEl3O41Yu3atxo0b99DLBwAAAICU2B2UJClr1qzq3r279u/fny4L79mzp+bOnav//ve/8vHxsT535OvrK09PT1ksFkVFRWnMmDEKDQ1VaGioxowZIy8vL7Vp0yZdagAAAAAAM4eCkiSVLl1af/75Z7KrPw9i2rRpkqSIiAib9pkzZ6pDhw6SpAEDBuiff/5Rjx49dPHiRVWuXFnLli2Tj4/PQy8fAAAAAFLicFAaPXq0+vfvr3feeUfPPPOMsmXLZjM8e/bsds/LMIz7jmOxWBQdHa3o6GhHSwUAAACAB+JwUErq2a5x48Y2Pc8l9USXkJCQftUBAAAAgBM4HJRWr16dEXUAAAAAwCPD4aAUHh6eEXUAAAAAwCPD4aCU5MaNGzp27Jhu3bpl016mTJmHLgoAAAAAnMnhoHT27Fl17NhRP//8c4rDeUYJAAAAwL9dFkcniIqK0sWLF7V582Z5enpqyZIlmjVrlkJDQ/XDDz9kRI0AAAAAkKkcvqK0atUq/fe//1XFihWVJUsWFSxYUHXq1FH27Nk1duxYNWzYMCPqBAAAAIBM4/AVpevXr8vf31+S5Ofnp7Nnz0q6+0O027dvT9/qAAAAAMAJHA5KxYoV08GDByVJ5cqV06effqqTJ0/qk08+UVBQULoXCAAAAACZzeFb76KiovTXX39JkoYPH67IyEh99dVXcnNzU0xMTHrXBwAAAACZzuGg9PLLL1v/HRYWpiNHjujAgQMqUKCAcufOna7FAQAAAIAz2H3r3Y0bN9SzZ0/lzZtX/v7+atOmjc6dOycvLy+VL1+ekAQAAADgsWF3UBo+fLhiYmLUsGFDtWrVSsuXL9drr72WkbUBAAAAgFPYfevdwoULNX36dLVq1UqS9Morr6hatWpKSEhQ1qxZM6xAAAAAAMhsdl9ROn78uKpXr259XalSJbm4uFg7dgAAAACAx4XdQSkhIUFubm42bS4uLrpz5066FwUAAAAAzmT3rXeGYahDhw5yd3e3tt28eVPdu3dXtmzZrG0LFy5M3woBAAAAIJPZHZTat2+frO2VV15J12IAAAAA4FFgd1CaOXNmRtYBAAAAAI8Mu59RAgAAAIAnBUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATFycXcCTJuStn5xdwiPjiIezKwAAAABSxhUlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMnBqUfvnlFzVq1EjBwcGyWCxatGiRzXDDMBQdHa3g4GB5enoqIiJCe/fudU6xAAAAAJ4YTg1K169fV9myZTV16tQUh48fP14TJ07U1KlTFRsbq8DAQNWpU0dXr17N5EoBAAAAPElcnLnw+vXrq379+ikOMwxDkyZN0uDBg9WsWTNJ0qxZsxQQEKC5c+eqW7dumVkqAAAAgCfII/uMUlxcnE6fPq26deta29zd3RUeHq6NGzemOl18fLyuXLli8wcAAAAAjnhkg9Lp06clSQEBATbtAQEB1mEpGTt2rHx9fa1/+fPnz9A6AQAAADx+HtmglMRisdi8NgwjWdu9Bg0apMuXL1v/jh8/ntElAgAAAHjMOPUZpbQEBgZKuntlKSgoyNp+5syZZFeZ7uXu7i53d/cMrw8AAADA4+uRvaJUqFAhBQYGavny5da2W7duae3atapataoTKwMAAADwuHPqFaVr167pjz/+sL6Oi4vTzp075efnpwIFCigqKkpjxoxRaGioQkNDNWbMGHl5ealNmzZOrBoAAADA486pQWnr1q2qWbOm9XXfvn0lSe3bt1dMTIwGDBigf/75Rz169NDFixdVuXJlLVu2TD4+Ps4qGQAAAMATwKlBKSIiQoZhpDrcYrEoOjpa0dHRmVcUAAAAgCfeI/uMEgAAAAA4C0EJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIAJQQkAAAAATAhKAAAAAGBCUAIAAAAAE4ISAAAAAJgQlAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACAyb8iKH388ccqVKiQPDw89Mwzz2jdunXOLgkAAADAY+yRD0pff/21oqKiNHjwYO3YsUPVq1dX/fr1dezYMWeXBgAAAOAx9cgHpYkTJ6pz587q0qWLSpQooUmTJil//vyaNm2as0sDAAAA8JhycXYBabl165a2bdumt956y6a9bt262rhxY4rTxMfHKz4+3vr68uXLkqQrV65kXKEOSIy/4ewSHhlXLIazS3h0PCLHZ0bi2L+L4/4eHPdPFI79/+8JOO4ljv0kHPf3eESO/aRMYBj33zePdFA6d+6cEhISFBAQYNMeEBCg06dPpzjN2LFjNWLEiGTt+fPnz5Aa8eB8nV3Ao+RdtsaTgj19D477Jwp7+//juH+isLfv8Ygd+1evXpWvb9o1PdJBKYnFYrF5bRhGsrYkgwYNUt++fa2vExMTdeHCBeXKlSvVaZD5rly5ovz58+v48ePKnj27s8sBMgXHPZ5UHPt4EnHcP5oMw9DVq1cVHBx833Ef6aCUO3duZc2aNdnVozNnziS7ypTE3d1d7u7uNm05cuTIqBLxkLJnz87JA08cjns8qTj28STiuH/03O9KUpJHujMHNzc3PfPMM1q+fLlN+/Lly1W1alUnVQUAAADgcfdIX1GSpL59+6pt27aqUKGCqlSpos8++0zHjh1T9+7dnV0aAAAAgMfUIx+UWrZsqfPnz2vkyJE6deqUSpUqpcWLF6tgwYLOLg0Pwd3dXcOHD092myTwOOO4x5OKYx9PIo77fz+LYU/feAAAAADwBHmkn1ECAAAAAGcgKAEAAACACUEJAAAAAEwISgAAAABgQlBChvrll1/UqFEjBQcHy2KxaNGiRTbDDcNQdHS0goOD5enpqYiICO3du9c5xQLp5H7H/cKFCxUZGancuXPLYrFo586dTqkTSE/3O+6jo6NVvHhxZcuWTTlz5lTt2rX166+/OqdYIB3d79i/V7du3WSxWDRp0qRMqw8PjqCEDHX9+nWVLVtWU6dOTXH4+PHjNXHiRE2dOlWxsbEKDAxUnTp1dPXq1UyuFEg/9zvur1+/rmrVqundd9/N5MqAjHO/475o0aKaOnWq9uzZo/Xr1yskJER169bV2bNnM7lSIH3d79hPsmjRIv36668KDg7OpMrwsOgeHJnGYrHo+++/V9OmTSXdvZoUHBysqKgoDRw4UJIUHx+vgIAAjRs3Tt26dXNitUD6MB/39zpy5IgKFSqkHTt2qFy5cpleG5BR0jruk1y5ckW+vr5asWKFatWqlXnFARkotWP/5MmTqly5spYuXaqGDRsqKipKUVFRTqkR9uOKEpwmLi5Op0+fVt26da1t7u7uCg8P18aNG51YGQAgI926dUufffaZfH19VbZsWWeXA2SoxMREtW3bVm+++aZKlizp7HLgABdnF4An1+nTpyVJAQEBNu0BAQE6evSoM0oCAGSgH3/8Ua1atdKNGzcUFBSk5cuXK3fu3M4uC8hQ48aNk4uLi3r37u3sUuAgrijB6SwWi81rwzCStQEA/v1q1qypnTt3auPGjapXr55atGihM2fOOLssIMNs27ZNkydPVkxMDJ9t/oUISnCawMBASf93ZSnJmTNnkl1lAgD8+2XLlk1FihTRs88+q+nTp8vFxUXTp093dllAhlm3bp3OnDmjAgUKyMXFRS4uLjp69Kj69eunkJAQZ5eH+yAowWkKFSqkwMBALV++3Np269YtrV27VlWrVnViZQCAzGAYhuLj451dBpBh2rZtq927d2vnzp3Wv+DgYL355ptaunSps8vDffCMEjLUtWvX9Mcff1hfx8XFaefOnfLz81OBAgUUFRWlMWPGKDQ0VKGhoRozZoy8vLzUpk0bJ1YNPJz7HfcXLlzQsWPH9Ndff0mSDh48KOnuVdakK63Av01ax32uXLk0evRoNW7cWEFBQTp//rw+/vhjnThxQi+99JITqwYe3v3O+bly5bIZ39XVVYGBgSpWrFhmlwpHGUAGWr16tSEp2V/79u0NwzCMxMREY/jw4UZgYKDh7u5u1KhRw9izZ49ziwYe0v2O+5kzZ6Y4fPjw4U6tG3gYaR33//zzj/HCCy8YwcHBhpubmxEUFGQ0btzY2LJli7PLBh7a/c75ZgULFjQ++OCDTK0RD4bfUQIAAAAAE55RAgAAAAATghIAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACACCDhISEaNKkSc4uAwDwAAhKAIAMcfr0ab3++usqXLiw3N3dlT9/fjVq1EgrV650dmmZJjY2Vl27dnV2GQCAB2AxDMNwdhEAgMfLkSNHVK1aNeXIkUMjRoxQmTJldPv2bS1dulSfffaZDhw44OwSAQBIE1eUAADprkePHrJYLNqyZYuaN2+uokWLqmTJkurbt682b94sSTp27JiaNGkib29vZc+eXS1atNDff/9tnUd0dLTKlSunGTNmqECBAvL29tZrr72mhIQEjR8/XoGBgfL399fo0aNtlm2xWDRt2jTVr19fnp6eKlSokBYsWGAzzsCBA1W0aFF5eXmpcOHCGjp0qG7fvm0zzqhRo+Tv7y8fHx916dJFb731lsqVK2cd3qFDBzVt2lTvvfeegoKClCtXLvXs2dNmPuZb7y5fvqyuXbvK399f2bNn13PPPaddu3Y97OYGAGQAghIAIF1duHBBS5YsUc+ePZUtW7Zkw3PkyCHDMNS0aVNduHBBa9eu1fLly3X48GG1bNnSZtzDhw/r559/1pIlSzRv3jzNmDFDDRs21IkTJ7R27VqNGzdOQ4YMsYavJEOHDtWLL76oXbt26ZVXXlHr1q21f/9+63AfHx/FxMRo3759mjx5sj7//HN98MEH1uFfffWVRo8erXHjxmnbtm0qUKCApk2blmxdVq9ercOHD2v16tWaNWuWYmJiFBMTk+J2MQxDDRs21OnTp7V48WJt27ZN5cuXV61atXThwgVHNjEAIDMYAACko19//dWQZCxcuDDVcZYtW2ZkzZrVOHbsmLVt7969hiRjy5YthmEYxvDhww0vLy/jypUr1nEiIyONkJAQIyEhwdpWrFgxY+zYsdbXkozu3bvbLK9y5crGa6+9lmo948ePN5555hmb8Xv27GkzTrVq1YyyZctaX7dv394oWLCgcefOHWvbSy+9ZLRs2dL6umDBgsYHH3xgGIZhrFy50siePbtx8+ZNm/k+9dRTxqeffppqbQAA5+CKEgAgXRn//9FXi8WS6jj79+9X/vz5lT9/fmvb008/rRw5cthc+QkJCZGPj4/1dUBAgJ5++mllyZLFpu3MmTM2869SpUqy1/fO99tvv9V//vMfBQYGytvbW0OHDtWxY8esww8ePKhKlSrZzMP8WpJKliyprFmzWl8HBQUlqyXJtm3bdO3aNeXKlUve3t7Wv7i4OB0+fDjFaQAAzuPi7AIAAI+X0NBQWSwW7d+/X02bNk1xHMMwUgxS5nZXV1eb4RaLJcW2xMTE+9aVNN/NmzerVatWGjFihCIjI+Xr66v58+fr/fffT3H8e2szc6SWxMREBQUFac2aNcmG5ciR4771AwAyF1eUAADpys/PT5GRkfroo490/fr1ZMMvXbqkp59+WseOHdPx48et7fv27dPly5dVokSJh67B/MzS5s2bVbx4cUnShg0bVLBgQQ0ePFgVKlRQaGiojh49ajN+sWLFtGXLFpu2rVu3PlRN5cuX1+nTp+Xi4qIiRYrY/OXOnfuh5g0ASH8EJQBAuvv444+VkJCgSpUq6bvvvtOhQ4e0f/9+TZkyRVWqVFHt2rVVpkwZvfzyy9q+fbu2bNmidu3aKTw8XBUqVHjo5S9YsEAzZszQ77//ruHDh2vLli3q1auXJKlIkSI6duyY5s+fr8OHD2vKlCn6/vvvbaZ//fXXNX36dM2aNUuHDh3SqFGjtHv37jRvJ7yf2rVrq0qVKmratKmWLl2qI0eOaOPGjRoyZMhDhzAAQPojKAEA0l2hQoW0fft21axZU/369VOpUqVUp04drVy5UtOmTZPFYtGiRYuUM2dO1ahRQ7Vr11bhwoX19ddfp8vyR4wYofnz56tMmTKaNWuWvvrqKz399NOSpCZNmqhPnz7q1auXypUrp40bN2ro0KE207/88ssaNGiQ+vfvr/LlyysuLk4dOnSQh4fHA9dksVi0ePFi1ahRQ506dVLRokXVqlUrHTlyRAEBAQ+1vgCA9McPzgIAHisWi0Xff/99qs9HPag6deooMDBQs2fPTtf5AgAeTXTmAACAyY0bN/TJJ58oMjJSWbNm1bx587RixQotX77c2aUBADIJQQkAAJOk2+RGjRql+Ph4FStWTN99951q167t7NIAAJmEW+8AAAAAwITOHAAAAADAhKAEAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAAAAAmPw/cH+n3x+FPjIAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# graphic - overall rate of opened mails (train set for music companies)\n",
"\n",
"FILE_NAME = \"overall_mail_opening_train_set_music.png\"\n",
"FILE_PATH_OUT_S3 = FILE_PATH + FILE_NAME\n",
"\n",
"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 = \"Compagnie\", ylabel = \"Part de mails ouverts (%)\", \n",
" title = \"Taux d'ouverture global des mails envoyés par les compagnies de spectacle (train set)\")\n",
"\n",
"# save in the s3\n",
"\n",
"with fs.open(FILE_PATH_OUT_S3, 'wb') as file_out:\n",
" plt.savefig(file_out)"
]
},
{
"cell_type": "markdown",
"id": "783f6fb2-5f26-42a9-a22d-f4ece44bfaf2",
"metadata": {
"jp-MarkdownHeadingCollapsed": true
},
"source": [
"### 3. products_purchased_reduced"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "74534ded-8121-43fb-8cf8-af353bed2c77",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Nombre de lignes de la table : 764880\n"
]
},
{
"data": {
"text/plain": [
"customer_id 0\n",
"nb_tickets 0\n",
"nb_purchases 0\n",
"total_amount 0\n",
"nb_suppliers 0\n",
"vente_internet_max 0\n",
"purchase_date_min 0\n",
"purchase_date_max 0\n",
"time_between_purchase 0\n",
"nb_tickets_internet 0\n",
"number_compagny 0\n",
"dtype: int64"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# nombre de nan\n",
"print(\"Nombre de lignes de la table : \",products_purchased_reduced_spectacle.shape[0])\n",
"products_purchased_reduced_spectacle.isna().sum()"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "6db089d5-5517-4aee-a5fd-53f20ae3f0d7",
"metadata": {},
"outputs": [],
"source": [
"#importation librairies\n",
"import warnings\n",
"warnings.simplefilter(\"ignore\")\n",
"import pandas as pd\n",
"import numpy as np\n",
"import statsmodels\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from scipy.stats import shapiro\n",
"from numpy.random import randn\n",
"import scipy.stats as st\n",
"%matplotlib inline\n",
"\n",
"#col_purchase=[\"nb_tickets\",\"nb_purchases\",\"total_amount\",\"nb_suppliers\",\"time_between_purchase\",\"nb_tickets_internet\"]"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "943b8088-9ca2-40a4-b658-2cfae1589fac",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"30.0\n",
"62.0\n",
"120.0\n",
"90.0\n",
"Moustache inferieure -105.0\n",
"Moustache superieure 255.0\n"
]
}
],
"source": [
"#identification des valeur manquantes\n",
"#calcule des quartile de la variable valeur(taille de la population)\n",
"Q1=np.percentile(products_purchased_reduced_spectacle[\"total_amount\"], 25) # Q1\n",
"Q2=np.percentile(products_purchased_reduced_spectacle[\"total_amount\"], 50) # Q2\n",
"Q3=np.percentile(products_purchased_reduced_spectacle[\"total_amount\"], 75) # Q3\n",
"print(Q1)\n",
"print(Q2)\n",
"print(Q3)\n",
"\n",
"#intervale interquartile de la variable Valeur\n",
"\n",
"IQ=Q3-Q1\n",
"print(IQ)\n",
"\n",
"#la valeur minimale des moustache de la variable Valeur\n",
"\n",
"M_inf=Q1-1.5*IQ\n",
"M_sup=Q3+1.5*IQ\n",
"\n",
"print(\"Moustache inferieure\",M_inf)#moustache inferieur\n",
"print(\"Moustache superieure\",M_sup)#moustache sup\n"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "c3adb0cd-8292-4c6f-9d4e-8352a6967022",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"customer_id int64\n",
"nb_tickets int64\n",
"nb_purchases int64\n",
"total_amount float64\n",
"nb_suppliers int64\n",
"vente_internet_max int64\n",
"purchase_date_min float64\n",
"purchase_date_max float64\n",
"time_between_purchase float64\n",
"nb_tickets_internet float64\n",
"number_compagny int64\n",
"dtype: object"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"products_purchased_reduced_spectacle.dtypes"
]
},
{
"cell_type": "markdown",
"id": "a63e6d13-429b-4b01-ad11-27e5eea68cbd",
"metadata": {},
"source": [
"#histogrames des variable quantitatives\n",
"col_purchase=[\"nb_tickets\",\"nb_purchases\",\"total_amount\",\"nb_suppliers\",\"time_between_purchase\",\"nb_tickets_internet\"]\n",
"for col in col_purchase:\n",
" plt.figure()\n",
" sns.histplot(products_purchased_reduced_spectacle[col], kde=True, color='red')"
]
},
{
"cell_type": "code",
"execution_count": 127,
"id": "5a08b5a5-7d56-4543-945a-38f6219d831d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAn8AAAHGCAYAAAAFY+3bAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPdUlEQVR4nO3deZyNdeP/8feZ7cxqmMEsmhn7zqgUoZA9S8gt6S6kRaSEW8mNUZZSSTepW1mTVPeNmzZGlrIVoZJSSoaYRmMZ6xgzn98f/eZ8ndnNnHFm5no9H4/z4FzXdT6fz7We93yu5diMMUYAAACwBA93NwAAAADXDuEPAADAQgh/AAAAFkL4AwAAsBDCHwAAgIUQ/gAAACyE8AcAAGAhhD8AAAALIfwBAABYiOXC3549exQcHKx//etf7m4KAADANXdV4W/hwoWy2WxOr0qVKqlNmzb68MMPC92IqlWrauDAgY73R48eVVxcnPbs2VPoMnPTpEkTrVixQuPGjdO2bdtcXn5JNHXqVK1cubLY67HZbHrssceKvZ686o+Li7umdQ4cOFCBgYEFmjan9n322Wdq2rSpAgICZLPZHOvpvffeU4MGDeTn5yebzVYs+0J+Bg4cqKpVqzoNs9lsWrhwYaHK2717t1q3bq3g4GDZbDbNnDlTUu7LoCB+++23IrXJXTKPpb/99ts1r7tNmzZq06bNNa8XV8ed20hWcXFxstls7m7GNbF06VLHsak45XR8vZa8CvOhBQsWqG7dujLGKDExUbNnz1b37t21atUqde/e/arLW7FihcqVK+d4f/ToUU2aNElVq1ZVkyZNCtPEPN1+++1688031a9fP+3cuVOVKlVyeR0lydSpU9WnTx/17NnT3U2xtG3btum6665zvDfGqG/fvqpdu7ZWrVqlgIAA1alTR8ePH9d9992nzp07a86cObLb7apdu7YbW+4aDzzwgM6dO6dly5apQoUKqlq1aq7LoKAiIiK0bds21ahRoxhbDlx7Xbt21bZt2xQREeHupljK0qVLtXfvXo0YMcLdTSlWhQp/DRs2VNOmTR3vO3furAoVKujdd98tVPi7/vrrC9OMIunXr5/69et3zeuFdTVv3tzp/dGjR3XixAn16tVL7dq1cwzfsmWL0tLS9Pe//12tW7fOs8zz58/L39+/WNrranv37tVDDz2kLl26OIb9/vvvOS6DgrLb7dmWa05K03ICJKlSpUplvmMC7uOSa/58fX3l4+Mjb29vp+EnTpzQ0KFDVaVKFfn4+Kh69eoaN26cUlNTnaa78rTvxo0bddNNN0mSBg0a5Di9fOXpsp07d6pHjx4KCQmRr6+vrr/+er3//vsFauukSZPUrFkzhYSEqFy5crrhhhs0b948GWPy/WzmKb4ff/xRnTp1UkBAgCIiIvT8889LkrZv365WrVopICBAtWvX1qJFi7KVsXfvXt15552qUKGCfH191aRJk2zT5dbdv3HjRtlsNm3cuNExbPfu3erWrZsqV64su92uyMhIde3aVUeOHJH012m6c+fOadGiRY5lmXnK5/jx4xo6dKjq16+vwMBAVa5cWbfffru++OKLbO1OTU3Vs88+q3r16snX11ehoaFq27attm7dmm3at99+W/Xq1ZO/v79iY2NzvCTg559/Vv/+/R3trlevnl577bU8l3+mlJQUPfTQQwoNDVVgYKA6d+6sn376Kdt0uXWrX80pjE8//VTt2rVTcHCw/P39Va9ePU2bNi3bdAcOHNAdd9yhwMBARUVFadSoUdm28yu347i4OEcv4FNPPSWbzebYD1q1aiVJuvvuu53WV+b2991336ljx44KCgpyBKZLly5p8uTJqlu3rux2uypVqqRBgwbp+PHjBZrPhQsXqk6dOo51sXjx4gJ97sCBAxo0aJBq1aolf39/ValSRd27d9d3333nVLbNZtPly5f1+uuvO+3TOS2DgpYr5XzaN3P97tq1S3369FGFChUcPYPGGM2ZM0dNmjSRn5+fKlSooD59+ujXX3/Nd16PHz+uhx9+WFFRUY5l3LJlS61bt85punXr1qldu3YqV66c/P391bJlS3322WcFWp7z589XbGysfH19FRISol69eumHH35wmiZzOyjINldQBd1+1q9frzZt2ig0NFR+fn6Kjo7WXXfdpfPnz+dbx9KlS3XLLbcoMDBQgYGBatKkiebNm1fo+S/scThze4yPj9egQYMUEhKigIAAde/ePdt2EB8frzvvvFPXXXedfH19VbNmTT3yyCP6888/s83f//73PzVu3Fh2u13Vq1fXq6++muOxJvPymPyOk7l9DxRk+yrotpqTjz76SE2aNJHdble1atX00ksv5Thdce9Lbdq0UcOGDfXFF1+oefPm8vPzU5UqVTR+/Hilp6c7lXc1x7+8tsM2bdroo48+0qFDh5wub8t0NfmhINt7YZdpft/7BWKuwoIFC4wks337dpOWlmYuXbpkDh8+bB5//HHj4eFhPv30U8e0Fy5cMI0bNzYBAQHmpZdeMmvXrjXjx483Xl5e5o477nAqNyYmxgwYMMAYY8zp06cd9fzzn/8027ZtM9u2bTOHDx82xhizfv164+PjY2699Vbz3nvvmU8//dQMHDjQSDILFizIdx4GDhxo5s2bZ+Lj4018fLx57rnnjJ+fn5k0aVK+nx0wYIDx8fEx9erVM6+++qqJj483gwYNMpLM2LFjTe3atc28efPMmjVrTLdu3Ywks3PnTsfnf/zxRxMUFGRq1KhhFi9ebD766CNzzz33GEnmhRdeyLacDx486FT/hg0bjCSzYcMGY4wxZ8+eNaGhoaZp06bm/fffN5s2bTLvvfeeGTJkiNm3b58xxpht27YZPz8/c8cddziW5ffff+9oz6OPPmqWLVtmNm7caD788EMzePBg4+Hh4ajDGGPS0tJM27ZtjZeXlxk9erT5+OOPzapVq8wzzzxj3n33Xcd0kkzVqlXNzTffbN5//33z8ccfmzZt2hgvLy/zyy+/OKb7/vvvTXBwsGnUqJFZvHixWbt2rRk1apTx8PAwcXFxea6DjIwM07ZtW2O3282UKVPM2rVrzcSJE0316tWNJDNx4kSn9RUTE5OtjIkTJ5qCbPpvvfWWsdlspk2bNmbp0qVm3bp1Zs6cOWbo0KFOdWRuEy+99JJZt26dmTBhgrHZbNm2qSvbd/jwYbN8+XIjyQwfPtxs27bN7Nq1yxw4cMC89tprRpKZOnWq0/oaMGCA8fb2NlWrVjXTpk0zn332mVmzZo1JT083nTt3NgEBAWbSpEkmPj7evPXWW6ZKlSqmfv365vz583nOZ+b2duedd5rVq1ebJUuWmJo1a5qoqKgcl9+VNm3aZEaNGmX+85//mE2bNpkVK1aYnj17Gj8/P/Pjjz8aY4xJSkoy27ZtM5JMnz59nPbpnJZBQcs1xpiDBw9m2/cz129MTIx56qmnTHx8vFm5cqUxxpiHHnrIeHt7m1GjRplPP/3ULF261NStW9eEhYWZxMTEPOe1U6dOplKlSmbu3Llm48aNZuXKlWbChAlm2bJljmnefvttY7PZTM+ePc3y5cvN6tWrTbdu3Yynp6dZt25dtmV+5T4+depUI8ncc8895qOPPjKLFy821atXN8HBweann35yTHc121xOWrdubVq3bu14X9Dt5+DBg8bX19d06NDBrFy50mzcuNG888475r777jMnT57Ms87x48cbSaZ3797mgw8+MGvXrjUzZsww48ePL9L8F+Y4nLnso6KizAMPPGA++eQTM3fuXFO5cmUTFRXlNC+vv/66mTZtmlm1apXZtGmTWbRokYmNjTV16tQxly5dckz3ySefGA8PD9OmTRuzYsUK88EHH5hmzZqZqlWrZjvWFPQ4mdM2UtDtqyDbak7WrVtnPD09TatWrczy5cvNBx98YG666SYTHR2dbT6Ke19q3bq1CQ0NNZGRkeZf//qXWbNmjXn88ceNJDNs2DDHdFdz/MtvO/z+++9Ny5YtTXh4uOM4tW3bNsfnC5ofCrK95/T9VJBlWpDv/YIoVPjL+rLb7WbOnDlO077xxhtGknn//fedhr/wwgtGklm7dq1j2JXhzxhjduzYkWuYq1u3rrn++utNWlqa0/Bu3bqZiIgIk56eXuD5SU9PN2lpaebZZ581oaGhJiMjI8/pBwwYYCSZ//73v45haWlpplKlSkaS44vLGGOSk5ONp6enGTlypGNYv379jN1uNwkJCU7ldunSxfj7+5tTp04ZYwoe/nbu3GkkOb7YchMQEOC0fHNz+fJlk5aWZtq1a2d69erlGL548WIjybz55pt5fl6SCQsLMykpKY5hiYmJxsPDw0ybNs0xrFOnTua6664zp0+fdvr8Y489Znx9fc2JEydyreOTTz4xksyrr77qNHzKlCkuDX9nzpwx5cqVM61atcpzu8jcJrJu53fccYepU6eO07Cs7csMLi+++KLTdJnr+YMPPsixrvnz5zsNf/fdd7Ntl8b8336Udd+8Unp6uomMjDQ33HCD03z+9ttvxtvbO9/wl9Xly5fNpUuXTK1atcyTTz7pNC7rQduY3JdBQcvNK/xNmDDBqYzMAPryyy87DT98+LDx8/MzY8aMybMNgYGBZsSIEbmOP3funAkJCTHdu3d3Gp6enm5iY2PNzTff7BiWdR8/efKk44+0KyUkJBi73W769+/vGHY121xOsoa/gm4///nPf4wks2fPnnzruNKvv/5qPD09zb333pvrNIWZ/8IehzOX/ZXHOGOM2bJli5FkJk+enGMbMzIyTFpa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AwcOOH2mQoUKstlsjnCWXx2FdTXbV37bak4y56Mgx4Li3pcy5bVMM7eZgm6/BdkO81LQ/FDYeq5mmRblez+Ty37hI/MhtJkz3q5dO509ezbbgsm8izCvxzpkzmTWv4Lq1KmjWrVq6ZtvvnH0PGZ95fVFZ7PZ5OXlJU9PT8ewCxcu6O233y7wfBZFu3bttH79ekfYy7R48WL5+/s7dujMOx6//fZbp+lWrVqVa9k2m02xsbF65ZVXVL58ee3atcsxLre/KG02W7aN7Ntvv812+rlLly66ePGiSx6k6+/vr7Zt22r37t1q3Lhxjuswp7+KM7Vt21aS9M477zgNX7p0abZpq1atqqSkJKcDyKVLl7RmzZp829miRQsFBwfrjTfeKNCd4O7UrVs3JScnKz09PcflmdcfRHXq1FFERITeffddp/k8dOhQjndyZ5XTNvTRRx/p999/L/wMFVO53bp1kzFGv//+e47LqVGjRgUuKzo6Wo899pg6dOjg2Ndatmyp8uXLa9++fbken648LXilW265RX5+flqyZInT8CNHjjguFykuhdl+PD091axZM8cd+lceb7Lq2LGjPD09s/2ReSV3zH/WY8jWrVt16NAhx931mX88ZN0O//3vfzu9DwgIUNOmTbVy5UpdunTJMfzs2bNF+vGDrAq7feW0reYkICBAN998s5YvX+7UU3rmzBmtXr3aadri3peurDvr997SpUvl4eGh2267zdGWgmy/BdkOpby/LwuSHwpaT1aFWaZ5fe/np1A9f3v37tXly5cl/dX1unz5csXHx6tXr16OXpv7779fr732mgYMGKDffvtNjRo10ubNmzV16lTdcccdat++fa7l16hRQ35+fnrnnXdUr149BQYGKjIyUpGRkfr3v/+tLl26qFOnTho4cKCqVKmiEydO6IcfftCuXbv0wQcf5Fpu165dNWPGDPXv318PP/ywkpOT9dJLL+X7V4qrTJw4UR9++KHatm2rCRMmKCQkRO+8844++ugjTZ8+XcHBwZKkm266SXXq1NHo0aN1+fJlVahQQStWrNDmzZudyvvwww81Z84c9ezZU9WrV5cxRsuXL9epU6fUoUMHx3SNGjXSxo0btXr1akVERCgoKEh16tRRt27d9Nxzz2nixIlq3bq19u/fr2effVbVqlVzrF9Juueee7RgwQINGTJE+/fvV9u2bZWRkaEvv/xS9erVu+rnJb766qtq1aqVbr31Vj366KOqWrWqzpw5owMHDmj16tVav359rp/t2LGjbrvtNo0ZM0bnzp1T06ZNtWXLlhwD/N13360JEyaoX79++sc//qGLFy/qX//6V7bHBOQkMDBQL7/8sh588EG1b99eDz30kMLCwnTgwAF98803Tte3ulu/fv30zjvv6I477tATTzyhm2++Wd7e3jpy5Ig2bNigO++8U7169crxsx4eHnruuef04IMPqlevXnrooYd06tQpxcXFFei0b7du3bRw4ULVrVtXjRs31tdff60XX3yx0KdWirPcli1b6uGHH9agQYO0c+dO3XbbbQoICNCxY8e0efNmNWrUSI8++miOnz19+rTatm2r/v37q27dugoKCtKOHTv06aefOs5CBAYGatasWRowYIBOnDihPn36qHLlyjp+/Li++eYbHT9+PNcvhPLly2v8+PF65plndP/99+uee+5RcnKyJk2aJF9fX02cOLHQ852fgm4/b7zxhtavX6+uXbsqOjpaFy9e1Pz58yUpz+N51apV9cwzz+i5557ThQsXdM899yg4OFj79u3Tn3/+qUmTJrll/nfu3KkHH3xQf/vb33T48GGNGzdOVapUcVxCVLduXdWoUUNPP/20jDEKCQnR6tWrFR8fn62sZ599Vl27dlWnTp30xBNPKD09XS+++KICAwNzPdV/tQq6fRVkW83Nc889p86dO6tDhw4aNWqU0tPT9cILLyggIMBpPop7X8oUGhqqRx99VAkJCapdu7Y+/vhjvfnmm3r00UcVHR0tqeDbb0G2Q+mv78vly5fr9ddf14033igPDw81bdq0wPmhoPVkVdBlWtDv/Xxdzd0hOd3tGxwcbJo0aWJmzJhhLl686DR9cnKyGTJkiImIiDBeXl4mJibGjB07Ntt0We/2NeavO3jq1q1rvL29s90l+c0335i+ffuaypUrG29vbxMeHm5uv/1288Ybb+Q7D/Pnzzd16tQxdrvdVK9e3UybNs3Mmzcvx7trsxowYIAJCAjINrx169amQYMG2YbHxMSYrl27Og377rvvTPfu3U1wcLDx8fExsbGxOd7V/NNPP5mOHTuacuXKmUqVKpnhw4ebjz76yOlu3x9//NHcc889pkaNGsbPz88EBwebm2++2SxcuNCprD179piWLVsaf39/I8lxp19qaqoZPXq0qVKlivH19TU33HCDWblyZY53yV64cMFMmDDB1KpVy/j4+JjQ0FBz++23m61btzqmUQ53c2Yuh6zr9+DBg+aBBx4wVapUMd7e3qZSpUqmRYsWud5pd6VTp06ZBx54wJQvX974+/ubDh06mB9//DHbdmKMMR9//LFp0qSJ8fPzM9WrVzezZ88u8KNeMj/funVrExAQYPz9/U39+vWdHsuT2zaRUx1Z21eYu31zqsuYv+52fOmll0xsbKzx9fU1gYGBpm7duuaRRx4xP//8c77z+dZbbznWbe3atc38+fNzvVv6SidPnjSDBw82lStXNv7+/qZVq1bmiy++yHZHaeb8F/Ru34KWm9fdvsePH8+xzfPnzzfNmjUzAQEBxs/Pz9SoUcPcf//9To8DyerixYtmyJAhpnHjxqZcuXLGz8/P1KlTx0ycONGcO3fOadpNmzaZrl27mpCQEOPt7W2qVKliunbt6rQ+c7uj/6233jKNGzc2Pj4+Jjg42Nx5552OR/1kupptLic5rZuCbD/btm0zvXr1MjExMcZut5vQ0FDTunVrs2rVqnzrNOavpwbcdNNNjvKvv/76bMe+osx/QY/Dmct+7dq15r777jPly5d33GmcdV/Zt2+f6dChgwkKCjIVKlQwf/vb30xCQkKOx5oVK1aYRo0aGR8fHxMdHW2ef/558/jjj5sKFSo4TVfQ42Ru20h+29fVbKs5WbVqlWMdZM5HbttWce5Lmetz48aNpmnTpsZut5uIiAjzzDPPZHvax9Uc//LbDk+cOGH69Oljypcvb2w2m9N8X01+yK+e3I6v+S3Tgn7v58dmTAk/pwUAgIssXLhQgwYN0o4dO5x+qcrV0tLS1KRJE1WpUkVr164ttnrKqjZt2ujPP//U3r173d2UMsllN3wAAGBVgwcPVocOHRQREaHExES98cYb+uGHH/K9GxpwB8IfAABFdObMGY0ePVrHjx+Xt7e3brjhBn388cd5Xg8JuAunfQEAACzEZY96AQAAQMlH+AMAALAQwh8AAICFcMNHHjIyMnT06FEFBQXl+LNaAACg5DHG6MyZMwX+XXqrIfzl4ejRo4X6DUAAAOB+hw8fLvIvDpVFhL88ZP5O8OHDh1WuXDk3twYAABRESkqKoqKiHN/jcEb4y0Pmqd5y5coR/gAAKGW4ZCtnnAgHAACwEMIfAACAhRD+AAAALITwBwAAYCGEPwAAAAsh/AEAAFgI4Q8AAMBCCH8AAAAWQvgDAACwEMIfAACAhRD+AAAALITwBwAAYCGEPwAAAAvxcncDgJLs4sWLSkhIcHcz8hQdHS1fX193NwMAUEoQ/oA8JCQk6OGHH3Z3M/I0d+5c1a5d293NAACUEoQ/IA/R0dGaO3euy8o7dOiQpkyZonHjxikmJsYlZUZHR7ukHACANRD+gDz4+voWS69aTEwMvXUAALfghg8AAAALIfwBAABYCOEPAADAQgh/AAAAFkL4AwAAsBDu9gUAXJXS8PBziQegA7kh/AEArkppePi5xAPQgdwQ/gAAV6U0PPxc4gHoQG4IfwCAq8LDz4HSjRs+AAAALITwBwAAYCGEPwAAAAsh/AEAAFgI4Q8AAMBCCH8AAAAWQvgDAACwEJ7zB6BU4CfFAMA1CH8ASgV+UgwAXIPwB6BU4CfFAMA1CH8ASgV+UgwAXIMbPgAAACykxIW/adOm6aabblJQUJAqV66snj17av/+/U7TGGMUFxenyMhI+fn5qU2bNvr++++dpklNTdXw4cNVsWJFBQQEqEePHjpy5Mi1nBUAAIASp8SFv02bNmnYsGHavn274uPjdfnyZXXs2FHnzp1zTDN9+nTNmDFDs2fP1o4dOxQeHq4OHTrozJkzjmlGjBihFStWaNmyZdq8ebPOnj2rbt26KT093R2zBQAAUCKUuGv+Pv30U6f3CxYsUOXKlfX111/rtttukzFGM2fO1Lhx49S7d29J0qJFixQWFqalS5fqkUce0enTpzVv3jy9/fbbat++vSRpyZIlioqK0rp169SpU6drPl8AAAAlQYnr+cvq9OnTkqSQkBBJ0sGDB5WYmKiOHTs6prHb7WrdurW2bt0qSfr666+VlpbmNE1kZKQaNmzomCYnqampSklJcXoBAACUJSU6/BljNHLkSLVq1UoNGzaUJCUmJkqSwsLCnKYNCwtzjEtMTJSPj48qVKiQ6zQ5mTZtmoKDgx2vqKgoV84OAACA25Xo8PfYY4/p22+/1bvvvpttnM1mc3pvjMk2LKv8phk7dqxOnz7teB0+fLhwDQcAACihSmz4Gz58uFatWqUNGzbouuuucwwPDw+XpGw9eElJSY7ewPDwcF26dEknT57MdZqc2O12lStXzukFAABQlpS48GeM0WOPPably5dr/fr1qlatmtP4atWqKTw8XPHx8Y5hly5d0qZNm9SiRQtJ0o033ihvb2+naY4dO6a9e/c6pgEAALCiEne377Bhw7R06VL973//U1BQkKOHLzg4WH5+frLZbBoxYoSmTp2qWrVqqVatWpo6dar8/f3Vv39/x7SDBw/WqFGjFBoaqpCQEI0ePVqNGjVy3P0LAABgRSUu/L3++uuSpDZt2jgNX7BggQYOHChJGjNmjC5cuKChQ4fq5MmTatasmdauXaugoCDH9K+88oq8vLzUt29fXbhwQe3atdPChQvl6el5rWYFAACgxClx4c8Yk+80NptNcXFxiouLy3UaX19fzZo1S7NmzXJh666NixcvKiEhwd3NyFN0dLR8fX3d3QwAsLTS8H0h8Z1R0pS48AcpISFBDz/8sLubkae5c+eqdu3a7m4GAFhaafi+kPjOKGkIfyVQdHS05s6d65KyDh06pClTpmjcuHGKiYlxSZnSX20EALiXK78vJL4zrILwVwL5+vq6/C+kmJgY/uoCgDKmOL4vJL4zyroS96gXAAAAFB/CHwAAgIUQ/gAAACyE8AcAAGAhhD8AAAALIfwBAABYCOEPAADAQgh/AAAAFkL4AwAAsBDCHwAAgIUQ/gAAACyE8AcAAGAhhD8AAAALIfwBAABYCOEPAADAQgh/AAAAFkL4AwAAsBDCHwAAgIUQ/gAAACyE8AcAAGAhhD8AAAALIfwBAABYCOEPAADAQgh/AAAAFkL4AwAAsBDCHwAAgIUQ/gAAACyE8AcAAGAhhD8AAAALIfwBAABYCOEPAADAQgh/AAAAFkL4AwAAsBDCHwAAgIUQ/gAAACyE8AcAAGAhhD8AAAALIfwBAABYCOEPAADAQgh/AAAAFkL4AwAAsBDCHwAAgIUQ/gAAACyE8AcAAGAhhD8AAAALIfwBAABYCOEPAADAQgh/AAAAFkL4AwAAsBDCHwAAgIUQ/gAAACyE8AcAAGAhhD8AAAALIfwBAABYCOEPAADAQgh/AAAAFkL4AwAAsBDCHwAAgIUQ/gAAACyE8AcAAGAhhD8AAAALIfwBAABYCOEPAADAQkpk+Pv888/VvXt3RUZGymazaeXKlU7jBw4cKJvN5vRq3ry50zSpqakaPny4KlasqICAAPXo0UNHjhy5hnMBAABQ8pTI8Hfu3DnFxsZq9uzZuU7TuXNnHTt2zPH6+OOPncaPGDFCK1as0LJly7R582adPXtW3bp1U3p6enE3HwAAoMTycncDctKlSxd16dIlz2nsdrvCw8NzHHf69GnNmzdPb7/9ttq3by9JWrJkiaKiorRu3Tp16tTJ5W0GAAAoDUpkz19BbNy4UZUrV1bt2rX10EMPKSkpyTHu66+/Vlpamjp27OgYFhkZqYYNG2rr1q25lpmamqqUlBSnFwAAQFlSKsNfly5d9M4772j9+vV6+eWXtWPHDt1+++1KTU2VJCUmJsrHx0cVKlRw+lxYWJgSExNzLXfatGkKDg52vKKioop1PgAAAK61EnnaNz9333234/8NGzZU06ZNFRMTo48++ki9e/fO9XPGGNlstlzHjx07ViNHjnS8T0lJIQACAIAypVT2/GUVERGhmJgY/fzzz5Kk8PBwXbp0SSdPnnSaLikpSWFhYbmWY7fbVa5cOacXAABAWVImwl9ycrIOHz6siIgISdKNN94ob29vxcfHO6Y5duyY9u7dqxYtWrirmQAAAG5XIk/7nj17VgcOHHC8P3jwoPbs2aOQkBCFhIQoLi5Od911lyIiIvTbb7/pmWeeUcWKFdWrVy9JUnBwsAYPHqxRo0YpNDRUISEhGj16tBo1auS4+xcAAMCKSmT427lzp9q2bet4n3kd3oABA/T666/ru+++0+LFi3Xq1ClFRESobdu2eu+99xQUFOT4zCuvvCIvLy/17dtXFy5cULt27bRw4UJ5enpe8/kBAAAoKUpk+GvTpo2MMbmOX7NmTb5l+Pr6atasWZo1a5YrmwYAAFCqlYlr/gAAAFAwhD8AAAALIfwBAABYCOEPAADAQgh/AAAAFkL4AwAAsBDCHwAAgIUQ/gAAACyE8AcAAGAhhD8AAAALIfwBAABYiMvC3+eff67Lly9nG3758mV9/vnnrqoGAAAAReCy8Ne2bVudOHEi2/DTp0+rbdu2rqoGAAAAReCy8GeMkc1myzY8OTlZAQEBrqoGAAAAReBV1AJ69+4tSbLZbBo4cKDsdrtjXHp6ur799lu1aNGiqNUAAADABYoc/oKDgyX91fMXFBQkPz8/xzgfHx81b95cDz30UFGrAQAAgAsUOfwtWLBAklS1alWNHj2aU7wAAAAlWJHDX6aJEye6qigAAAAUE5fd8PHHH3/ovvvuU2RkpLy8vOTp6en0AgAAgPu5rOdv4MCBSkhI0Pjx4xUREZHjnb8AAABwL5eFv82bN+uLL75QkyZNXFUkAAAAXMxlp32joqJkjHFVcQAAACgGLgt/M2fO1NNPP63ffvvNVUUCAADAxVx22vfuu+/W+fPnVaNGDfn7+8vb29tpfE4//QYAAIBry2Xhb+bMma4qCgAAAMXEZeFvwIABrioKAAAAxcRl4S8hISHP8dHR0a6qCgAAAIXksvBXtWrVPJ/tl56e7qqqAAAAUEguC3+7d+92ep+Wlqbdu3drxowZmjJliquqAQAAQBG4LPzFxsZmG9a0aVNFRkbqxRdfVO/evV1VFQAAAArJZc/5y03t2rW1Y8eO4q4GAAAABeCynr+UlBSn98YYHTt2THFxcapVq5arqgEAAEARuCz8lS9fPtsNH8YYRUVFadmyZa6qBgAAAEXgsvC3YcMGp/ceHh6qVKmSatasKS8vl1UDAACAInBZKmvdurWrigIAAEAxcWmX3C+//KKZM2fqhx9+kM1mU7169fTEE0+oRo0arqwGAAAAheSyu33XrFmj+vXr66uvvlLjxo3VsGFDffnll2rQoIHi4+NdVQ0AAACKwGU9f08//bSefPJJPf/889mGP/XUU+rQoYOrqgIAAEAhuazn74cfftDgwYOzDX/ggQe0b98+V1UDAACAInBZ+KtUqZL27NmTbfiePXtUuXJlV1UDAACAInDZad+HHnpIDz/8sH799Ve1aNFCNptNmzdv1gsvvKBRo0a5qhoAAAAUgcvC3/jx4xUUFKSXX35ZY8eOlSRFRkYqLi5Ojz/+uKuqAQAAQBG4LPzZbDY9+eSTevLJJ3XmzBlJUlBQkKuKBwAAgAsUy09vEPoAAABKJpeFv+TkZE2YMEEbNmxQUlKSMjIynMafOHHCVVUBAACgkFwW/v7+97/rl19+0eDBgxUWFiabzeaqogEAAOAiLgt/mzdv1ubNmxUbG+uqIgEAAOBiLnvOX926dXXhwgVXFQcAAIBi4LLwN2fOHI0bN06bNm1ScnKyUlJSnF4AAABwP5ed9i1fvrxOnz6t22+/3Wm4MUY2m03p6emuqgoAAACF5LLwd++998rHx0dLly7lhg8AAIASymXhb+/evdq9e7fq1KnjqiIBAADgYi675q9p06Y6fPiwq4oDAABAMXBZz9/w4cP1xBNP6B//+IcaNWokb29vp/GNGzd2VVUAAAAoJJeFv7vvvluS9MADDziG2Ww2bvgAAAAoQVwW/g4ePOiqogAAAFBMXBb+YmJiXFUUAAAAionLwl+mffv2KSEhQZcuXXIa3qNHD1dXBQAAgKvksvD366+/qlevXvruu+8c1/pJcjzvj2v+AAAA3M9lj3p54oknVK1aNf3xxx/y9/fX999/r88//1xNmzbVxo0bXVUNAAAAisBlPX/btm3T+vXrValSJXl4eMjDw0OtWrXStGnT9Pjjj2v37t2uqgoAAACF5LKev/T0dAUGBkqSKlasqKNHj0r660aQ/fv3u6oaAAAAFIHLev4aNmyob7/9VtWrV1ezZs00ffp0+fj4aO7cuapevbqrqgEAAEARuCz8/fOf/9S5c+ckSZMnT1a3bt106623KjQ0VO+9956rqgEAAEARuCz8derUyfH/6tWra9++fTpx4oQqVKjguONXko4cOaLIyEh5eLjsjDMAAAAKqFgTWEhIiFPwk6T69evrt99+K85qAQAAkAuXP+Q5P5nP/8vL559/rhdffFFff/21jh07phUrVqhnz55OZUyaNElz587VyZMn1axZM7322mtq0KCBY5rU1FSNHj1a7777ri5cuKB27dppzpw5uu6664pjtgCgRPvjjz90+vRpdzcjR4cOHXL6tyQKDg5WWFiYS8piXRSNK9eFVV3z8FcQ586dU2xsrAYNGqS77ror2/jp06drxowZWrhwoWrXrq3JkyerQ4cO2r9/v4KCgiRJI0aM0OrVq7Vs2TKFhoZq1KhR6tatm77++mt5enpe61kCALf5448/9Pf77lfapVR3NyVPU6ZMcXcTcuXtY9eStxcXOXSwLorOVevCykpk+OvSpYu6dOmS4zhjjGbOnKlx48apd+/ekqRFixYpLCxMS5cu1SOPPKLTp09r3rx5evvtt9W+fXtJ0pIlSxQVFaV169Y5XZ8IAGXd6dOnlXYpVReqt1aGb7C7m1PqeFw8Lf26SadPny5y4GBdFI0r14WVlcjwl5eDBw8qMTFRHTt2dAyz2+1q3bq1tm7dqkceeURff/210tLSnKaJjIxUw4YNtXXr1lzDX2pqqlJT/++vsZSUlOKbEcACOL1VeMVxaivDN1gZARVdWiYKh3UBd7rm4S/rDSBXKzExUZKyHRTDwsIcB/HExET5+PioQoUK2abJ/HxOpk2bpkmTJhWpfQD+wumtouHUFoDiUiJv+CiIrCHSGJNvsMxvmrFjx2rkyJGO9ykpKYqKiipaQ3HN0dtUeK7sbeL0VuFxagtAcbrm4W/fvn2KjIws9OfDw8Ml/dW7FxER4RielJTkOEiGh4fr0qVLOnnypFPvX1JSklq0aJFr2Xa7XXa7vdBtg/vR21Q0xdHbxOktAChZihT+Mm+4KIjly5dLUpF70qpVq6bw8HDFx8fr+uuvlyRdunRJmzZt0gsvvCBJuvHGG+Xt7a34+Hj17dtXknTs2DHt3btX06dPL1L9KNnobSo8epsAwBqKFP6Cg4vny/Xs2bM6cOCA4/3Bgwe1Z88ehYSEKDo6WiNGjNDUqVNVq1Yt1apVS1OnTpW/v7/69+/vaNfgwYM1atQohYaGKiQkRKNHj1ajRo0cd/+ibKO3CQCAnBUp/C1YsMBV7XCyc+dOtW3b1vE+8zq8AQMGaOHChRozZowuXLigoUOHOh7yvHbtWscz/iTplVdekZeXl/r27et4yPPChQt5xh8AALC0EvmolzZt2uR5Y4jNZlNcXJzi4uJyncbX11ezZs3SrFmziqGF2ZXUmwxK+g0GEk9rBwDgWnJp+PvPf/6j999/XwkJCbp06ZLTuF27drmyqhKlNNxkUFJvMJB4pAUAANeSy8Lfv/71L40bN04DBgzQ//73Pw0aNEi//PKLduzYoWHDhrmqmhKJmwwKj5sMAAC4tlwW/ubMmaO5c+fqnnvu0aJFizRmzBhVr15dEyZM0IkTJ1xVTYnGTQYAAKCk83BVQQkJCY5n6Pn5+enMmTOSpPvuu0/vvvuuq6oBAABAEbgs/IWHhys5OVmSFBMTo+3bt0v66zEtrvpVDwAAABSNy8Lf7bffrtWrV0uSBg8erCeffFIdOnTQ3XffrV69ermqGgAAABSBy675mzt3rjIyMiRJQ4YMUUhIiDZv3qzu3btryJAhrqoGAAAAReCy8HfkyBGnn27r27ev+vbtK2OMDh8+rOjoaFdVBQAAgEJy2WnfatWq6fjx49mGnzhxQtWqVXNVNQAAACgCl4U/Y4xsNlu24WfPnpWvr6+rqgEAAEARFPm0b+bv7tpsNo0fP17+/v6Ocenp6fryyy/VpEmTolYDAAAAFyhy+Nu9e7ekv3r+vvvuO/n4+DjG+fj4KDY2VqNHjy5qNQAAAHCBIoe/DRs2SJIGDRqkV199VeXKlStyowAAAFA8XHa374IFCxz/P3LkiGw2m6pUqeKq4gEAAOACLrvhIyMjQ88++6yCg4MVExOj6OholS9fXs8995zj+X8AAABwL5f1/I0bN07z5s3T888/r5YtW8oYoy1btiguLk4XL17UlClTXFUVAAAACsll4W/RokV666231KNHD8ew2NhYValSRUOHDiX8AQAAlAAuO+174sQJ1a1bN9vwunXr6sSJE66qBgAAAEXgsvAXGxur2bNnZxs+e/ZsxcbGuqoaAAAAFIHLTvtOnz5dXbt21bp163TLLbfIZrNp69atOnz4sD7++GNXVQMAAIAicOlv+/7000/q1auXTp06pRMnTqh3797av3+/YmJiXFUNAAAAisBlPX/VqlXTsWPHst3YkZycrKioKKWnp7uqKgAAABSSy3r+jDE5Dj979qx8fX1dVQ0AACgmGQG/6VLN+coI+M3dTUExKnLP38iRIyVJNptNEyZMkL+/v2Ncenq6vvzySzVp0qSo1QAAgGJkZJQe9oXkm6z0sC9k+zVGNtnc3SwUgyKHv927d0v6q+fvu+++k4+Pj2Ocj4+PYmNjNXr06KJWAwAAipEJ/E3GP/Gv//snygT+JtvZam5uFYpDkcPfhg0bJEmDBg3Sq6++qnLlyhW5UQAA4NoxMkqvvFkyNslmJGNTeuXNsp2tSu9fGeSya/4WLFhA8AMAoBRy9PrZ/v/1+zbj6P1D2eOy8AcAAEofp14/pxF/9f4Z5XxDJ0ovwh8AABaWrdcvE71/ZRbhDwAAi/q/Xr9cJ6D3rwwi/AGwJJ5nBkiypct4pyjXezps+v/j+aGGssRlv/ABAKUFzzMrWTICftPliPXyOna7PM5VdXdzLMVmvOT9630ynhdyn+ayv2yGuFCWsDYBWA7PMys5COLuZ0srJ1saT+uwEk77ArCUbHc2ckejW+UUxAEUL8JfGcd1TYAznmdWchDEAfcg/JVhWU+ncECF1fE8s5KFIA64B+GvDON0CuCM55mVHARxwH0If2UUp1MAZzzPrGQhiAPuQ/grozidAmTB88xKDII44F486qUMcur1u/Kv6v/f+2c7W5VHKcByeJ5ZCXI1QbyMrg+PC6fc3YRSieXmGmVzr7K4K6/1c3JF7x/PNIMV8TyzkoEgLvkd/NzdTYCFld09y6KcTqfk9Ff1/z+dQu+fe/BLBsBfrB7EL1S7TRl+5d3djFLH48IpgrMLEP7KGk6nlFj8kgGATBl+5ZURUNHdzYBF8e1fxnA6peTiJ8UAACUBCaAMsvrplJIo20043HwDAHATHvUCXAM8egcAUFIQ/oBixi8ZAABKEsIfUMz4JQMAQElC+AOKEb9kAAAoaQh/QHHiJ8UAACUMd/sCxYhH7wAAShq+cYBixqN3AAAlCad9AQAALITwBwAAYCGc9gVQrDwunHJ3E0odlhmA4kT4A1Cs/A5+7u4mAACuQPgDUKwuVLtNGX7l3d2MUsXjwilCM4BiQ/gDUKwy/MorI6Ciu5sBAPj/uOEDAADAQgh/AAAAFkL4AwAAsBCu+QMAi+ARMoXDckNZQ/gDAIvgDmIAEuEPACyDx+4UDo/eQVlD+AMAi+CxOwAkwh/KKK7RuXosMwCwBsIfyiRO0QAAkLNSGf7i4uI0adIkp2FhYWFKTEyUJBljNGnSJM2dO1cnT55Us2bN9Nprr6lBgwbuaC7cgGubrh7XNQGANZTK8CdJDRo00Lp16xzvPT09Hf+fPn26ZsyYoYULF6p27dqaPHmyOnTooP379ysoKMgdzcU1xrVNAADkrNQ+5NnLy0vh4eGOV6VKlST91es3c+ZMjRs3Tr1791bDhg21aNEinT9/XkuXLnVzqwEAANyr1Pb8/fzzz4qMjJTdblezZs00depUVa9eXQcPHlRiYqI6duzomNZut6t169baunWrHnnkkVzLTE1NVWpqquN9SkrKVbWJC+avHssMAIBrq1SGv2bNmmnx4sWqXbu2/vjjD02ePFktWrTQ999/77juLywszOkzYWFhOnToUJ7lTps2Ldu1hFeD66UAAEBJVyrDX5cuXRz/b9SokW655RbVqFFDixYtUvPmzSVJNpvN6TPGmGzDsho7dqxGjhzpeJ+SkqKoqKgCt4ubDK4eNxkAAHBtlcrwl1VAQIAaNWqkn3/+WT179pQkJSYmKiIiwjFNUlJStt7ArOx2u+x2e6HbwU0GAACgpCu1N3xcKTU1VT/88IMiIiJUrVo1hYeHKz4+3jH+0qVL2rRpk1q0aOHGVgIAALhfqez5Gz16tLp3767o6GglJSVp8uTJSklJ0YABA2Sz2TRixAhNnTpVtWrVUq1atTR16lT5+/urf//+7m46AACAW5XK8HfkyBHdc889+vPPP1WpUiU1b95c27dvV0xMjCRpzJgxunDhgoYOHep4yPPatWt5xh8AALC8Uhn+li1blud4m82muLg4xcXFXZsGAQAAlBJl4po/AAAAFAzhDwAAwEIIfwAAABZC+AMAALAQwh8AAICFEP4AAAAshPAHAABgIaXyOX8AAJRmHhdPu7sJpRLLzTUIfwAAXCPBwcHy9rFLv25yd1NKLW8fu4KDg93djFKN8AcAwDUSFhamJW8v1unTJbMH69ChQ5oyZYrGjRvn+MnUkiY4OFhhYWHubkapRvgDAOAaCgsLK/HhJSYmRrVr13Z3M1BMuOEDAADAQgh/AAAAFkL4AwAAsBDCHwAAgIUQ/gAAACyE8AcAAGAhhD8AAAALIfwBAABYCOEPAADAQgh/AAAAFkL4AwAAsBDCHwAAgIV4ubsBZYnHxdPubkKpwzIr+1jHV49lBqA4Ef5cIDg4WN4+dunXTe5uSqnk7WNXcHCwu5sBF2O/KBr2CwDFhfDnAmFhYVry9mKdPl3y/lo/dOiQpkyZonHjxikmJsbdzclRcHCwwsLC3N0MuFhJ3i+kkr9vFMd+QY9i4bDcUNYQ/lwkLCysRAeYmJgY1a5d293NgMWU9P1Cssa+QS9s0dETi7KE8AcAZRy9sEXHGQqUJYQ/ALAAemEBZOJRLwAAABZC+AMAALAQwh8AAICFEP4AAAAshPAHAABgIYQ/AAAACyH8AQAAWAjhDwAAwEIIfwAAABbCL3ygTOKH2K8eywwArIHwhzKFH7AvGn68HgDKPsIfyhR+wL5o+PF6ACj7CH8oc/gBewAAcscNHwAAABZC+AMAALAQwh8AAICFEP4AAAAshPAHAABgIYQ/AAAACyH8AQAAWAjhDwAAwEIIfwAAABZC+AMAALAQwh8AAICFEP4AAAAshPAHAABgIYQ/AAAACyH8AQAAWAjhDwAAwEIIfwAAABZC+AMAALAQwh8AAICFEP4AAAAshPAHAABgIYQ/AAAACyH8AQAAWAjhDwAAwEK83N2A4jZnzhy9+OKLOnbsmBo0aKCZM2fq1ltvdXezUEpcvHhRCQkJLivv0KFDTv+6QnR0tHx9fV1WHgCgbCvT4e+9997TiBEjNGfOHLVs2VL//ve/1aVLF+3bt0/R0dHubh5KgYSEBD388MMuL3fKlCkuK2vu3LmqXbu2y8oDAJRtZTr8zZgxQ4MHD9aDDz4oSZo5c6bWrFmj119/XdOmTXNz63Lnyt6m4uhpkqzT2xQdHa25c+e6uxl5ssofMqWhF1ayxr7Buig5WBcoDJsxxri7EcXh0qVL8vf31wcffKBevXo5hj/xxBPas2ePNm3alO0zqampSk1NdbxPSUlRVFSUTp8+rXLlyl2TdkvSTz/9VCy9Ta5EbxOutdKwX0jW2DdYFyUH6yJnKSkpCg4Ovubf36VFme35+/PPP5Wenq6wsDCn4WFhYUpMTMzxM9OmTdOkSZOuRfPyRG8TkF1p2C8ka+wbrIuSg3WBwiiz4S+TzWZzem+MyTYs09ixYzVy5EjH+8yev2vN19e3zP+1Clwt9ouSg3VRcrAuUBhlNvxVrFhRnp6e2Xr5kpKSsvUGZrLb7bLb7deieQAAAG5RZp/z5+PjoxtvvFHx8fFOw+Pj49WiRQs3tQoAAMC9ymzPnySNHDlS9913n5o2bapbbrlFc+fOVUJCgoYMGeLupgEAALhFmQ5/d999t5KTk/Xss8/q2LFjatiwoT7++GPFxMS4u2kAAABuUWYf9eIK3CoOAEDpw/d33srsNX8AAADIjvAHAABgIYQ/AAAACyH8AQAAWAjhDwAAwEIIfwAAABZC+AMAALAQwh8AAICFlOlf+CiqzOdfp6SkuLklAACgoDK/t/kdi5wR/vJw5swZSVJUVJSbWwIAAK7WmTNnFBwc7O5mlDj8vFseMjIydPToUQUFBclms7m7OYWSkpKiqKgoHT58mJ+4KQFYHyUH66LkYF2UHGVlXRhjdObMGUVGRsrDgyvcsqLnLw8eHh667rrr3N0MlyhXrlyp3pHLGtZHycG6KDlYFyVHWVgX9PjljjgMAABgIYQ/AAAACyH8lXF2u10TJ06U3W53d1Mg1kdJwrooOVgXJQfrwhq44QMAAMBC6PkDAACwEMIfAACAhRD+AAAALITwBwAAYCGEvzLi888/V/fu3RUZGSmbzaaVK1c6jTfGKC4uTpGRkfLz81ObNm30/fffu6exZVx+62L58uXq1KmTKlasKJvNpj179rilnVaQ17pIS0vTU089pUaNGikgIECRkZG6//77dfToUfc1uIzLb9+Ii4tT3bp1FRAQoAoVKqh9+/b68ssv3dPYMi6/dXGlRx55RDabTTNnzrxm7UPxIvyVEefOnVNsbKxmz56d4/jp06drxowZmj17tnbs2KHw8HB16NDB8fvFcJ381sW5c+fUsmVLPf/889e4ZdaT17o4f/68du3apfHjx2vXrl1avny5fvrpJ/Xo0cMNLbWG/PaN2rVra/bs2fruu++0efNmVa1aVR07dtTx48evcUvLvvzWRaaVK1fqyy+/VGRk5DVqGa4JgzJHklmxYoXjfUZGhgkPDzfPP/+8Y9jFixdNcHCweeONN9zQQuvIui6udPDgQSPJ7N69+5q2yaryWheZvvrqKyPJHDp06No0ysIKsj5Onz5tJJl169Zdm0ZZVG7r4siRI6ZKlSpm7969JiYmxrzyyivXvG0oHvT8WcDBgweVmJiojh07OobZ7Xa1bt1aW7dudWPLgJLl9OnTstlsKl++vLubYnmXLl3S3LlzFRwcrNjYWHc3x3IyMjJ033336R//+IcaNGjg7ubAxbzc3QAUv8TERElSWFiY0/CwsDAdOnTIHU0CSpyLFy/q6aefVv/+/Uv9D9qXZh9++KH69eun8+fPKyIiQvHx8apYsaK7m2U5L7zwgry8vPT444+7uykoBvT8WYjNZnN6b4zJNgyworS0NPXr108ZGRmaM2eOu5tjaW3bttWePXu0detWde7cWX379lVSUpK7m2UpX3/9tV599VUtXLiQ74gyivBnAeHh4ZL+rwcwU1JSUrbeQMBq0tLS1LdvXx08eFDx8fH0+rlZQECAatasqebNm2vevHny8vLSvHnz3N0sS/niiy+UlJSk6OhoeXl5ycvLS4cOHdKoUaNUtWpVdzcPLkD4s4Bq1aopPDxc8fHxjmGXLl3Spk2b1KJFCze2DHCvzOD3888/a926dQoNDXV3k5CFMUapqanuboal3Hffffr222+1Z88exysyMlL/+Mc/tGbNGnc3Dy7ANX9lxNmzZ3XgwAHH+4MHD2rPnj0KCQlRdHS0RowYoalTp6pWrVqqVauWpk6dKn9/f/Xv39+NrS6b8lsXJ06cUEJCguN5cvv375f0Vw9tZi8tXCOvdREZGak+ffpo165d+vDDD5Wenu7oHQ8JCZGPj4+7ml1m5bU+QkNDNWXKFPXo0UMRERFKTk7WnDlzdOTIEf3tb39zY6vLpvyOU1n/EPL29lZ4eLjq1KlzrZuK4uDu243hGhs2bDCSsr0GDBhgjPnrcS8TJ0404eHhxm63m9tuu81899137m10GZXfuliwYEGO4ydOnOjWdpdFea2LzEft5PTasGGDu5teJuW1Pi5cuGB69eplIiMjjY+Pj4mIiDA9evQwX331lbubXSbld5zKike9lC02Y4wp3ngJAACAkoJr/gAAACyE8AcAAGAhhD8AAAALIfwBAABYCOEPAADAQgh/AAAAFkL4AwAAsBDCH4Brpk2bNhoxYoS7mwEAlkb4AwAAsBDCH4BSLT09XRkZGe5uBgCUGoQ/wILatGmjxx9/XGPGjFFISIjCw8MVFxcnSfrtt99ks9m0Z88ex/SnTp2SzWbTxo0bJUkbN26UzWbTmjVrdP3118vPz0+33367kpKS9Mknn6hevXoqV66c7rnnHp0/f96p7suXL+uxxx5T+fLlFRoaqn/+85+68lcmL126pDFjxqhKlSoKCAhQs2bNHPVK0sKFC1W+fHl9+OGHql+/vux2uw4dOpTvPM+fP18NGjSQ3W5XRESEHnvsMce4hIQE3XnnnQoMDFS5cuXUt29f/fHHH47xcXFxatKkiebPn6/o6GgFBgbq0UcfVXp6uqZPn67w8HBVrlxZU6ZMcarTZrPp9ddfV5cuXeTn56dq1arpgw8+cJrmqaeeUu3ateXv76/q1atr/PjxSktLc5pm8uTJqly5soKCgvTggw/q6aefVpMmTRzjBw4cqJ49e+qll15SRESEQkNDNWzYMEc5zz77rBo1apRtmdx4442aMGFCvssOQBnj5t8WBuAGrVu3NuXKlTNxcXHmp59+MosWLTI2m82sXbvWHDx40Egyu3fvdkx/8uRJI8ls2LDBGPN/PwrfvHlzs3nzZrNr1y5Ts2ZN07p1a9OxY0eza9cu8/nnn5vQ0FDz/PPPO9UbGBhonnjiCfPjjz+aJUuWGH9/fzN37lzHNP379zctWrQwn3/+uTlw4IB58cUXjd1uNz/99JMxxpgFCxYYb29v06JFC7Nlyxbz448/mrNnz+Y5v3PmzDG+vr5m5syZZv/+/earr75y/Eh9RkaGuf76602rVq3Mzp07zfbt280NN9xgWrdu7fj8xIkTTWBgoOnTp4/5/vvvzapVq4yPj4/p1KmTGT58uPnxxx/N/PnzjSSzbds2x+ckmdDQUPPmm2+a/fv3m3/+85/G09PT7Nu3zzHNc889Z7Zs2WIOHjxoVq1aZcLCwswLL7zgGL9kyRLj6+tr5s+fb/bv328mTZpkypUrZ2JjYx3TDBgwwJQrV84MGTLE/PDDD2b16tVOy/Xw4cPGw8PDfPXVV47PfPPNN8Zms5lffvklz2UHoOwh/AEW1Lp1a9OqVSunYTfddJN56qmnrir8rVu3zjHNtGnTjCSnMPHII4+YTp06OdVbr149k5GR4Rj21FNPmXr16hljjDlw4ICx2Wzm999/d2pbu3btzNixY40xf4U/SWbPnj0Fnt/IyEgzbty4HMetXbvWeHp6moSEBMew77//3khyhKWJEycaf39/k5KS4pimU6dOpmrVqiY9Pd0xrE6dOmbatGmO95LMkCFDnOpr1qyZefTRR3Nt6/Tp082NN97oNP2wYcOcpmnZsmW28BcTE2MuX77sGPa3v/3N3H333Y73Xbp0cap3xIgRpk2bNrm2A0DZxWlfwKIaN27s9D4iIkJJSUmFLiMsLMxx6vLKYVnLbN68uWw2m+P9Lbfcop9//lnp6enatWuXjDGqXbu2AgMDHa9Nmzbpl19+cXzGx8cnW/tzk5SUpKNHj6pdu3Y5jv/hhx8UFRWlqKgox7D69eurfPny+uGHHxzDqlatqqCgIKd5q1+/vjw8PJyGZZ3fW265Jdv7K8v9z3/+o1atWik8PFyBgYEaP368EhISHOP379+vm2++2amMrO8lqUGDBvL09HS8z7o+H3roIb377ru6ePGi0tLS9M477+iBBx7IcZkAKNu83N0AAO7h7e3t9N5msykjI8MRZswV1+FlvQYtpzJsNluuZRZURkaGPD099fXXXzsFGUkKDAx0/N/Pz88pQObFz88vz/HGmBzLyjo8p3kr7Pxmlrt9+3b169dPkyZNUqdOnRQcHKxly5bp5ZdfznH6K9uWVX5t6d69u+x2u1asWCG73a7U1FTddddd+bYVQNlDzx8AJ5UqVZIkHTt2zDHsyps/imr79u3Z3teqVUuenp66/vrrlZ6erqSkJNWsWdPpFR4eXqj6goKCVLVqVX322Wc5jq9fv74SEhJ0+PBhx7B9+/bp9OnTqlevXqHqvFJO81u3bl1J0pYtWxQTE6Nx48apadOmqlWrVrabV+rUqaOvvvrKadjOnTuvuh1eXl4aMGCAFixYoAULFqhfv37y9/e/6nIAlH70/AFw4ufnp+bNm+v5559X1apV9eeff+qf//yny8o/fPiwRo4cqUceeUS7du3SrFmzHD1dtWvX1r333qv7779fL7/8sq6//nr9+eefWr9+vRo1aqQ77rijUHXGxcVpyJAhqly5srp06aIzZ85oy5YtGj58uNq3b6/GjRvr3nvv1cyZM3X58mUNHTpUrVu3VtOmTYs8vx988IGaNm2qVq1a6Z133tFXX32lefPmSZJq1qyphIQELVu2TDfddJM++ugjrVixwunzw4cP10MPPaSmTZuqRYsWeu+99/Ttt986nV4vqAcffNARaLds2VLkeQNQOtHzByCb+fPnKy0tTU2bNtUTTzyhyZMnu6zs+++/XxcuXNDNN9+sYcOGafjw4Xr44Ycd4xcsWKD7779fo0aNUp06ddSjRw99+eWXTtfkXa0BAwZo5syZmjNnjho0aKBu3brp559/lvTX6dGVK1eqQoUKuu2229S+fXtVr15d7733XpHnVZImTZqkZcuWqXHjxlq0aJHeeecd1a9fX5J055136sknn9Rjjz2mJk2aaOvWrRo/frzT5++9916NHTtWo0eP1g033KCDBw9q4MCB8vX1veq21KpVSy1atFCdOnXUrFkzl8wfgNLHZnK6eAQAUGQ2m00rVqxQz549XVpuhw4dFB4errfffvuqPmeMUd26dfXII49o5MiRLm0TgNKD074AUIKdP39eb7zxhjp16iRPT0+9++67WrduneLj46+qnKSkJL399tv6/fffNWjQoGJqLYDSgPAHoNS78k7grD755BPdeuut17A1rmWz2fTxxx9r8uTJSk1NVZ06dfTf//5X7du3v6pywsLCVLFiRc2dO1cVKlQoptYCKA047Qug1Dtw4ECu46pUqZLv414AwEoIfwAAABbC3b4AAAAWQvgDAACwEMIfAACAhRD+AAAALITwBwAAYCGEPwAAAAsh/AEAAFgI4Q8AAMBC/h9soRb3SDv+HAAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Filtrer les données pour inclure uniquement les valeurs positives de total_amount et exclusion des valeur aberrantes\n",
"filtered_products_purchased_reduced_spectacle = products_purchased_reduced_spectacle[(products_purchased_reduced_spectacle['total_amount'] > 0) & (products_purchased_reduced_spectacle['total_amount'] <= 255)]\n",
"\n",
"# Créer le graphique en utilisant les données filtrées\n",
"sns.boxplot(data=filtered_data, y=\"total_amount\", x=\"number_compagny\", showfliers=False, showmeans=True)\n",
"\n",
"# Titre du graphique\n",
"plt.title(\"Boite à moustache du chiffre d'affaire selon les compagnies de spectacles\")\n",
"\n",
"# Afficher le graphique\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 87,
"id": "76e08ece-0b58-4b3a-abca-53e30ccc907b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Statistique F : 317.1792172580724\n",
"Valeur de p : 3.665389608154993e-273\n",
"Nombre de degrés de liberté entre les groupes : 4\n",
"Nombre de degrés de liberté à l'intérieur des groupes : 670581\n",
"Il y a des différences significatives entre au moins une des entrepries .\n"
]
}
],
"source": [
"#test d'anova pour voir si la difference de chiffre d'affaire est statistiquement significative\n",
"\n",
"from scipy.stats import f_oneway\n",
"\n",
"# Créez une liste pour stocker les données de chaque groupe\n",
"groupes = []\n",
"\n",
"# Parcourez chaque modalité de la variable catégorielle et divisez les données en groupes\n",
"for modalite in filtered_products_purchased_reduced_spectacle['number_compagny'].unique():\n",
" groupe = filtered_products_purchased_reduced_spectacle[filtered_products_purchased_reduced_spectacle['number_compagny'] == modalite]['total_amount']\n",
" groupes.append(groupe)\n",
"\n",
"# Effectuez le test ANOVA\n",
"f_statistic, p_value = f_oneway(*groupes)\n",
"\n",
"# Nombre total d'observations\n",
"N = sum(len(groupe) for groupe in groupes)\n",
"\n",
"# Nombre de groupes ou de catégories\n",
"k = len(groupes)\n",
"\n",
"# Degrés de liberté entre les groupes\n",
"df_between = k - 1\n",
"\n",
"# Degrés de liberté à l'intérieur des groupes\n",
"df_within = N - k\n",
"\n",
"# Affichez les résultats\n",
"print(\"Statistique F :\", f_statistic)\n",
"print(\"Valeur de p :\", p_value)\n",
"\n",
"print(\"Nombre de degrés de liberté entre les groupes :\", df_between)\n",
"print(\"Nombre de degrés de liberté à l'intérieur des groupes :\", df_within)\n",
"\n",
"if p_value < 0.05:\n",
" print(\"Il y a des différences significatives entre au moins une des entrepries .\")\n",
"else:\n",
" print(\"Il n'y a pas de différences significatives entre les entreprises .\")"
]
},
{
"cell_type": "code",
"execution_count": 129,
"id": "9ec6e1c5-f3bc-4041-b32e-b62762246eb7",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmcAAAHFCAYAAAC3jl5pAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSW0lEQVR4nO3deZyNdf/H8fdhZs6shhlm08wYsi8jKZkUY20wFQmpEJG03LaU240hTCmlCClrFPULt+JOZIlQYxlRkmyjGGowgxizXL8/3HNuxyxmda7h9Xw8zoPzvb7nOp/rOue6znu+13WdYzEMwxAAAABMoYyjCwAAAMD/EM4AAABMhHAGAABgIoQzAAAAEyGcAQAAmAjhDAAAwEQIZwAAACZCOAMAADARwtl1xMfHy9vbW++++66jSwEAALeAEg1n8+bNk8VisbtVqlRJLVq00Jdfflno+VapUkW9e/e23T9+/LhiYmIUHx9f9KKv0bBhQy1btkwjR47U1q1bi33+ZjRx4kQtX768xJ/HYrHo+eefL/Hnyev5Y2Jibuhz9u7dW56envnqm1N933zzjRo3biwPDw9ZLBbb67RkyRLVrVtXbm5uslgsJbItXE/v3r1VpUoVuzaLxaJ58+YVan67du1S8+bN5e3tLYvFoilTpkjKfR3kx5EjR4pUk6Nk7UuPHDlyw5+7RYsWatGixQ19zunTpxf5NSqO/Vhx1CFl35azXs+SEhMTI4vFor/++qvY5vnxxx/btsGiuPbz+0bIafvJaX9V3IqSTW7IyNncuXO1detWbdmyRbNmzVLZsmUVHR2tL774olDzW7ZsmUaNGmW7f/z4cY0dO7bEPpBatmypDz74QN27d9eff/5ZIs9hJjcqnCFvW7du1dNPP227bxiGunbtKmdnZ61YsUJbt25V8+bN9eeff+rJJ59UtWrV9NVXX2nr1q2qUaOGAysvHn369NGJEye0ePFibd26Vd27d891HeRXYGCgtm7dqg4dOpRg5Siqmy2c3QyKK5yZxahRo7Rs2bISfY6iZBOn4i8nu3r16qlx48a2+w888IAqVKigTz75RNHR0QWe3x133FGc5eVL9+7d1b179xv+vLh13XPPPXb3jx8/rtOnT6tTp05q1aqVrf27775TWlqannjiiesGlb///lvu7u4lUm9x27t3r/r166eoqChb2x9//JHjOsgvq9Wabb3mpDStJwAFV61aNUeXkCeHnHPm6uoqFxcXOTs727WfPn1aAwcOVOXKleXi4qKqVatq5MiRSk1Ntet39bDohg0bdNddd0mSnnrqKdvh06uHkLdv364HH3xQPj4+cnV11R133KFPP/00X7WOHTtWTZo0kY+Pj8qVK6dGjRpp9uzZys/vxWcdwvrll1/Url07eXh4KDAwUK+99pokadu2bWrWrJk8PDxUo0YNzZ8/P9s89u7dq4ceekgVKlSQq6urGjZsmK1fboc8NmzYIIvFog0bNtjadu3apY4dO8rPz09Wq1VBQUHq0KGDfv/9d0lXht8vXLig+fPn29Zl1iGNP//8UwMHDlSdOnXk6ekpPz8/tWzZUps2bcpWd2pqqsaNG6fatWvL1dVVvr6+ioyM1JYtW7L1/eijj1S7dm25u7srPDw8x0PeBw4cUI8ePWx1165dW++9916e6z9LSkqK+vXrJ19fX3l6euqBBx7Qr7/+mq1fbsPcWYcI8uOrr75Sq1at5O3tLXd3d9WuXVuxsbHZ+v32229q3769PD09FRwcrKFDh2Z7n1/9Po6JidFtt90mSXr55ZdlsVhs20GzZs0kSd26dbN7vbLef3v27FHbtm3l5eVlCzSXL1/W+PHjVatWLVmtVlWqVElPPfVUvkeG582bp5o1a9peiwULFuTrcb/99pueeuopVa9eXe7u7qpcubKio6O1Z88eu3lbLBalp6drxowZdtt0Tusgv/OVcj6smfX67ty5U126dFGFChVsO27DMDR9+nQ1bNhQbm5uqlChgrp06aJDhw5dd1n//PNP9e/fX8HBwbZ1fO+992rt2rV2/dauXatWrVqpXLlycnd317333qtvvvkmX+tzzpw5Cg8Pl6urq3x8fNSpUyft27fPrk/W+yA/77n8Ksr759ChQ+revbuCgoJktVrl7++vVq1a2UYXqlSpop9++kkbN260vfZZr/OlS5c0dOhQNWzYUN7e3vLx8VHTpk3173//2+458tqP5bY9X7sfzauO3OR3X5OTJUuWqG3btgoMDJSbm5tq166tV155RRcuXMjW9/vvv1d0dLR8fX3l6uqqatWqadCgQdn6nTx5Uo899pi8vb3l7++vPn36KDk52a7Pe++9p/vvv19+fn7y8PBQ/fr1NWnSJKWlpdn6tGjRQitXrtTRo0ftTlPK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mjdvbjRv3tx2vyjvn7/++suQZEyZMiXP56xbt67dc+Ymax/Ut29f44477rCbltt+LLftOaf9aH7rMIyC7WuuJzMz00hLSzM2btxoSDJ2795tm1atWjWjWrVqxsWLF3N9fNYyTpo0ya594MCBhqura677qKzPuAULFhhly5a127d26NAh39v3vn37DEnZtulFixYZkuxel4K8HjnJz/rIaV7X7u8Lsr03b97ckGR8//33dn3r1KljtGvXznY/r2xyPTfksOaCBQsUFxenuLg4/ec//1GvXr303HPPadq0abY+69atk4eHh7p06WL32Ky/LvI7zH+13377Tb/88osef/xxSVdGdLJu7du314kTJ7R///4857Fu3Tq1bt1a3t7eKlu2rJydnTV69GglJSXp1KlT163BYrGoffv2tvtOTk66/fbbFRgYaHfunI+Pj/z8/HT06FG7527VqpWCg4Pt5tm7d2/9/fffBb569Pbbb1eFChX08ssva+bMmfr5558L9HhJmjlzpho1aiRXV1c5OTnJ2dlZ33zzjd2hlP/85z9ydXVVnz59rju/yMhIeXl52e77+/vbrYdLly7pm2++UadOneTu7p7tNbx06ZK2bduW6/zXr18vSbb3QJarR22Lw5YtW5SSkqKBAwded7jfYrFkO9eyQYMGdq99cXrkkUfs7n/55ZcqX768oqOj7dZnw4YNFRAQYHcY/Fr79+/X8ePH1aNHD7vlDA0NtRsRzU16eromTpyoOnXqyMXFRU5OTnJxcdGBAweyHY4riOKYb07ryWKx6IknnrBbTwEBAQoPD89zPUnS3XffrXnz5mn8+PHatm2b3WEi6cp75vTp0+rVq5fd/DMzM/XAAw8oLi4ux0Na0pWRoYsXL2YbfQkODlbLli2z7S+L8z1XlPePj4+PqlWrpjfeeENvvfWWdu3aZTsMlF+fffaZ7r33Xnl6etr2QbNnzy7S+6c4FHVfc+jQIfXo0UMBAQG2z5qsc0izlu3XX3/VwYMH1bdvX7m6ul53ng8++KDd/QYNGujSpUt2n127du3Sgw8+KF9fX9vz9uzZUxkZGfk+JHut3NZF165d5eRUfAfsCro+8lLQ7T0gIEB33323XVtx7sdvSDirXbu2GjdurMaNG+uBBx7Q+++/r7Zt22r48OG2oeykpCQFBARk+2Dz8/OTk5OT3aGA/Dp58qQkadiwYXJ2dra7DRw4UJLyvNT4hx9+UNu2bSVJH3zwgb777jvFxcVp5MiRkqSLFy9etwZ3d/dsbxoXFxf5+Phk6+vi4qJLly7Z7iclJSkwMDBbv6CgINv0gvD29tbGjRvVsGFD/fOf/1TdunUVFBSkMWPGZPvgyMlbb72lZ599Vk2aNNHnn3+ubdu2KS4uTg888IDduvjzzz8VFBSU7RBXTnx9fbO1Wa1W2/ySkpKUnp6uqVOnZnsNs0JvXq9hUlKSnJycsj1PQEDAdWsriKxzbfIzZJ3Te8Jqtdq99sXF3d092+GckydP6uzZs7bzPq++JSYmXnd9Sjmvv/ys0yFDhmjUqFF6+OGH9cUXX+j7779XXFycwsPD87U9leR8r93WTp48KcMw5O/vn209bdu27bpfU7BkyRL16tVLH374oZo2bSofHx/17NlTiYmJtvlLUpcuXbLN//XXX5dhGLZTCa6V9Trktn+4dt9QnO+5orx/LBaLvvnmG7Vr106TJk1So0aNVKlSJb344ov5Oty1dOlSde3aVZUrV9bChQu1detWxcXFqU+fPiWy/RREUfY158+f13333afvv/9e48eP14YNGxQXF6elS5dK+t9nTUH2M1L2/WvWYdms+SUkJOi+++7TH3/8oXfeeUebNm1SXFyc7Xzewm6Tue0nclo/RVHQ9ZGXgm7v1/vsKqobcs5ZTho0aKDVq1fr119/1d133y1fX199//33MgzDLqCdOnVK6enpqlixYoGfI+sxI0aMUOfOnXPsk9e5KIsXL5azs7O+/PJLux3bjfqaCV9fX504cSJb+/HjxyX9b/myarv25N6cdpL169fX4sWLZRiGfvzxR82bN0/jxo2Tm5ubXnnllTzrWbhwoVq0aKEZM2bYtV+7U61UqZI2b96szMzMfAW0vFSoUEFly5bVk08+qeeeey7HPmFhYbk+3tfXV+np6UpKSrLbmLI+IK/m6uqa4wnS+fmuoEqVKkmS7cIKs8hpFK9ixYry9fXVV199leNjrh7JvFbWOsxp/eXUdq2sc6wmTpxo1/7XX3+pfPny1318Sc732nVVsWJFWSwWbdq0KcdzjfI6/yjr8VOmTNGUKVOUkJCgFStW6JVXXtGpU6f01Vdf2bbfqVOn5noFaW7ntGW9DrntHwqzv8yvorx/pCujrLNnz5Z0ZeTj008/VUxMjC5fvqyZM2fm+diFCxcqLCxMS5YssXu9CnJhw9X7y6tfw6J+J1hB9jXXWrdunY4fP64NGzbYXXGdNXiRpbj3M8uXL9eFCxe0dOlShYaG2tqL+rVUV+8nKleubGvPWj9XK8rrUZzro6jbe3Fz2C8EZL34WSu3VatWOn/+fLbgk3UVWF4nxl7710CWmjVrqnr16tq9e7dt5O7aW147EovFIicnJ5UtW9bWdvHiRX300Uf5Xs6iaNWqlW2jvdqCBQvk7u5u26FnXXHy448/2vVbsWJFrvO2WCwKDw/X22+/rfLly2vnzp22abmlf4vFku0N+uOPP2Y7vBoVFaVLly4Vy/cDubu7KzIyUrt27VKDBg1yfA3z+kssMjJSkrRo0SK79o8//jhb3ypVqujUqVO2EQ3pygn1q1evvm6dERER8vb21syZM/N1Ja8jdezYUUlJScrIyMhxfeb1B0vNmjUVGBioTz75xG45jx49muOVuNfK6T20cuVK/fHHH4VfoBKab8eOHWUYhv74448c11P9+vXzPa+QkBA9//zzatOmjW1bu/fee1W+fHn9/PPPue6fXFxccpxf06ZN5ebmpoULF9q1//7777bTIUpKUd4/16pRo4b+9a9/qX79+vneB7m4uNgFs8TExGxXa+Y1j9z2lzl972ZBRkIKsq+5VtbyXPsefv/99+3u16hRQ9WqVdOcOXMKfaXt9Z7XMAx98MEH2foWZF1kXRx27br49NNPlZ6ebtdWkNfjWsW5Popze8+SWzbJjxsycrZ3717bC5KUlKSlS5dqzZo16tSpk23Uo2fPnnrvvffUq1cvHTlyRPXr19fmzZs1ceJEtW/fXq1bt851/tWqVZObm5sWLVqk2rVry9PTU0FBQQoKCtL777+vqKgotWvXTr1791blypV1+vRp7du3Tzt37tRnn32W63w7dOigt956Sz169FD//v2VlJSkN99884Yl6DFjxujLL79UZGSkRo8eLR8fHy1atEgrV67UpEmT5O3tLUm66667VLNmTQ0bNkzp6emqUKGCli1bps2bN9vN78svv9T06dP18MMPq2rVqjIMQ0uXLtXZs2fVpk0bW7/69etrw4YN+uKLLxQYGCgvLy/VrFlTHTt21KuvvqoxY8aoefPm2r9/v8aNG6ewsDC7De6xxx7T3LlzNWDAAO3fv1+RkZHKzMzU999/r9q1axf4++LeeecdNWvWTPfdd5+effZZValSRefOndNvv/2mL774wu5Kpmu1bdtW999/v4YPH64LFy6ocePG+u6773IM2N26ddPo0aPVvXt3vfTSS7p06ZLeffddZWRkXLdGT09PTZ48WU8//bRat26tfv36yd/fX7/99pt2795td36lo3Xv3l2LFi1S+/bt9Y9//EN33323nJ2d9fvvv2v9+vV66KGH1KlTpxwfW6ZMGb366qt6+umn1alTJ/Xr109nz55VTExMvg7fdOzYUfPmzVOtWrXUoEED7dixQ2+88UaRD0uUxHzvvfde9e/fX0899ZS2b9+u+++/Xx4eHjpx4oQ2b96s+vXr69lnn83xscnJyYqMjFSPHj1Uq1YteXl5KS4uTl999ZVtFN/T01NTp05Vr169dPr0aXXp0kV+fn76888/tXv3bv3555/ZRqmzlC9fXqNGjdI///lP9ezZU4899piSkpI0duxYubq65nkFc1EV5f3z448/6vnnn9ejjz6q6tWry8XFRevWrdOPP/5oN3KfNcK/ZMkSVa1aVa6urqpfv746duyopUuXauDAgerSpYuOHTumV199VYGBgTpw4IDdc+W2H2vfvr18fHzUt29fjRs3Tk5OTpo3b56OHTuWrd7c6shJQfY114qIiFCFChU0YMAAjRkzRs7Ozlq0aJF2796dre97772n6Oho3XPPPRo8eLBCQkKUkJCg1atXZwtD19OmTRu5uLjoscce0/Dhw3Xp0iXNmDFDZ86cyXFdLF26VDNmzNCdd96pMmXK2H1/6dVq166tJ554QlOmTJGzs7Nat26tvXv36s0338x2mkVBXo+cFNf6KMr2npu8ssl1FfgSggLI6WpNb29vo2HDhsZbb71lXLp0ya5/UlKSMWDAACMwMNBwcnIyQkNDjREjRmTrd+3VmoZx5QqiWrVqGc7OztmujNm9e7fRtWtXw8/Pz3B2djYCAgKMli1bGjNnzrzuMsyZM8eoWbOmYbVajapVqxqxsbHG7Nmz83UVSa9evQwPD49s7c2bNzfq1q2brT00NNTo0KGDXduePXuM6Ohow9vb23BxcTHCw8NzvPLj119/Ndq2bWuUK1fOqFSpkvHCCy8YK1eutLta85dffjEee+wxo1q1aoabm5vh7e1t3H333ca8efPs5hUfH2/ce++9hru7uyHJdrVS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HnHUIgDIxfbt2xUZGWm7P2TIEElSr169NG/ePLZv3BT4njMAAAAT4bAmAACAiRDOAAAATIRwBgAAYCKEMwAAABMhnAEAAJgI4QwAAMBECGcAAAAmQjgDUGAxMTFq2LCho8u44TZs2CCLxaKzZ886uhQ7Zq0LQOEQzgAAAEyEcAYAkjIyMpSZmenoMgCAcAbcqhYsWCBfX1+lpqbatT/yyCN2Pxydl48++khVqlSRt7e3unfvrnPnztmmffXVV2rWrJnKly8vX19fdezYUQcPHrRNv3z5sp5//nkFBgbK1dVVVapUUWxsbL6e12KxaMaMGYqKipKbm5vCwsL02Wef2abndJgvPj5eFotFR44ckSTNmzdP5cuX15dffqk6derIarXq6NGjSk1N1fDhwxUcHCyr1arq1atr9uzZds+/Y8cONW7cWO7u7oqIiND+/ftt0w4ePKiHHnpI/v7+8vT01F133aW1a9faPX769OmqXr26XF1d5e/vry5dutimGYahSZMmqWrVqnJzc1N4eLj+7//+z+7xq1atUo0aNeTm5qbIyEjbMgG4ORDOgFvUo48+qoyMDK1YscLW9tdff+nLL7/UU089dd3HHzx4UMuXL9eXX36pL7/8Uhs3btRrr71mm37hwgUNGTJEcXFx+uabb1SmTBl16tTJNjr17rvvasWKFfr000+1f/9+LVy4UFWqVMl3/aNGjdIjjzyi3bt364knntBjjz2mffv25X8FSPr7778VGxurDz/8UD/99JP8/PzUs2dPLV68WO+++6727dunmTNnytPT0+5xI0eO1OTJk7V9+3Y5OTmpT58+tmnnz59X+/bttXbtWu3atUvt2rVTdHS07ce4t2/frhdffFHjxo3T/v379dVXX+n++++3Pf5f//qX5s6dqxkzZuinn37S4MGD9cQTT2jjxo2SpGPHjqlz585q37694uPj9fTTT+uVV14p0HIDMDkDwC3r2WefNaKiomz3p0yZYlStWtXIzMzM83Fjxowx3N3djZSUFFvbSy+9ZDRp0iTXx5w6dcqQZOzZs8cwDMN44YUXjJYtW173uXIiyRgwYIBdW5MmTYxnn33WMAzDWL9+vSHJOHPmjG36rl27DEnG4cOHDcMwjLlz5xqSjPj4eFuf/fv3G5KMNWvW5Pi8WfNdu3atrW3lypWGJOPixYu51lunTh1j6tSphmEYxueff26UK1fObt1lOX/+vOHq6mps2bLFrr1v377GY489ZhiGYYwYMcKoXbu23Xp7+eWXsy0vgNKLkTPgFtavXz99/fXX+uOPPyRJc+fOVe/evWWxWK772CpVqsjLy8t2PzAwUKdOnbLdP3jwoHr06KGqVauqXLlyCgsLkyTbCFLv3r0VHx+vmjVr6sUXX9TXX39doNqbNm2a7X5BR85cXFzUoEED2/34+HiVLVtWzZs3z/NxVz8mMDBQkmzLfuHCBQ0fPlx16tRR+fLl5enpqV9++cW23G3atFFoaKiqVq2qJ598UosWLdLff/8tSfr555916dIltWnTRp6enrbbggULbIeE9+3bp3vuucfuNbp2XQAo3ZwcXQAAx7njjjsUHh6uBQsWqF27dtqzZ4+++OKLfD3W2dnZ7r7FYrE7oT46OlrBwcH64IMPFBQUpMzMTNWrV0+XL1+WJDVq1EiHDx/Wf/7zH61du1Zdu3ZV69ats51fVRBZgaVMmSt/dxqGYZuWlpaWrb+bm5tdyHFzc8vX81y97FmPz1r2l156SatXr9abb76p22+/XW5uburSpYttub28vLRz505t2LBBX3/9tUaPHq2YmBjFxcXZ5rFy5UpVrlzZ7jmtVmu2ZQJwcyKcAbe4p59+Wm+//bb++OMPtW7dWsHBwUWeZ1JSkvbt26f3339f9913nyRp8+bN2fqVK1dO3bp1U7du3dSlSxc98MADOn36tHx8fK77HNu2bbO7cGHbtm264447JEmVKlWSJJ04cUIVKlSQdGVU7Hrq16+vzMxMbdy4Ua1bt75u/5xs2rRJvXv3VqdOnSRdOQft2hP2nZyc1Lp1a7Vu3VpjxoxR+fLltW7dOrVp00ZWq1UJCQm5jt7VqVNHy5cvt2vbtm1boWoFYE6EM+AW9/jjj2vYsGH64IMPtGDBgmKZZ4UKFeTr66tZs2YpMDBQCQkJ2U5af/vttxUYGKiGDRuqTJky+uyzzxQQEKDy5cvn6zk+++wzNW7cWM2aNdOiRYv0ww8/2K6qvP322xUcHKyYmBiNHz9eBw4c0OTJk687zypVqqhXr17q06eP3n33XYWHh+vo0aM6deqUunbtmq+6br/9di1dulTR0dGyWCwaNWqU3Yjil19+qUOHDun+++9XhQoVtGrVKmVmZqpmzZry8vLSsGHDNHjwYGVmZqpZs2ZKSUnRli1b5OnpqV69emnAgAGaPHmyhgwZomeeeUY7duzQvHnz8lUbgNKBc86AW1y5cuX0yCOPyNPTUw8//HCxzLNMmTJavHixduzYoXr16mnw4MF644037Pp4enrq9ddfV+PGjXXXXXfpyJEjWrVqle2Q5PWMHTtWixcvVoMGDTR//nwtWrRIderUkXTlsOMnn3yiX375ReHh4Xr99dc1fvz4fM13xowZ6tKliwYOHKhatWqpX79+unDhQr6X/e2331aFChUUERGh6OhotWvXTo0aNbJNL1++vJYuXaqWLVuqdu3amjlzpj755BPVrVtXkvTqq69q9OjRio2NVe3atdWuXTt98cUXtnP2QkJC9Pnnn+uLL75QeHi4Zs6cqYkTJ+a7PgDmZzE4gQG45bVp00a1a9fWu+++6+hS8sVisWjZsmXFFiYBwEw4rAncwk6fPq2vv/5a69at07Rp0xxdDgBAHNYEbmmNGjXSM888o9dff101a9a0tdetW9fuqxyuvi1atKhEa1q0aFGuz5116A8AbmYc1gSQzdGjR3P86glJ8vf3t/t+s+J27tw5nTx5Msdpzs7OCg0NLbHnBgAzIJwBAACYCIc1AQAATIRwBgAAYCKEMwAAABMhnAEAAJgI4QwAAMBECGcAAAAmQjgDAAAwEcIZAACAifw/SWFWeTLXhfgAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#repartition Chiffre d'affaire selon y_has_purchased\n",
"\n",
"# Filtrer les données pour inclure uniquement les valeurs positives de total_amount et exclusion des valeur aberrantes\n",
"train_set_spectacle_filtered = train_set_spectacle[(train_set_spectacle['total_amount'] > 0) & (train_set_spectacle['total_amount'] <= 255)]\n",
"\n",
"# Créer le graphique en utilisant les données filtrées\n",
"sns.boxplot(data=train_set_spectacle_filtered, y=\"total_amount\", x=\"y_has_purchased\", showfliers=False, showmeans=True)\n",
"\n",
"# Titre du graphique\n",
"plt.title(\"Boite à moustache du chiffre d'affaire selon le statut d'achat du client\")\n",
"\n",
"# Afficher le graphique\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6b55de4b-913e-4bc1-b4f2-cc0b1824d0e2",
"metadata": {},
"outputs": [],
"source": [
"#graphe sur le taux de ticket acheté"
]
},
{
"cell_type": "code",
"execution_count": 89,
"id": "aacf2c34-f7ea-4d6e-935b-c5db01f03bbe",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_compagny</th>\n",
" <th>nb_tickets</th>\n",
" <th>nb_tickets_internet</th>\n",
" <th>Taux_ticket_internet</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>492314</td>\n",
" <td>126262.0</td>\n",
" <td>25.646640</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>11</td>\n",
" <td>318969</td>\n",
" <td>16348.0</td>\n",
" <td>5.125263</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>12</td>\n",
" <td>591028</td>\n",
" <td>42045.0</td>\n",
" <td>7.113876</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>13</td>\n",
" <td>7024227</td>\n",
" <td>1247482.0</td>\n",
" <td>17.759705</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>14</td>\n",
" <td>335741</td>\n",
" <td>125638.0</td>\n",
" <td>37.421107</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_compagny nb_tickets nb_tickets_internet Taux_ticket_internet\n",
"0 10 492314 126262.0 25.646640\n",
"1 11 318969 16348.0 5.125263\n",
"2 12 591028 42045.0 7.113876\n",
"3 13 7024227 1247482.0 17.759705\n",
"4 14 335741 125638.0 37.421107"
]
},
"execution_count": 89,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Taux de ticket payé par internet selon les compagnies\n",
"\n",
"purchase_spectacle = products_purchased_reduced_spectacle.groupby(\"number_compagny\")[[\"nb_tickets\", \"nb_tickets_internet\"]].sum().reset_index()\n",
"purchase_spectacle[\"Taux_ticket_internet\"] = purchase_spectacle[\"nb_tickets_internet\"]*100 / purchase_spectacle[\"nb_tickets\"]\n",
"purchase_spectacle"
]
},
{
"cell_type": "code",
"execution_count": 90,
"id": "f71bb53d-724b-454d-8743-305d20eec2b0",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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8+dISEjAkydPsH37dvz73/9GdHS0ssB63f379+Hs7IwtW7aga9euhc4vOztbpfhKS0uDk5MTUlNTYWVlpbX1ICKi94fL2H26jqA3bs1sr5X5pqWlQaFQ6OXfb51ecwW8ukA974J2Hx8fnD17FosWLcLPP/9cYFoHBwc4Ozvjxo0bRc5PLpdDLpdrLS8RERHRm+j8tGB+QogiT/slJyfjzp07cHBwKOFUREREROrR6ZGr8ePHIzAwEE5OTkhPT8eWLVtw9OhRhIeH4+nTpwgJCUG3bt3g4OCAW7duYfz48bC1tUWXLl10GZuIiIioSDotrh48eIC+ffvi/v37UCgU8Pb2Rnh4OFq3bo3MzExcvHgR69evx5MnT+Dg4AB/f39s3boVlpaWuoxNREREVCSdFlerVq0qcpypqSkiIiJKMA0RERHRuyt111wRERER6TMWV0REREQSYnFFREREJCEWV0REREQSYnFFREREJCEWV0REREQSYnFFREREJCEWV0REREQSYnFFREREJCEWV0REREQSYnFFREREJCEWV0REREQSYnFFREREJCEWV0REREQSYnFFREREJCHD4rzpxYsXSExMxLNnz1C+fHlYW1tLnYuIiIhIL6l95Orp06f4+eef4efnB4VCARcXF3h5eaF8+fJwdnbGgAEDcPbsWW1mJSIiIir11CquFixYABcXF6xcuRItWrTAjh07EBsbi2vXruHkyZOYPHkyXr58idatW6Nt27a4ceOGtnMTERERlUpqnRY8ceIEjhw5glq1ahU6vkGDBujXrx+WL1+OVatWITo6Gu7u7pIGJSIiItIHahVX27ZtU2tmcrkcgwcPfqdARERERPqsWBe053nx4gWuX7+OnJwcVKtWDXK5XKpcRERERHqp2I9i+P333+Hi4gJ/f3/4+fnByckJ4eHhUmYjIiIi0jtqF1dCCJXh4cOHY+PGjUhKSkJKSgqmTZuGQYMGSR6QiIiISJ+oXVw1aNAA58+fVw4/f/4clStXVg5XrlwZWVlZ0qYjIiIi0jNqX3O1ZMkS9O/fH82bN8e0adMwefJk1KtXD9WqVcOLFy9w9epV/Pjjj9rMSkRERFTqqV1c+fr64syZM5g9ezbq1auH2bNn49q1azh9+jRycnLQoEEDODo6ajMrERERUamn0d2ChoaGGD9+PHr27IlBgwZh3bp1+PHH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WrUKhoaGWLVqla5jvbd+//13JCUloXLlyjA0NIShoSFu376NUaNGwcXFRdfx6P+xuHoPubq6wt7eHlFRUcq258+fIzo6Go0bN9ZhMiLtyCusbty4gYMHD8LGxkbXkT5YQghkZ2frOsZ7q2/fvoiLi0NsbKzy5ejoiO+++w4RERG6jkf/j9dc6amnT5/i5s2byuH4+HjExsbC2toalStXxvDhwzFjxgy4u7vD3d0dM2bMgJmZGfr06aPD1Prvbf2ekpKChIQE5TOWrl27BuDV0cS8I4qkuTf1u6OjI7p3747z589j7969yMnJUR61tba2hrGxsa5i67039buNjQ2mT5+OTp06wcHBAcnJyVi6dCnu3r2LHj166DC1/nvbfib/Pw9GRkawt7dHtWrVSjoqFUXXtytS8Rw5ckQAKPAKCgoSQrx6HMPkyZOFvb29kMvlolmzZuLixYu6Df0eeFu/r1mzptDxkydP1mluffemfs977EVhryNHjug6ul57U79nZmaKLl26CEdHR2FsbCwcHBxEp06dxJkzZ3QdW++9bT+THx/FUPrIhBBCu+UbERER0YeD11wRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRkSQSExPx7bffws3NDXK5HE5OTujYsSMOHTqk62hERCWK3y1IRO/s1q1baNKkCcqWLYvZs2fD29sbL168QEREBIYMGYKrV6/qOiIRUYnhkSsiemeDBw+GTCbDmTNn0L17d3h4eKBGjRoYOXIkTp06BQBISEjAJ598AgsLC1hZWaFnz5548OCBch4hISGoU6cOVq9ejcqVK8PCwgKDBg1CTk4OZs+eDXt7e1SoUAHTp09XWbZMJsOyZcsQGBgIU1NTuLq6Ytu2bSrTfP/99/Dw8ICZmRnc3NwwceJEvHjxosCyN2zYABcXFygUCnz66adIT08HAKxfvx42NjbIzs5WmW+3bt3wxRdfSNqXRKT/WFwR0TtJSUlBeHg4hgwZAnNz8wLjy5YtCyEEOnfujJSUFERHRyMqKgp//fUXevXqpTLtX3/9hQMHDiA8PBybN2/G6tWr0b59e9y9exfR0dGYNWsWfvjhB2XBlmfixIno1q0bLly4gM8//xy9e/fGlStXlOMtLS2xdu1aXL58GYsWLcLKlSuxYMGCAsvetWsX9u7di7179yI6OhozZ84EAPTo0QM5OTnYvXu3cvpHjx5h7969+PLLL9+5D4noPaPjL44mIj13+vRpAUDs2LGjyGkiIyOFgYGBSEhIULZdunRJABBnzpwRQggxefJkYWZmJtLS0pTTtGnTRri4uIicnBxlW7Vq1URYWJhyGID45ptvVJbn6+srBg0aVGSe2bNni3r16imHC1v2d999J3x9fZXDgwYNEoGBgcrhhQsXCjc3N5Gbm1vkcojow8RrrojonQghALw6PVeUK1euwMnJCU5OTso2Ly8vlC1bFleuXEH9+vUBAC4uLrC0tFROY2dnBwMDA5QpU0alLSkpSWX+jRo1KjAcGxurHP7Pf/6DhQsX4ubNm3j69ClevnwJKysrlffkX7aDg4PKcgYMGID69evj3r17qFixItasWYPg4OA3rjcRfZh4WpCI3om7uztkMpnKabj8hBCFFiH5242MjFTGy2SyQttyc3PfmitvvqdOncKnn36KwMBA7N27FzExMZgwYQKeP3+uMv3bllO3bl3Url0b69evx/nz53Hx4kUEBwe/NQcRfXhYXBHRO7G2tkabNm3w008/ISMjo8D4J0+ewMvLCwkJCbhz546y/fLly0hNTUX16tXfOUP+a7BOnToFT09PAMDx48fh7OyMCRMmwMfHB+7u7rh9+3axltO/f3+sWbMGq1evRqtWrVSOxBER5WFxRUTvbOnSpcjJyUGDBg2wfft23LhxA1euXMHixYvRqFEjtGrVCt7e3vjss89w/vx5nDlzBl988QWaN28OHx+fd17+tm3bsHr1aly/fh2TJ0/GmTNnMHToUABA1apVkZCQgC1btuCvv/7C4sWLsXPnzmIt57PPPsO9e/ewcuVK9OvX751zE9H7icUVEb0zV1dXnD9/Hv7+/hg1ahRq1qyJ1q1b49ChQ1i2bBlkMhl27dqFcuXKoVmzZmjVqhXc3NywdetWSZYfGhqKLVu2wNvbG+vWrcPGjRvh5eUFAPjkk08wYsQIDB06FHXq1MGJEycwceLEYi3HysoK3bp1g4WFBTp37ixJdiJ6/8hE3tWoRER6SCaTYefOnSVW7LRu3RrVq1fH4sWLS2R5RKR/eLcgEZEaUlJSEBkZicOHD2PJkiW6jkNEpRiLKyIiNXz00Ud4/PgxZs2ahWrVquk6DhGVYjwtSERERCQhXtBOREREJCEWV0REREQSYnFFREREJCEWV0REREQSYnFFREREJCEWV0REREQSYnFFREREJCEWV0REREQSYnFFREREJKH/A6+rRUjgp74hAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Création du barplot\n",
"plt.bar(purchase_spectacle[\"number_compagny\"], purchase_spectacle[\"Taux_ticket_internet\"])\n",
"\n",
"# Ajout de titres et d'étiquettes\n",
"plt.xlabel('Company')\n",
"plt.ylabel(\"Taux d'achat de tickets en ligne (%)\")\n",
"plt.title(\"Taux d'achat des tickets en ligne selon les compagnies de spectacle\")\n",
"\n",
"# Affichage du barplot\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 133,
"id": "86fa4d7f-9b5f-4487-beb8-eb23771f724c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_company</th>\n",
" <th>y_has_purchased</th>\n",
" <th>nb_tickets</th>\n",
" <th>nb_tickets_internet</th>\n",
" <th>Taux_ticket_internet</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>0.0</td>\n",
" <td>9957.0</td>\n",
" <td>5450.0</td>\n",
" <td>54.735362</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10</td>\n",
" <td>1.0</td>\n",
" <td>7941.0</td>\n",
" <td>3424.0</td>\n",
" <td>43.117995</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11</td>\n",
" <td>0.0</td>\n",
" <td>10361.0</td>\n",
" <td>5.0</td>\n",
" <td>0.048258</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>11</td>\n",
" <td>1.0</td>\n",
" <td>9638.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>12</td>\n",
" <td>0.0</td>\n",
" <td>35600.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>12</td>\n",
" <td>1.0</td>\n",
" <td>11520.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>13</td>\n",
" <td>0.0</td>\n",
" <td>131759.0</td>\n",
" <td>105406.0</td>\n",
" <td>79.999089</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>13</td>\n",
" <td>1.0</td>\n",
" <td>1004076.0</td>\n",
" <td>13902.0</td>\n",
" <td>1.384557</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>14</td>\n",
" <td>0.0</td>\n",
" <td>44596.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>14</td>\n",
" <td>1.0</td>\n",
" <td>16694.0</td>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_company y_has_purchased nb_tickets nb_tickets_internet \\\n",
"0 10 0.0 9957.0 5450.0 \n",
"1 10 1.0 7941.0 3424.0 \n",
"2 11 0.0 10361.0 5.0 \n",
"3 11 1.0 9638.0 0.0 \n",
"4 12 0.0 35600.0 0.0 \n",
"5 12 1.0 11520.0 0.0 \n",
"6 13 0.0 131759.0 105406.0 \n",
"7 13 1.0 1004076.0 13902.0 \n",
"8 14 0.0 44596.0 0.0 \n",
"9 14 1.0 16694.0 0.0 \n",
"\n",
" Taux_ticket_internet \n",
"0 54.735362 \n",
"1 43.117995 \n",
"2 0.048258 \n",
"3 0.000000 \n",
"4 0.000000 \n",
"5 0.000000 \n",
"6 79.999089 \n",
"7 1.384557 \n",
"8 0.000000 \n",
"9 0.000000 "
]
},
"execution_count": 133,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Taux de ticket payé en ligne selon y_has_purchase par compagnies avec la base de train\n",
"\n",
"purchase_spectacle_train = train_set_spectacle.groupby([\"number_company\", \"y_has_purchased\"])[[\"nb_tickets\", \"nb_tickets_internet\"]].sum().reset_index()\n",
"purchase_spectacle_train[\"Taux_ticket_internet\"] = purchase_spectacle_train[\"nb_tickets_internet\"]*100 / purchase_spectacle_train[\"nb_tickets\"]\n",
"purchase_spectacle_train"
]
},
{
"cell_type": "code",
"execution_count": 106,
"id": "d11335b7-e35a-44c7-8ce4-661216978151",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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8/NT3rx51blzZ12+fFnx8fFq166d8uXLp6CgIL366qs21wIZaZf2Hi+StGfPHjVu3Fje3t4qVKiQevfure+++y7VObZu3bqqUKGCYmJiVKdOHXl7e6t48eJ66623lJycnCrOO3sY7vV9JTl3/O7fv19NmjSRt7e3ChYsqJ49e+rixYtp1l29erUaNGigvHnzytvbW7Vr1061D9NiT3wpx/7OnTvVpk0b5c2bV76+vnruuefSPIfbe3zdrR1GR0dr4MCBkqSwsLBUj5fYe06413ruxtF9KknTpk3TI488otKlS1vLQkNDtWfPHq1fv966PSnn2pRrgE8++UQDBgxQ4cKF5eHhoUOHDmXomuzO66GUY3Tt2rX3PM+mxVXn1KioKOuxcfvjQinXxu7u7mrfvr1mzJghY4xd+1iSZP5FunTpYnx8fGzK+vXrZ6ZNm2aWL19u1qxZYyZNmmQKFixounbtalMvJCTEdOnSJdUyIyIiTEREhPX91atXTeXKlU3x4sXNuXPnjDHGvPHGGyZHjhxm5cqVd43vypUrpmzZssbX19dMmTLFrFixwvTp08cUK1bMSDKzZs2y1l2zZo1xd3c3derUMQsXLjTLly83UVFRqerd6dq1a2b58uVGknn++efN5s2bzebNm82hQ4eMMcbMmjXLSDKxsbHWeT788ENjsVhM3bp1zbx588zq1avN+++/b3r16pXuvl24cKHx8PAwL730krl586Yxxpg9e/YYX19fU7FiRTN37lyzcuVKM2DAAJMjRw4THR1tjDHmwoUL1hhef/11a3zHjh1Ld5v2799vXnrpJbNgwQKzbt06s3TpUvP888+bHDlymLVr11rr3bhxw9SrV8+4ubmZV1991Sxbtsx888035r///a+ZP3++tZ4kExoaah599FHz+eefm2XLlpm6desaNzc3c/jwYWs9V2yPo5+jMcYkJSWZJk2aGB8fHzNixAizatUq8+GHH5rChQubcuXKmStXrljrhoSEmCJFiphy5cqZuXPnmhUrVpinn37aSDLr16+/63pS9snw4cOt79euXWsk2ezfDz74wEgyTz31lFm6dKn57LPPTKlSpUxISIgJCQmx1ouNjbXu4yZNmpglS5aYJUuWmIoVK5r8+fOb8+fPW+s6s3/SEhsbazw9PU2jRo3MkiVLzLp168xnn31mOnXqZD1eM7Jf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LFGpUqXk6empRo0a6dixY3ZvkyS9//77Cg8Pl6enpwICAtS2bdt099GZM2f0zDPPqEiRIvL29lbFihU1f/58mzr2tJ8//vjjrp/L3dpQ3bp1deTIEfXr108Wi8VmEIZ7tT0AAIDshqQqmxoyZIjGjRunYcOGae/evZo3b54CAgLsmvfXX39VZGSk2rRpo927d2vhwoXauHGjXn75ZZt677zzjqpVq6adO3eqV69eeumll7R//35J0s8//yxJWr16tU6ePKlFixbp5s2bat26tSIiIrR7925t3rxZL7744j1HNRs6dKheffVV7dq1S6VKldIzzzyjmzdvpln30qVLatasmVavXq2dO3cqMjJSLVq00NGjRyVJ3bp10969exUTE2OdZ/fu3dq5c6c18bl48aK6dOmiDRs2aMuWLQoPD1ezZs108eJFm3WNGDFC7dq10+7du9WsWTM9++yzOnv2rIoWLaqvvvpKknTgwAGdPHlS7777brrbd+XKFY0ePVpz5szRTz/9pISEBHXo0MHubdq2bZv69OmjkSNH6sCBA1q+fLkef/zxdNd37do1Pfzww1q6dKl+++03vfjii+rUqZO2bt1qrWNP+7nb53KvNrRo0SIVKVJEI0eO1MmTJ3Xy5Em75gMAAMiWTCa6ceOGGTp0qAkNDTWenp4mLCzMjBgxwiQlJVnrJCcnm+HDh5ugoCDj6elpIiIizG+//Zah9Vy4cMFIMhcuXLApv3r1qtm7d6+5evVqqnlCBi/9R18ZkZCQYDw8PMzMmTPTnB4bG2skmZ07dxpjjFm7dq2RZM6dO2eMMaZTp07mxRdftJlnw4YNJkeOHNZ9ERISYp577jnr9OTkZOPv72+mTZuW5jqMMebMmTNGklm3bp1d25GyjA8//NBatmfPHiPJ7Nu3z65lGGNMuXLlzJQpU6zvmzZtal566SXr+759+5q6deumO//NmzdNnjx5zLfffmstk2Ref/116/tLly4Zi8Vivv/+e2NM6n2anlmzZhlJZsuWLdayffv2GUlm69atdm3TV199ZfLmzWsSEhLuuq67adasmRkwYIAxxv72c7fPxd42NGnSJJs69sz3oLrb+QgAALhOermBMzK1p2rcuHGaPn26pk6dqn379mn8+PGaMGGCpkyZYq0zfvx4TZw4UVOnTlVMTIwCAwPVqFGjVL0KD5J9+/bp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9evX69FHH5WHh4eCgoL02muv6ebNm9bply9fVufOnZU7d24FBQXpnXfeSXP/Dho0SIULF5aPj4+qV69u3XcAAODfhaQqmxoyZIjGjRunYcOGae/evZo3b54CAgLsmvfXX39VZGSk2rRpo927d2vhwoXauHGjXn75ZZt677zzjqpVq6adO3eqV69eeumll7R//35J0s8//yxJWr16tU6ePKlFixbp5s2bat26tSIiIrR7925t3rxZL7744l2TlDx58mj27Nnau3ev3n33Xc2cOVOTJk2SdOsCuGHDhpo1a5bNPLNmzVJUVJQsFouSk5NVpEgRff7559q7d6/eeOMN/fe//9Xnn39uM8/atWt1+PBhrV27VnPmzNHs2bOtyciiRYtUpEgRjRw5UidPnrzr4A45cuTQe++9p99++01z5szRmjVrNGjQIOv0Xbt2qUGDBipfvrw2b96sjRs3qkWLFkpKSrLWmTNnjnx8fLR161aNHz9eI0eO1KpVqyTd6u1p3ry54uPjtWzZMm3fvl1Vq1ZVgwYNdPbsWbVv314DBgxQ+fLlrbG2b9/+nvOl5b333tM333yjzz//XAcOHNCnn36q0NDQdLc9PYMGDdLYsWO1b98+VapU6Z717f3M0jJw4EC9/fbbiomJkb+/v1q2bGlNju1t1xMmTFCFChW0fft2DRs2LNU6Tpw4oWbNmumRRx7RL7/8omnTpumjjz7SqFGjbOJYu3atFi9erJUrV2rdunXavn27zXK6du2qn376SQsWLNDu3bv19NNPq0mTJjp48OA9txMAAGQvFmOMyewg7reEhAT5+vrqwoULyps3r7X82rVrio2NVVhYmDw9PW1nysLPVF28eFGFChXS1KlT9cILL6SafufzTuvWrVO9evV07tw55cuXT507d5aXl5c++OAD6zwbN25URESELl++bO21qFOnjj755BNJty72AwMDNWLECPXs2TPNZ6rOnj0rPz8/rVu3ThEREQ7thgkTJmjhwoXW3qnPP/9cPXv21MmTJ+Xh4aFffvlFVapU0R9//JFuAtC7d2/99ddf+vLLLyXd6qlat26dDh8+rJw5c0qS2rVrpxw5cmjBggWSHH+m6osvvtBLL72kv//+W5LUsWNHHT16VBs3bkyzft26dZWUlGTTo/Poo4+qfv36euutt7RmzRo9+eSTOnXqlDw8PKx1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",
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"multiple_barplot(purchase_spectacle_train, x=\"number_company\", y=\"Taux_ticket_internet\", 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 = \"Taux de ticket acheté par internet (%)\", \n",
" title = \"Taux de ticket achété en ligne selon y_has_purchased par compagnies de spectacle (train set)\")"
]
},
{
"cell_type": "code",
"execution_count": 140,
"id": "f8444cab-d4c5-4afd-b472-476e702c09cc",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAHGCAYAAACYbuRTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIYElEQVR4nO3dd3QUZd/G8WsT0iAhEEIaxtAEqdIUiGIISgepgqJCEBAERUREeBQpgtHYsOKjKMUGFuBBwUILRQICUkQBERNAIFQhoQWS3O8fnOzrkkIWdxNgvp9z9pzMPffM/HZ2Z/bKlF2bMcYIAADAgjyKuwAAAIDiQhACAACWRRACAACWRRACAACWRRACAACWRRACAACWRRACAACWRRACAACWRRACAACWRRACUOS2bNmikiVL6s033yzuUgBY3FUThGw2W6EeiYmJxV0q8lGxYkXFxcW5bH7vvPOOpk+fnqs9JSVFNpstz3EFmT59umw2m9avX++S+p5//nnNmzfPJfNyB5vNpkceecRl89u/f7/GjRunTZs2FdgvPT1d3bt316OPPqpHH33UZct3lcTExGLbl8TFxalixYpFusxPP/1UkydP/lfzyG9bLOo6pNz7mZzXMyUl5V/POy+u3m9I0sKFCzVu3Lh/PZ/mzZurefPm/3o+zshr+xk3bpxsNptbl3v69GmNGzfusrbbqyYIJSUlOTzatWsnPz+/XO0NGjQo7lJRRPLb+YaHhyspKUnt27cv+qL+4UoPQq62f/9+jR8//pJBqF+/frrlllv0wgsvFE1hKNC1FoSuBQsXLtT48eOLuwyX6d+/v5KSkty6jNOnT2v8+PGXFYRKuL4c92jSpInDcPny5eXh4ZGrHfDx8eF9cQX7/PPPi7sEAEXouuuu03XXXVfcZeTrqjkiVBhvv/22br/9doWEhKhUqVKqU6eOEhISdP78eYd++Z2iufgw4qBBg+Tr66sNGzbY27Kzs3XHHXcoNDRUBw4cyLeWnNMzL730kl588UVVrFhRfn5+at68uX7//XedP39eo0aNUkREhAIDA9WlSxcdOnTIYR7Z2dlKSEjQjTfeKB8fH4WEhKh3797666+/7H2ee+45lShRQnv37s1Vw4MPPqhy5crp7Nmz9rbZs2eradOmKlWqlPz9/dW6dWtt3LjRYbq4uDj5+/vrjz/+ULt27eTv76/IyEg98cQTysjIyPc55zh//rxGjhypsLAwlSxZUrfddpt++umnPPumpqZq4MCBuu666+Tt7a1KlSpp/PjxyszMLHAZFStW1K+//qrly5fbT4vmnFLI79TY9u3bde+99yo0NFQ+Pj66/vrr1bt37wKf04EDB9SwYUPdcMMN2rlzpyQpLS1NI0aMUKVKleTt7a0KFSpo2LBhOnXqlH06m82mU6dOacaMGfb6ct5bp0+ftk/v6+uroKAgNWrUSJ999lmBz/nw4cMaPHiwatasKX9/f4WEhKhFixZauXJlrr4ZGRmaMGGCatSoIV9fX5UrV06xsbFavXp1rr4fffSRatSooZIlS+qmm27SN998k6vPzp071atXL4WEhMjHx0c1atTQ22+/bR+fmJiom2++WZLUt29f+3P+5+H99evX66677lJQUJB8fX1Vv379XKHoctdNYacrTA35mT9/vpo2baqSJUsqICBALVu2zPVfbs4pgF9//VX33nuvAgMDFRoaqgcffFAnTpwo1HIuZozRO++8o3r16snPz09ly5ZV9+7d9eeff15y2sOHD+uhhx5SZGSkfHx8VL58ed16661avHixpAv7vAULFmj37t0OlxjkGD9+vBo3bqygoCCVLl1aDRo00AcffCBjjL1PQdtizmmji09LXXz65FJ15MWZ/czFFi1apE6dOum6666Tr6+vqlatqoEDB+rIkSO5+hZ2v5Genq6HH35YwcHBKleunLp27ar9+/c79Jk9e7ZatWql8PBw+fn5qUaNGho1apTDviMuLs6+bf1zXRR0as8Yo4SEBEVFRcnX11cNGjTQt99+m6tfYV+PglzOfjS/U2Ou+jxKSUlR+fLlJV14z+ass8JeinHVHBEqjF27dqlXr172D6jNmzdr0qRJ2r59uz788EOn5zd58mStXbtWPXr00IYNG1SmTBn7obfvvvtO4eHhl5zH22+/rbp16+rtt9/W8ePH9cQTT6hjx45q3LixvLy89OGHH2r37t0aMWKE+vfvr/nz59unffjhh/Xee+/pkUceUYcOHZSSkqIxY8YoMTFRP//8s4KDgzVw4EBNmjRJ//3vfzVx4kT7tMeOHdOsWbP0yCOPyNfXV9KFUzXPPPOM+vbtq2eeeUbnzp3TSy+9pGbNmumnn35SzZo17dOfP39ed911l/r166cnnnhCK1as0HPPPafA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2+x9vv32W/n6+urBBx+85PxiY2MVEBBgHw4NDVVISIj9dT579qyWLFmiLl26qGTJkg7PuV27djp79qzWrFlT4DL++OMPbd++3f6euHgeBw4c0I4dO/7VurnUdM7UcLEdO3Zo//79euCBBxy2ZX9/f3Xr1k1r1qzR6dOnHaa56667HIbr1q2rs2fP5jr9fSnffPONbDab7r//foeaw8LCdNNNN13y/XbLLbdo+vTpmjhxotasWZPrMoFLWbp0qe68804FBgba96nPPvusjh496vRzcSVn9jN5OXTokAYNGqTIyEj7dhQVFSVJ9m3J2f1GXq+5JId95p9//qlevXopLCzMvj5jYmIcluuspKQknT17Nte6iI6Otj8nV3B2fRSkqD6PCuuaCUJ79uxRs2bNtG/fPr3++utauXKl1q1bZz/X6syHzcXat2+v0NBQnT17VsOHD5enp2ehpw0KCnIY9vb2LrA953qenEPXeR0OjYiIcDjkX79+fTVr1sz+XL/55hulpKQ43Bp98OBBSdLNN98sLy8vh8fs2bNznRsvWbKkQwCQLhzu/uf1RnnJqSssLMyhvUSJEipXrpxD28GDB/X111/nqqdWrVqSlOf5+svx999/Kysrq9AX682aNUt+fn7q379/rvPaBw8e1JYtW3LVHBAQIGNMoWp+44039NRTT2nevHmKjY1VUFCQOnfubL8GKT+vvvqqHn74YTVu3FhfffWV1qxZo3Xr1qlNmzYO7+/Dhw8rIiLC4UM7Pxe/JtKF1zlnfkePHlVmZqbefPPNXM+5Xbt2ki79OuW890aMGJFrHoMHD3aYx+Wum0tN50wNF7vUtpidna2///7bof3i9ZpzysDZ/dDBgwdljFFoaGiuutesWXPJdT979mz16dNHU6dOVdOmTRUUFKTevXsrNTX1ksv+6aef1KpVK0nS+++/rx9//FHr1q3T008/fVnPxZWc2c9cLDs7W61atdKcOXM0cuRILVmyRD/99JM90Oc8L2f3G5d6zU+ePKlmzZpp7dq1mjhxohITE7Vu3TrNmTPHoZ+z8lsX+bVdLmfXR0GK6vOosK6Za4TmzZunU6dOac6cOQ4pOK9beX19ffO8sOvIkSMKDg7O1T5o0CClp6erVq1aGjp0qJo1a6ayZcu6tP6L5WxUBw4cyPXG279/f646hw4dqrvvvls///yz3nrrLVWrVk0tW7a0j8/p/+WXX7r0v4T86k5NTVWFChXs7ZmZmbmu8wgODlbdunU1adKkPOcVERHhkpqCgoLk6enpcJF5QT755BONGTNGMTEx+uGHH1SvXj37uODgYPn5+eV7rUde75+LlSpVyn5O/+DBg/YjGR07dtT27dvzne7jjz9W8+bNNWXKFIf2i6+JKF++vFatWqXs7OxChaGClC1bVp6ennrggQc0ZMiQPPtUqlSpwHnkrJPRo0era9euefbJuY7hctfNpaZzpoaL/XNbvNj+/fvl4eHhtv1BcHCwbDabVq5cmef1F5e6JiM4OFiTJ0/W5MmTtWfPHs2fP1+jRo3SoUOH9N133xU47axZs+Tl5aVvvvnG4UPIma+EyJnu4v3tv/0nx5n9zMW2bt2qzZs3a/r06erTp4+9/Y8//nDo5+x+41KWLl2q/fv3KzEx0X4USJKOHz/+r+b7z3VxsdTUVIfvpfo3r4cr10dRfR4V1jUThHL+c//njsEYo/fffz9X34oVK2rLli0Obb///rt27NiR64Ns6tSp+vjjj/Xhhx8qJiZGDRo0UN++fd3+/TAtWrSQdOHDL+duHElat26dtm3bZv+vLEeXLl10/fXX64knntDy5cv12muvORzNaN26tUqUKKFdu3apW7dubqs754LdTz75RA0bNrS3f/7557nuBOvQoYMWLlyoKlWqXNYHyT+PXBTEz89PMTEx+uKLLzRp0qRLhpWgoCAtXrxYHTp0UGxsrL799lv77fgdOnTQ888/r3Llyl0yABSmvtDQUMXFxWnz5s2aPHmyTp8+rZIlS+bZ12az5frg27Jli5KSkhQZGWlva9u2rT777DNNnz69UKfHClKyZEnFxsZq48aNqlu3rv3IZV7yO+pRvXp13XDDDdq8ebOef/75Qi/bmXVzqekut4ac+itUqKBPP/1UI0aMsG9Xp06d0ldffWW/k8wdOnTooBdeeEH79u1Tjx49/tW8rr/+ej3yyCNasmSJfvzxR3t7fu9Tm82mEiVKOBwBP3PmjD766KNcffObR86H8JYtWxyC5j9vCrnUPPLizH7mYnl9VkjSf//7X4dhZ/cbl1LY5f6zz5kzZ+Tn51fgfJs0aSJfX1998sknDvv21atXa/fu3Q5ByJnX42KuXB/u+Dy63KOu0jUUhFq2bClvb2/de++9GjlypM6ePaspU6bkOmQtXbiT4v7779fgwYPVrVs37d69WwkJCbnOe/7yyy8aOnSo+vTpo759+0qSPvjgA3Xv3l2TJ0/WsGHD3PZ8qlevroceekhvvvmmPDw81LZtW/tdY5GRkXr88ccd+nt6emrIkCF66qmnVKpUqVzXFlWsWFETJkzQ008/rT///FNt2rRR2bJldfDgQf3000/2/6j/rRo1auj+++/X5MmT5eXlpTvvvFNbt27Vyy+/bL9rKseECRO0aNEiRUdHa+jQoapevbrOnj2rlJQULVy4UO+++26Bh2Hr1KmjWbNmafbs2apcubJ8fX1Vp06dPPvm3BHSuHFjjRo1SlWrVtXBgwc1f/58/fe//3W4TkaSAgIC9N1336lr165q2bKl5s+fr9jYWA0bNkxfffWVbr/9dj3++OOqW7eusrOztWfPHv3www964okn1LhxY3t9iYmJ+vrrrxUeHq6AgABVr15djRs3VocOHVS3bl2VLVtW27Zt00cffXTJD9QOHTroueee09ixYxUTE6MdO3ZowoQJqlSpksPO/95779W0adM0aNAg7dixQ7GxscrOztbatWtVo0YN3XPPPZd8Hf/p9ddf12233aZmzZrp4YcfVsWKFZWenq4//vhDX3/9tf1ulypVqsjPz0+ffPKJatSoIX9/f0VERCgiIkL//e9/1bZtW7Vu3VpxcXGqUKGCjh07pm3btunnn3+2X992ueumMNMVtoaLeXh4KCEhQffdd586dOiggQMHKiMjQy+99JKOHz/u1i+GvPXWW/XQQw+pb9++Wr9+vW6//XaVKlVKBw4c0KpVq1SnTh09/PDDeU574sQJxcbGqlevXrrxxhsVEBCgdevW2d/XOerUqaM5c+ZoypQpatiwoTw8PNSoUSO1b99er776qnr16qWHHnpIR48e1csvv5znUaj8tsWbb75Z1atX14gRI5SZmamyZctq7ty5WrVqVZ7zyKuOvDizn7nYjTfeqCpVqmjUqFEyxigoKEhff/21Fi1alKuvs/uNgkRHR6ts2bIaNGiQxo4dKy8vL33yySfavHlznutCkl588UW1bdtWnp6e+f4jUrZsWY0YMUITJ05U//79dffdd2vv3r0aN25crlNjzrweeXHV+nDH51FAQICioqL0v//9T3fccYeCgoIUHBxcuG9qd/ry6itEXneNff311+amm24yvr6+pkKFCubJJ5803377ba4r2LOzs01CQoKpXLmy8fX1NY0aNTJLly51uGvs5MmT5sYbbzQ1a9Y0p06dcljOkCFDjJeXl1m7dm2+9eXcufTSSy85tOdcUf/FF184tP/zjqUcWVlZ5sUXXzTVqlUzXl5eJjg42Nx///1m7969eS4zJSXFSDKDBg3Kt6558+aZ2NhYU7p0aePj42OioqJM9+7dzeLFi+198rsj7+Ir//OTkZFhnnjiCRMSEmJ8fX1NkyZNTFJSUp536x0+fNgMHTrUVKpUyXh5eZmgoCDTsGFD8/TTT5uTJ08WuJyUlBTTqlUrExAQYCTZ7zjJ664xY4z57bffzN13323KlStnvL29zfXXX2/i4uLM2bNnjTF5vwYZGRmmW7duxtfX1yxYsMAYc+G98cwzz5jq1asbb29vExgYaOrUqWMef/xxk5qaap9206ZN5tZbbzUlS5Z0uHtj1KhRplGjRqZs2bLGx8fHVK5c2Tz++OPmyJEjl1yvI0aMMBUqVDC+vr6mQYMGZt68ebnuNDLGmDNnzphnn33W3HDDDcbb29uUK1fOtGjRwqxevdreR5IZMmRIruXk9TolJyebBx980FSoUMF4eXmZ8uXLm+joaDNx4kSHfp999pm58cYbjZeXV647ODZv3mx69OhhQkJCjJeXlwkLCzMtWrQw7777rr3P5a6bwk5XmBryu4Nm3rx5pnHjxsbX19eUKlXK3HHHHebHH3906JOzjRw+fNihPb+7dS6W12tpjDEffvihady4sSlVqpTx8/MzVapUMb179zbr16/Pd15nz541gwYNMnXr1jWlS5c2fn5+pnr16mbs2LEO+7Rjx46Z7t27mzJlyhibzeawjX/44YemevXq9nUaHx9vPvjgg1zPJb9t0Rhjfv/9d9OqVStTunRpU758efPoo4+aBQsW5FrHBdWRF2f2Mxf77bffTMuWLU1AQIApW7asufvuu82ePXvyvOvocvYbxuT9Plq9erVp2rSpKVmypClfvrzp37+/+fnnn3PtrzIyMkz//v1N+fLl7euioPdOdna2iY+PN5GRkcbb29vUrVvXfP3113neCV3Y16OgdVfQ+ijMXWM5XP15tHjxYlO/fn3j4+Pj1N2DNmMu+oIFXLXefPNNDR06VFu3brVfcAwAAPJHELoGbNy4UcnJyRo4cKBuvfVWS/2+FQAA/wZB6BpQsWJFpaamqlmzZvroo49cesskAADXMoIQAACwrGvmCxUBAACcRRACAACWRRACAACWdc18oWJ+srOztX//fgUEBOT63SgAAHBlMsYoPT290L+deLmu+SC0f/9+h58fAAAAV4+9e/e65Mde83PNB6Gcr/zeu3fvJb96HQAAXBnS0tIUGRnp1E+ZXI5rPgjlnA4rXbo0QQgAgKuMuy9r4WJpAABgWQQhAABgWQQhAABgWQQhAABgWQQhAABgWQQhAABgWQQhAABgWQQhAABgWQQhAABgWQQhAABgWQQhAABgWQQhAABgWQQhAABgWQQhAABgWQQhAABgWSWKu4BrRcMnZxZ3CcAVZ8NLvYu7BAAoEEeEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRGEAACAZRVrEIqPj9fNN9+sgIAAhYSEqHPnztqxY4dDn7i4ONlsNodHkyZNiqliAABwLSnWILR8+XINGTJEa9as0aJFi5SZmalWrVrp1KlTDv3atGmjAwcO2B8LFy4spooBAMC1pERxLvy7775zGJ42bZpCQkK0YcMG3X777fZ2Hx8fhYWFFXV5AADgGndFXSN04sQJSVJQUJBDe2JiokJCQlStWjUNGDBAhw4dynceGRkZSktLc3gAAADk5YoJQsYYDR8+XLfddptq165tb2/btq0++eQTLV26VK+88orWrVunFi1aKCMjI8/5xMfHKzAw0P6IjIwsqqcAAACuMjZjjCnuIiRpyJAhWrBggVatWqXrrrsu334HDhxQVFSUZs2apa5du+Yan5GR4RCS0tLSFBkZqRMnTqh06dJuqV2SGj45023zBq5WG17qXdwlALhKpaWlKTAw0O2f38V6jVCORx99VPPnz9eKFSsKDEGSFB4erqioKO3cuTPP8T4+PvLx8XFHmQAA4BpTrEHIGKNHH31Uc+fOVWJioipVqnTJaY4ePaq9e/cqPDy8CCoEAADXsmK9RmjIkCH6+OOP9emnnyogIECpqalKTU3VmTNnJEknT57UiBEjlJSUpJSUFCUmJqpjx44KDg5Wly5dirN0AABwDSjWI0JTpkyR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EQAAwC2cPjUmXfgixI8++kjdu3dXSkqKli9fTggCAABXnUIdEeratWue7eXLl1eZMmX00EMP2dvmzJnjmsoAAADcrFBBKDAwMM/21q1bu7QYAACAolSoIDRt2jR31wEAAFDknL5GKDk5WTt37szVvnPnTqWkpLiiJgAAgCLhdBCKi4vT6tWrc7WvXbtWcXFxrqgJAACgSDgdhDZu3Khbb701V3uTJk34QkUAAHBVcToI2Ww2paen52o/ceKEsrKyXFIUAABAUXA6CDVr1kzx8fEOoScrK0vx8fG67bbbXFocAACAOzn9zdIJCQm6/fbbVb16dTVr1kyStHLlSqWlpWnp0qUuLxAAAMBdnD4iVLNmTW3ZskU9evTQoUOHlJ6ert69e2v79u2qXbu2O2oEAABwC6ePCElSRESEnn/+eVfXAgAAUKQKFYS2bNmi2rVry8PDQ1u2bCmwb926dV1SGAAAgLsVKgjVq1dPqampCgkJUb169WSz2WSMydXPZrNx5xgAALhqFCoIJScnq3z58va/AQAArgWFCkJRUVH2v3fv3q3o6GiVKOE4aWZmplavXu3QFwAA4Erm9F1jsbGxOnbsWK72EydOKDY21iVFAQAAFAWng5AxRjabLVf70aNHVapUKZcUBQAAUBQKfft8165dJV24IDouLk4+Pj72cVlZWdqyZYuio6NdXyEAAICbFDoIBQYGSrpwRCggIEB+fn72cd7e3mrSpIkGDBjg+goBAADcpNBBaNq0aZKkihUrasSIEZwGAwAAVz2nv1l67Nix7qgDAACgyDl9sTQAAMC1giAEAAAsiyAEAAAs618FobNnz7qqDgAAgCLndBDKzs7Wc889pwoVKsjf319//vmnJGnMmDH64IMPXF4gAACAuzgdhCZOnKjp06crISFB3t7e9vY6depo6tSpLi0OAADAnZwOQjNnztR7772n++67T56envb2unXravv27S4tDgAAwJ2cDkL79u1T1apVc7VnZ2fr/PnzLikKAACgKDgdhGrVqqWVK1fmav/iiy9Uv359lxQFAABQFC7rm6UfeOAB7du3T9nZ2ZozZ4527NihmTNn6ptvvnFHjQAAAG7h9BGhjh07avbs2Vq4cKFsNpueffZZbdu2TV9//bVatmzpjhoBAADcwukjQpLUunVrtW7d2tW1AAAAFCm+WRoAAFhWoY4IlS1bVjabrVAzPHbs2L8qCAAAoKgUKghNnjzZ/vfRo0c1ceJEtW7dWk2bNpUkJSUl6fvvv9eYMWPcUiQAAIA72IwxxpkJunXrptjYWD3yyCMO7W+99ZYWL16sefPmubK+fy0tLU2BgYE6ceKESpcu7bblNHxyptvmDVytNrzUu7hLAHCVKqrPb6evEfr+++/Vpk2bXO2tW7fW4sWLXVIUAABAUXA6CJUrV05z587N1T5v3jyVK1fOJUUBAAAUBadvnx8/frz69eunxMRE+zVCa9as0XfffcePrgIAgKuK00EoLi5ONWrU0BtvvKE5c+bIGKOaNWvqxx9/VOPGjd1RIwAAgFtc1hcqNm7cWJ988omrawEAAChSfKEiAACwLIIQAACwLIIQAACwrGINQitWrFDHjh0VEREhm82W68sYjTEaN26cIiIi5Ofnp+bNm+vXX38tnmIBAMA1x+kgdPDgwXzHbdmyxal5nTp1SjfddJPeeuutPMcnJCTo1Vdf1VtvvaV169YpLCxMLVu2VHp6ulPLAQAAyIvTQahOnTqaP39+rvaXX37Z6dvn27Ztq4kTJ6pr1665xhljNHnyZD399NPq2rWrateurRkzZuj06dP69NNPnS0bAAAgF6eD0FNPPaWePXtq0KBBOnPmjPbt26cWLVropZde0uzZs11WWHJyslJTU9WqVSt7m4+Pj2JiYrR69ep8p8vIyFBaWprDAwAAIC9OB6EnnnhCa9as0Y8//qi6deuqbt268vPz05YtW3TXXXe5rLDU1FRJUmhoqEN7aGiofVxe4uPjFRgYaH9ERka6rCYAAHBtuayLpStXrqxatWopJSVFaWlp6tGjR67A4io2m81h2BiTq+2fRo8erRMnTtgfe/fudUtdAADg6ud0EMo5EvTHH39oy5YtmjJlih599FH16NFDf//9t8sKCwsLk6RcR38OHTpUYOjy8fFR6dKlHR4AAAB5cToItWjRQj179lRSUpJq1Kih/v37a+PGjfrrr79Up04dlxVWqVIlhYWFadGiRfa2c+fOafny5YqOjnbZcgAAgHU5/VtjP/zwg2JiYhzaqlSpolWrVmnSpElOzevkyZP6448/7MPJycnatGmTgoKCdP3112vYsGF6/vnndcMNN+iGG27Q888/r5IlS6pXr17Olg0AAJCL00Ho4hCUw8PDQ2PGjHFqXuvXr1dsbKx9ePjw4ZKkPn36aPr06Ro5cqTOnDmjwYMH6++//1bjxo31ww8/KCAgwNmyAQAAcrEZY4wzE0yYMKHA8c8+++y/KsjV0tLSFBgYqBMnTrj1eqGGT85027yBq9WGl3oXdwkArlJF9fnt9BGhuXPnOgyfP39eycnJKlGihKpUqXLFBSEAAID8OB2ENm7cmKstLS1NcXFx6tKli0uKAgAAKAou+dHV0qVLa8KECU5fIwQAAFCcXPbr88ePH9eJEydcNTsAAAC3c/rU2BtvvOEwbIzRgQMH9NFHH6lNmzYuKwwAAMDdnA5Cr732msOwh4eHypcvrz59+mj06NEuKwwAAMDdnA5CycnJ7qgDAACgyDkdhADAavieMCC3a+V7wi4rCK1bt05ffPGF9uzZo3PnzjmMmzNnjksKAwAAcDen7xqbNWuWbr31Vv3222+aO3euzp8/r99++01Lly5VYGCgO2oEAABwC6eD0PPPP6/XXntN33zzjby9vfX6669r27Zt6tGjh66//np31AgAAOAWTgehXbt2qX379pIkHx8fnTp1SjabTY8//rjee+89lxcIAADgLk4HoaCgIKWnp0uSKlSooK1bt0q68IWKp0+fdm11AAAAblToIPTggw8qPT1dzZo106JFiyRJPXr00GOPPaYBAwbo3nvv1R133OG2QgEAAFyt0HeNzZgxQy+88ILeeustnT17VpI0evRoeXl5adWqVeratSu/NQYAAK4qhQ5CxhhJF06N5fDw8NDIkSM1cuRI11cGAADgZk5dI2Sz2dxVBwAAQJFz6gsVq1WrdskwdOzYsX9VEAAAQFFxKgiNHz+eL00EAADXDKeC0D333KOQkBB31QIAAFCkCn2NENcHAQCAa02hg1DOXWMAAADXikKfGsvOznZnHQAAAEXO6Z/YAAAAuFYQhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGURhAAAgGVd0UFo3LhxstlsDo+wsLDiLgsAAFwj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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import seaborn as sns\n",
"\n",
"\n",
"# Créer le graphique à barres\n",
"sns.barplot(data=purchase_spectacle_train, x=\"y_has_purchased\", y=\"Taux_ticket_internet\",ci=None)\n",
"\n",
"\n",
"# Titre du graphique\n",
"plt.title(\"Taux moyen de tickets achetés selon le statut d'achat du client\")\n",
"\n",
"# Ajouter une étiquette à l'axe des abscisses\n",
"plt.xlabel(\"Statut d'achat du client\")\n",
"\n",
"# Ajouter une étiquette à l'axe des ordonnées\n",
"plt.ylabel(\"Taux de tickets internet\")\n",
"\n",
"# Afficher le graphique\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 107,
"id": "9ba02de7-3087-4b0c-884a-dc4a6ca92c3b",
"metadata": {},
"outputs": [],
"source": [
"#stat sur la variable temps ecoulé entre le premier et le dernier achat"
]
},
{
"cell_type": "code",
"execution_count": 108,
"id": "59a95248-0261-4970-9e91-e43d50cf4d69",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Boite à moustache du temps ecoulés entre le premier et le dernier achat selon les compagnies de spectacles')"
]
},
"execution_count": 108,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA6UAAAHGCAYAAACM3i2bAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABvz0lEQVR4nO3dd3gUVfv/8c+SnhAWkpCGSei9g9JUQGpoYkNAKYJgRRGw8KACPhRFaV9QEaUJEbAAKiBIVwggVYqIoFQhBCkJoYSQnN8f/rIPSxJIINmhvF/XtRfMmTMz95Sd2Ttn5ozNGGMEAAAAAIAF8lkdAAAAAADgzkVSCgAAAACwDEkpAAAAAMAyJKUAAAAAAMuQlAIAAAAALENSCgAAAACwDEkpAAAAAMAyJKUAAAAAAMuQlAIAAAAALHPHJaVbt26V3W7X//3f/1kdCoBckJqaqvr16+vee+/VhQsXrA4HAAAAOZSjpHTq1Kmy2WxOn8KFC6tBgwaaP3/+dQdRtGhRde3a1TF85MgRDRo0SFu3br3ueWalatWqmjt3rgYMGKC1a9fm+vxvRsOGDdO8efPyfDk2m00vvvhini/nassfNGhQrs3viy++0JgxY3Jtfrg+V54frjRgwADFx8fru+++k7e3t+sCy4G8PKdlZdCgQbLZbC5b3s2ma9euKlq0qNVhOPntt980aNAg7d+/P1v106+52a1/vVauXCmbzaaVK1fm6XJu1uXfiKJFi6pVq1a5Nr9z585p0KBBlmyL/fv3y2azaerUqS5f9p1+vrpVWHmMXOlWPm/kVGxsrAYNGqTTp0/n6XJcdc3JynW1lE6ZMkVr165VbGysJk6cKDc3N7Vu3Vrff//9dQUxd+5cvfXWW47hI0eOaPDgwXn2A+6BBx7Qp59+qvbt2+v48eN5soybiauS0tsNSenNb8GCBZo+fboWLVqkgIAAq8PJUl6f05DRW2+9pblz51odhpPffvtNgwcPtuyCf7OqXr261q5dq+rVq1sdiuXOnTunwYMH3xE/tHHrCQsL09q1a9WyZUurQ7mjxMbGavDgwXmelFrN/XomqlixomrWrOkYbt68uQoVKqSZM2eqdevWOZ5ftWrVrieMG9K+fXu1b9/e5csFkHtatmypv//+2+owct25c+fk6+trdRi5ytXrVKJEiVyd3+24T/JKTrdVgQIFVLt27Vxb/vnz5+Xt7U3LG5DLvLy8cvW7ClwuV54p9fb2lqenpzw8PJzKT548qeeff15FihSRp6enihcvrgEDBig5Odmp3uW3561cuVJ33323JOmpp55y3CZ8+W2ZGzduVJs2bRQQECBvb29Vq1ZNX375ZbZiHTx4sGrVqqWAgAAVKFBA1atX16RJk2SMuea0Xbt2Vf78+fX777+rWbNm8vPzU1hYmN59911J0rp163TvvffKz89PpUuX1rRp0zLMY8eOHXrwwQdVqFAheXt7q2rVqhnqZdV8ntmtClu2bFGrVq0UHBwsLy8vhYeHq2XLljp8+LCkf29pPXv2rKZNm+bYlg0aNJAkHT9+XM8//7zKly+v/PnzKzg4WA888IB+/vnnDHEnJyfrnXfeUbly5eTt7a3AwEA1bNhQsbGxGepOnz5d5cqVk6+vr6pUqZLprd179uxRx44dHXGXK1dOH3744VW3f7rExET16NFDgYGByp8/v5o3b64//vgjQ72sbt/Lzm1CDRo00IIFC3TgwAGn29XTXbx4UUOGDFHZsmXl5eWlwoUL66mnnsrQ8p5+a9f8+fNVrVo1+fj4qFy5co5tMnXqVJUrV05+fn665557tHHjxgzrkD9/fu3cuVONGjWSn5+fChcurBdffFHnzp1zqvvVV1+pVq1astvt8vX1VfHixdWtW7errqckGWP00UcfqWrVqvLx8VGhQoX06KOP6q+//spQd9GiRWrUqJFjGeXKldPw4cOd6nz33XeqU6eOfH195e/vryZNmmS4Vf5G9o307zHQr18/FStWTJ6enipSpIh69+6ts2fPunSbNGjQQBUrVtSGDRt03333OZbx7rvvKi0tTdK1z2np+3j79u1q2rSp/P391ahRI0nZP85yYvbs2apTp478/PyUP39+NWvWTFu2bLnmdOnnpSVLluipp55SQECA/Pz81Lp16yy3y08//aS6devK19fXsd2zu+/SHweYMmWKypQpIx8fH9WsWVPr1q2TMUbvv/++ihUrpvz58+uBBx7Q3r17nabP7BjL6X7NLP6sXOu6NHXqVD322GOSpIYNGzqOg+u5DW7p0qVq1KiRChQoIF9fX9WrV0/Lli3L1rS///67mjdvLl9fXwUFBenZZ5/VmTNnrns56d/ZzZs369FHH1WhQoUcfxBIP/8tWrRI1atXl4+Pj8qWLavJkyc7zSOr2/Cyc61PPy5//PFHdevWTYULF5avr2+G3xnpLly4oL59+6pq1aqy2+0KCAhQnTp19O2332aom5aWpnHjxjmOl4IFC6p27dr67rvvMtS91jpm53q7f/9+FS5cWNK/v1XSj5GrPb6QlpamIUOGOL4jBQsWVOXKlTV27FinejdyzV29erUaNWokf39/+fr6qm7dulqwYIFTnfT9sGLFCj333HMKCgpSYGCgHn74YR05ciRby8lMds5Xf/31l9q3b6/w8HB5eXkpJCREjRo1ytadKevXr1fr1q0VGBgob29vlShRQr17977u9V++fLnj90mBAgXUuXNnnT17VnFxcWrXrp0KFiyosLAw9evXTykpKY7p02+LHTFihIYOHarIyEh5e3urZs2aGb5ze/fu1VNPPaVSpUrJ19dXRYoUUevWrbV9+/YM67dz5041bdpUvr6+Kly4sF544QUtWLAgw/ctO9eyy+O88ryVneMru8dqZnL7vJWZ7MSXfr7bsmWLHn74YRUoUEB2u11PPvlkptfl7F5vr3YcDho0SK+++qokqVixYo7zQvr+mz17tpo2baqwsDDHb8w33ngjwzX1Wsu5muxs0+PHj6tnz56KiIhw/F6pV6+eli5des35O5gcmDJlipFk1q1bZ1JSUszFixfNoUOHzEsvvWTy5ctnFi1a5Kh7/vx5U7lyZePn52c++OAD8+OPP5q33nrLuLu7mxYtWjjNNyoqynTp0sUYY0xCQoJjOW+++aZZu3atWbt2rTl06JAxxpjly5cbT09Pc99995nZs2ebRYsWma5duxpJZsqUKddch65du5pJkyaZJUuWmCVLlpj//ve/xsfHxwwePPia03bp0sV4enqacuXKmbFjx5olS5aYp556ykgy/fv3N6VLlzaTJk0yixcvNq1atTKSzMaNGx3T//7778bf39+UKFHCfP7552bBggWmQ4cORpJ57733Mmznffv2OS1/xYoVRpJZsWKFMcaYpKQkExgYaGrWrGm+/PJLs2rVKjN79mzz7LPPmt9++80YY8zatWuNj4+PadGihWNb7ty50xHPc889Z2bNmmVWrlxp5s+fb7p3727y5cvnWIYxxqSkpJiGDRsad3d3069fP7Nw4ULz3Xffmf/85z9m5syZjnqSTNGiRc0999xjvvzyS7Nw4ULToEED4+7ubv78809HvZ07dxq73W4qVapkPv/8c/Pjjz+avn37mnz58plBgwZddR+kpaWZhg0bGi8vLzN06FDz448/moEDB5rixYsbSWbgwIFO+ysqKirDPAYOHGiudejv3LnT1KtXz4SGhjq229q1a40xxqSmpprmzZsbPz8/M3jwYLNkyRLz2WefmSJFipjy5cubc+fOOeYTFRVl7rrrLlOxYkUzc+ZMs3DhQlOrVi3j4eFh3n77bVOvXj0zZ84cM3fuXFO6dGkTEhLiNH36MRcZGelY30GDBhl3d3fTqlUrR73Y2Fhjs9lM+/btzcKFC83y5cvNlClTTKdOna66nsYY06NHD+Ph4WH69u1rFi1aZL744gtTtmxZExISYuLi4hz1PvvsM2Oz2UyDBg3MF198YZYuXWo++ugj8/zzzzvqxMTEGEmmadOmZt68eWb27NmmRo0axtPT0/z888/XtW8uPz8YY8zZs2dN1apVTVBQkBk1apRZunSpGTt2rLHb7eaBBx4waWlpLtsm9evXN4GBgaZUqVJmwoQJZsmSJeb55583ksy0adOMMdc+p3Xp0sV4eHiYokWLmuHDh5tly5aZxYsX5+g4y0xm23Lo0KHGZrOZbt26mfnz55s5c+aYOnXqGD8/P8d5ISvp6xAREWG6detmfvjhBzNx4kQTHBxsIiIizKlTp5y2S0BAgImIiDDjxo0zK1asMKtWrcr2vjPm3/NJVFSUqVu3rtN3JCAgwLzyyivmwQcfNPPnzzcxMTEmJCTEVK5c2Wn6zI6xnOzXzOLPSnauS/Hx8WbYsGFGkvnwww8dx0F8fPw1t/nl14Lp06cbm81m2rZta+bMmWO+//5706pVK+Pm5maWLl161X0YFxdngoODTZEiRcyUKVPMwoULzRNPPGEiIyOdri05WU76cRYVFWVef/11s2TJEjNv3jxjzP/Of+XLlzeff/65Wbx4sXnssceMJKfteeW1Lbvb9PJtVKRIEdOzZ0/zww8/mK+//tpcunQp021w+vRp07VrVzN9+nSzfPlys2jRItOvXz+TL18+x3c2XadOnYzNZjNPP/20+fbbb80PP/xghg4dasaOHeuok911zM719sKFC2bRokVGkunevbvjGNm7d2+W+3T48OHGzc3NDBw40CxbtswsWrTIjBkzxulamt1r7r59+zJs35UrVxoPDw9To0YNM3v2bDNv3jzTtGlTY7PZzKxZszLsh+LFi5tevXqZxYsXm88++8wUKlTINGzYMMv4093I+apMmTKmZMmSZvr06WbVqlXmm2++MX379nU6njKzaNEi4+HhYSpXrmymTp1qli9fbiZPnmzat29/3etfrFgx07dvX/Pjjz+a9957z7i5uZkOHTqY6tWrmyFDhpglS5aY119/3UgyI0eOzLDtIyIizL333mu++eYb89VXX5m7777beHh4mNjYWEfdVatWmb59+5qvv/7arFq1ysydO9e0bdvW+Pj4mN9//91R78iRIyYwMNBERkaaqVOnmoULF5pOnTqZokWLZvi+Zedadnmclx8j2T2+snOsZiYvzluZyU58l5/vXn31VbN48WIzatQo4+fnZ6pVq2YuXrzoqJvd4/dax+GhQ4dMr169jCQzZ84cx3khISHBGGPMf//7XzN69GizYMECs3LlSjNhwgRTrFixDN+77BzvN3LNadasmSlcuLCZOHGiWblypZk3b555++23nb4n13JdSemVHy8vL/PRRx851Z0wYYKRZL788kun8vfee89IMj/++KOj7MofnRs2bMgyySxbtqypVq2aSUlJcSpv1aqVCQsLM6mpqdlen9TUVJOSkmLeeecdExgY6PSDJjNdunQxksw333zjKEtJSTGFCxc2kszmzZsd5SdOnDBubm6mT58+jrL27dsbLy8vc/DgQaf5RkdHG19fX3P69GljTPaT0o0bNxpJjh8AWfHz83Pavlm5dOmSSUlJMY0aNTIPPfSQo/zzzz83ksynn3561eklmZCQEJOYmOgoi4uLM/ny5TPDhw93lDVr1szcddddji9UuhdffNF4e3ubkydPZrmMH374wUhy+lFgzL9f/txMSo0xpmXLlplOP3PmzAzHgTH/O24v/y5ERUUZHx8fc/jwYUfZ1q1bjSQTFhZmzp496yifN2+ekWS+++47p3W42vquXr3aGGPMBx98YCQ5jqHsWrt2bYaLozH/ngR9fHzMa6+9Zowx5syZM6ZAgQLm3nvvzfJ7kpqaasLDw02lSpWcvodnzpwxwcHBpm7duk7rdb1J6fDhw02+fPnMhg0bnOp9/fXXRpJZuHChMSbvt4kx/17IJZn169c71S1fvrxp1qyZY/hq57T0fTx58mSn8pwcZ5m5clsePHjQuLu7m169ejnVO3PmjAkNDTXt2rW76vzSz0uXnxuMMWbNmjVGkhkyZIijLH27LFu2zKludvedMf+eT0JDQ01SUpKjLP07UrVqVafjcMyYMUaS2bZtm6PsymPsevbrlfFnJbvXpa+++irDj6irufJacPbsWRMQEGBat27tVC81NdVUqVLF3HPPPVed3+uvv25sNpvZunWrU3mTJk2c4srJctKPs7fffjvD8qKiooy3t7c5cOCAo+z8+fMmICDAPPPMM46yzJLS7G7T9G3UuXPnq657VtKve927dzfVqlVzlP/0009GkhkwYMBVp8/uOma13Cuvt8ePH89wLbuaVq1amapVq161TnavuZklHLVr1zbBwcHmzJkzTrFXrFjR3HXXXY7vYfp+uPyPlMYYM2LECCPJHD169KoxXu/56p9//jGSzJgxY646/8yUKFHClChRwpw/fz7LOjld/yvjbdu2rZFkRo0a5VRetWpVU716dcdw+rYPDw93iicxMdEEBASYxo0bZxnjpUuXzMWLF02pUqXMK6+84ih/9dVXjc1my/AHx2bNmmWalGbnWpbZMZLd4ys7x2pm8uK8lZnsxJd+nF6+nY353x/kZ8yYYYzJ2fU2O8fh+++/n2lecKW0tDSTkpJiVq1aZSSZX3/9NUfLuZFrTv78+U3v3r2vGt+1XNftu59//rk2bNigDRs26IcfflCXLl30wgsvaPz48Y46y5cvl5+fnx599FGnadNvQ8nurUaX27t3r37//Xc98cQTkqRLly45Pi1atNDRo0e1e/fuq85j+fLlaty4sex2u9zc3OTh4aG3335bJ06cUHx8/DVjsNlsatGihWPY3d1dJUuWVFhYmNOzsQEBAQoODtaBAweclt2oUSNFREQ4zbNr1646d+5cjnsDLlmypAoVKqTXX39dEyZM0G+//Zaj6SVpwoQJql69ury9veXu7i4PDw8tW7ZMu3btctT54Ycf5O3tna3bHhs2bCh/f3/HcEhIiNN2uHDhgpYtW6aHHnpIvr6+GfbhhQsXtG7duiznv2LFCklyHAPpOnbsmKP1vhHz589XwYIF1bp1a6f4q1atqtDQ0Ay3oFWtWlVFihRxDJcrV07Sv7fLXP7cVXr55cdMuqzWN317pN8e2q5dO3355ZfZfs5y/vz5stlsevLJJ53WJTQ0VFWqVHGsS2xsrBITE/X8889neXvt7t27deTIEXXq1En58v3v1JI/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atWqpR9//FH+/v6OaUaPHi13d3e1a9dO58+fV6NGjTR16lS5ubk56sTExOill15y9NLbpk2bLN+NCgAAACBnbCY7L4QEcknVqlVVunRpDR48WGFhYRk6C7Lb7RZFlrcSExNlt9uVkJBwyz5f+scff6hnz56aOHGiSpcubXU4AADkudvh+g3cCmgphUvt2bNHX3/9tUqWLGl1KAAAAABuAnR0BJeqVauW03OgAAAAAO5stJTCpXr16qW+ffsqLi5OlSpVkoeHh9P4ypUrWxQZAAAAACuQlMKlHnnkEUlSt27dHGU2m03GmBx3dAQAAADg1kdSCpfat2+f1SEAAAAAuImQlMKloqKirA4BAAAAwE2Ejo7gctOnT1e9evUUHh6uAwcOSJLGjBmjb7/91uLIAAAAALgaSSlc6uOPP1afPn3UokULnT592vEMacGCBTVmzBhrgwMAAADgciSlcKlx48bp008/1YABA+Tm5uYor1mzprZv325hZAAAAACsQFIKl9q3b5+qVauWodzLy0tnz561ICIAAAAAViIphUsVK1ZMW7duzVD+ww8/qHz58q4PCAAAAICl6H0XLvXqq6/qhRde0IULF2SM0S+//KKZM2dq+PDh+uyzz6wODwAAAICLkZTCpZ566ildunRJr732ms6dO6eOHTuqSJEiGjt2rNq3b291eAAAAABcjKQULtejRw/16NFD//zzj9LS0hQcHGx1SAAAAAAswjOlcLlLly5p6dKl+uabb+Tj4yNJOnLkiJKSkiyODAAAAICr0VIKlzpw4ICaN2+ugwcPKjk5WU2aNJG/v79GjBihCxcuaMKECVaHCAAAAMCFaCmFS7388suqWbOmTp065WgllaSHHnpIy5YtszAyAAAAAFagpRQutXr1aq1Zs0aenp5O5VFRUfr7778tigoAAACAVWgphUulpaUpNTU1Q/nhw4fl7+9vQUQAAAAArERSCpdq0qSJxowZ4xi22WxKSkrSwIED1aJFC+sCAwAAAGAJbt+FS40ePVoNGzZU+fLldeHCBXXs2FF79uxRUFCQZs6caXV4AAAAAFyMpBQuFR4erq1bt2rmzJnavHmz0tLS1L17dz3xxBNOHR8BAAAAuDOQlMLlfHx81K1bN3Xr1s3qUAAAAABYjGdK4VLh4eHq2LGjJk6cqD/++MPqcAAAAABYjKQULjVy5EgV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XgcPHtShQ4ccZb/99psSEhJUrly561rm5TJb37Jly0qS1qxZo6ioKA0YMEA1a9ZUqVKlMnTaVKZMGf3yyy9OZRs3bsxxHO7u7urSpYumTJmiKVOmqH379vL19c3xfAAASEdLKQAgT/j4+Kh27dp69913VbRoUf3zzz968803c23+hw4dUp8+ffTMM89o8+bNGjdunKNlsHTp0nriiSfUuXNnjRw5UtWqVdM///yj5cuXq1KlSmrRosV1LXPQoEF69tlnFRwcrOjoaJ05c0Zr1qxRr1691LhxY1WuXFlPPPGExowZo0uXLun5559X/fr1VbNmzRte36+++ko1a9bUvffeq5iYGP3yyy+aNGmSJKlkyZI6ePCgZs2apbvvvlsLFizQ3Llznabv1auXevTooZo1a6pu3bqaPXu2tm3b5nSbdHY9/fTTjkR7zZo1N7xuAIA7Gy2lAIA8M3nyZKWkpKhmzZp6+eWXNWTIkFybd+fOnXX+/Hndc889euGFF9SrVy/17NnTMX7KlCnq3Lmz+vbtqzJlyqhNmzZav3690zOfOdWlSxeNGTNGH330kSpUqKBWrVo5evO12WyaN2+eChUqpPvvv1+NGzdW8eLFNXv27BteV0kaPHiwZs2apcqVK2vatGmKiYlR+fLlJUkPPvigXnnlFb344ouqWrWqYmNj9dZbbzlN/8QTT6h///7q16+fqlevrn379qlr167y9vbOcSylSpVS3bp1VaZMGdWqVStX1g8AcOeymcweKAEAADcNm82muXPnqm3btrk63yZNmig0NFTTp0/P0XTGGJUtW1bPPPOM+vTpk6sxAQDuPNy+CwDAHeDcuXOaMGGCmjVrJjc3N82cOVNLly7N8Ttl4+PjNX36dP3999966qmn8ihaAMCdhKQUAID/7/Keea/0ww8/6L777nNhNLnLZrNp4cKFGjJkiJKTk1WmTBl98803aty4cY7mExISoqCgIE2cOFGFChXKo2gBAHcSbt8FAOD/27t3b5bjihQpcs3XwgAAgJwjKQUAAAAAWIbedwEAAAAAliEpBQAAAABYhqQUAAAAAGAZklIAAAAAgGVISgEAAAAAliEpBQAAAABYhqQUAAAAAGAZklIAAAAAgGX+HzsIOzI+/OG6AAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#repartition des client selon le temps ecoulés entre le premier et le denier achat par compagnie\n",
"\n",
"sns.boxplot(data=products_purchased_reduced_spectacle, y=\"time_between_purchase\",x=\"number_compagny\",showfliers=False,showmeans=True)\n",
"plt.title(\"Boite à moustache du temps ecoulés entre le premier et le dernier achat selon les compagnies de spectacles\")"
]
},
{
"cell_type": "code",
"execution_count": 109,
"id": "e2c51e28-6197-48f0-ab6d-9fc7b3b0de74",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Statistique F : 7956.05932109542\n",
"Valeur de p : 0.0\n",
"Nombre de degrés de liberté entre les groupes : 4\n",
"Nombre de degrés de liberté à l'intérieur des groupes : 764875\n",
"Il y a des différences significatives entre au moins une des entrepries .\n"
]
}
],
"source": [
"#test d'anova pour voir si la difference de temps entre le premier et le dernier achat est statistiquement significative\n",
"\n",
"from scipy.stats import f_oneway\n",
"\n",
"# Créez une liste pour stocker les données de chaque groupe\n",
"groupes = []\n",
"\n",
"# Parcourez chaque modalité de la variable catégorielle et divisez les données en groupes\n",
"for modalite in products_purchased_reduced_spectacle['number_compagny'].unique():\n",
" groupe = products_purchased_reduced_spectacle[products_purchased_reduced_spectacle['number_compagny'] == modalite]['time_between_purchase']\n",
" groupes.append(groupe)\n",
"\n",
"# Effectuez le test ANOVA\n",
"f_statistic, p_value = f_oneway(*groupes)\n",
"\n",
"# Nombre total d'observations\n",
"N = sum(len(groupe) for groupe in groupes)\n",
"\n",
"# Nombre de groupes ou de catégories\n",
"k = len(groupes)\n",
"\n",
"# Degrés de liberté entre les groupes\n",
"df_between = k - 1\n",
"\n",
"# Degrés de liberté à l'intérieur des groupes\n",
"df_within = N - k\n",
"\n",
"# Affichez les résultats\n",
"print(\"Statistique F :\", f_statistic)\n",
"print(\"Valeur de p :\", p_value)\n",
"\n",
"print(\"Nombre de degrés de liberté entre les groupes :\", df_between)\n",
"print(\"Nombre de degrés de liberté à l'intérieur des groupes :\", df_within)\n",
"\n",
"if p_value < 0.05:\n",
" print(\"Il y a des différences significatives entre au moins une des entrepries .\")\n",
"else:\n",
" print(\"Il n'y a pas de différences significatives entre les entreprises .\")"
]
},
{
"cell_type": "code",
"execution_count": 111,
"id": "75a003ab-f42a-4b2d-a0a8-284e673e71f7",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_company</th>\n",
" <th>y_has_purchased</th>\n",
" <th>time_between_purchase</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>0.0</td>\n",
" <td>45.791114</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10</td>\n",
" <td>1.0</td>\n",
" <td>193.080793</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11</td>\n",
" <td>0.0</td>\n",
" <td>27.640469</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>11</td>\n",
" <td>1.0</td>\n",
" <td>129.853892</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>12</td>\n",
" <td>0.0</td>\n",
" <td>16.418446</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>12</td>\n",
" <td>1.0</td>\n",
" <td>58.548598</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>13</td>\n",
" <td>0.0</td>\n",
" <td>10.012525</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>13</td>\n",
" <td>1.0</td>\n",
" <td>93.545373</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>14</td>\n",
" <td>0.0</td>\n",
" <td>3.879196</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>14</td>\n",
" <td>1.0</td>\n",
" <td>10.745213</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_company y_has_purchased time_between_purchase\n",
"0 10 0.0 45.791114\n",
"1 10 1.0 193.080793\n",
"2 11 0.0 27.640469\n",
"3 11 1.0 129.853892\n",
"4 12 0.0 16.418446\n",
"5 12 1.0 58.548598\n",
"6 13 0.0 10.012525\n",
"7 13 1.0 93.545373\n",
"8 14 0.0 3.879196\n",
"9 14 1.0 10.745213"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#repartition des client selon le temps ecoulés entre le premier et le denier achat par compagnie\n",
"purchase_train_time= train_set_spectacle.groupby([\"number_company\", \"y_has_purchased\"])[\"time_between_purchase\"].mean().reset_index()\n",
"purchase_train_time"
]
},
{
"cell_type": "code",
"execution_count": 113,
"id": "f27921a9-1253-4c02-9bff-8cd3c4a9a5d9",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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25r58+eb7777zjz66KPGxcXFrFq1yjqPkSNHGkmmbNmy5vXXXzcrV640Q4YMMZJMnz59TLly5cwHH3xgs9/897//tU6ftl2v305Z/V4zij8jKSkppnnz5sbb29uMHj3arFy50kybNs0UK1bMVKhQwVy6dMkYY8z27dvNAw88YMLDw611YPv27bfc5l26dLF+TkxMNNWqVTOFCxc27733nlm1apV5//33ja+vr2nUqJFJTU296fzStmv37t2tx4xixYqZgIAA06BBg9taTtq2qlKlipkzZ45ZvXq12b17t/UY9cADD5i+ffua5cuXm2nTppmCBQuaiIgIm7gaNGhgs3x7t2naNgoMDDQPPPCA+eyzz8yaNWvMzz//nOk2mDJlihk3bpxZtGiRWbt2rfn8889N1apVTdmyZc3Vq1et4+3cudPky5fPhIaGmo8//tj88MMP5osvvjAdOnQwCQkJxhiTpXV8/fXXzcSJE82SJUtMTEyM+fjjj01YWJjNeIcOHTLt27c3kmyOFVeuXMlwXew9vvfo0cO4ubmZQYMGmWXLlpk5c+aYcuXKmaJFi5q4uDjreF26dDEhISHWz6mpqSYyMtK4urqaESNGmBUrVph33nnHeHt7m/DwcJu4QkJCTPHixU2FChXMzJkzzfLly82TTz5pJJm1a9dm+n0YY8z7779vLBaL+e2332zK//Of/xhJNufOW7E3jv3795sXX3zRzJ0718TExJjFixeb7t27mzx58pg1a9ZYx/vyyy+NJNO3b1+zYsUKs2rVKvPxxx+bfv362R2TMcZ6vq5QoYL58ssvzaJFi0zz5s2NJPP1119bx0vbR2+UVtdiY2Nt1jWjun/8+HETGBhos//OmzfPdOvWzezbt88Yk7XzpL37TGRkpClSpIiZOnWqiYmJMQsXLjSvvfaazfne3nPAqlWrjIuLi3n44YfN/Pnzzddff20efPBBU6JEiQy3z43Srl+CgoLMBx98YJYvX2769etnJJnevXvbjBsVFWWmT59uVq5caVauXGlef/114+XlZUaPHm0zXlaPNRmx57iyf/9+4+PjY0qWLGlmzpxplixZYp566ikjyYwfP946r7TvMCQkxERFRZlly5aZjz/+2OTLl89ERESYpk2bmsGDB5sVK1aY8ePHGxcXF9O3b1+beOytl/buLxcvXjSlSpUyfn5+5j//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AADgHsVt2wAcjeOQc+E90PcY3vUGAEDOu3LlimJjYxUWFiZPT09HhwPcd2JiYrRv3z69+OKLjg7F4W52PCI3uPfwHmgAAIBc4vDhw7JYLNq5c6ekf5IUi8VCT+Owy431J6fExsbq2Wef1YMPPpijywFyArdwAwAAXCd02JK7urzDb7XKsXnXrVtXJ0+elK+vb7bN8/DhwwoLC9OOHTtUrVq1bJvvjWJiYhQVFaXDhw/n2DJuR0xMjCIiInT27FkVKFDA0eHck0JDQ9W/f3/1798/3bCrV6/qqaee0qeffqqaNWve/eCAO0QCDQAAkEu5u7tbX8cJ3Avc3d21efNmR4cB3DZu4QYAAHAiqampGj9+vEqVKiUPDw+VKFFCb775ZobjZnQL98aNG1W/fn15eXkpODhY/fr1U2JionV4aGioxo4dq27dusnHx0clSpTQ1KlTrcPTXvcZHh4ui8Vi7YQ1JiZGDz30kLy9vVWgQAHVq1dPR44cyTCutFuF58+fr4iICOXNm1dVq1bVpk2bMl3v33//XY899piKFi2qfPny6cEHH9SqVausw8eMGaPKlSunm65GjRp67bXXJElbtmxR06ZNVbhwYfn6+qpBgwbavn27zfgWi0XTpk3T448/rrx586p06dJatGiRNe6IiAhJUsGCBWWxWKwdzt4oOjpaBQoU0MKFC1WmTBl5enqqadOmOnbsmN3rJEmTJ09W6dKl5enpqaJFi6p9+/aZbqPTp0/rqaeeUvHixZU3b15VrlxZX375pc049tSfP/7446bfy83qUMOGDXXkyBENGDBAFovFpoOsW9U9wBmQQAMAADiR4cOHa/z48RoxYoT27t2rOXPmqGjRonZN++uvvyoyMlLt2rXTrl27NG/ePG3YsEF9+vSxGe/dd99VzZo1tWPHDr300kt68cUXtX//fknSzz//LElatWqVTp48qfnz5+vatWtq27atGjRooF27dmnTpk3q2bPnLXsXfuWVVzR48GDt3LlTZcqU0VNPPaVr165lOO7FixfVsmVLrVq1Sjt27FBkZKRat26to0ePSpK6deumvXv3asuWLdZpdu3apR07dliT3AsXLqhLly5av369Nm/erNKlS6tly5a6cOGCzbJGjx6tDh06aNeuXWrZsqWeeeYZnTlzRsHBwfrvf/8rSTpw4IBOnjyp999/P9P1u3Tpkt588019/vnn+vHHH5WQkKBOnTrZvU5bt25Vv379NGbMGB04cEDLli1T/fr1M13elStXVKNGDS1evFi7d+9Wz5499dxzz+mnn36yjmNP/bnZ93KrOjR//nwVL15cY8aM0cmTJ3Xy5Em7pgOcBb1w32PoaQ8AgJx3s15v7+VnoC9cuKAiRYroo48+0vPPP59+Xjc8n3zj87qdO3eWl5eXPvnkE+s0GzZsUIMGDZSYmChPT0+FhobqkUce0axZsyRJxhgFBARo9OjReuGFFzJ8BvrMmTMqVKiQYmJi1KBBg1uv8//PY9q0aerevbskae/evapYsaL27duncuXK2bU9KlasqBdffNGahLVs2VKhoaGaPHmyJGnAgAHauXOn1qxZk+H0KSkpKliwoObMmaNHH31U0j8t0K+++qpef/11SVJiYqJ8fHy0dOlSNW/e3O5noKOjo9W1a1dt3rxZtWrVkiTt379f5cuX108//aSHHnrolus0f/58de3aVcePH7d5dWpWtGrVSuXLl9c777xjd/252fdibx268Rloe6a7X9ELt3OhBRoAAMBJ7Nu3T0lJSWrcuPFtTb9t2zZFR0crX7581r/IyEilpqYqNjbWOl6VKlWs/1ssFgUEBCg+Pj7T+fr5+SkqKsragvr+++9bWx5v5vrlBAYGSlKmy0lMTNSQIUNUoUIFFShQQPny5dP+/futrbWS1KNHD3355Ze6cuWKkpOTNXv2bHXr1s06PD4+Xi+88ILKlCkjX19f+fr66uLFizbzuDEub29v+fj43HT9M+Pq6mrTUVa5cuVUoEAB7du3z651atq0qUJCQvTAAw/oueee0+zZs3Xp0qVMl5eSkqI333xTVapUUaFChZQvXz6tWLHCOj9768/Nvhd769CNbnc64F5DJ2IAAABOwsvL646mT01NVa9evdSvX790w0qUKGH9383NzWaYxWJRamrqTec9Y8YM9evXT8uWLdO8efP06quvauXKlapdu3am01y/nLTbvTNbzssvv6zly5frnXfeUalSpeTl5aX27dvr6tWr1nFat24tDw8PLViwQB4eHkpKStITTzxhHR4VFaVTp05p0qRJCgkJkYeHh+rUqWMzj9td/8xkdBt7Wtmt1snHx0fbt29XTEyMVqxYoddee02jRo3Sli1bMmz9fvfddzVx4kRNmjRJlStXlre3t/r372+dn73152bfi7116Ea3Ox1wryGBBgAAcBKlS5eWl5eXfvjhhwxvwb2V6tWra8+ePSpVqtRtx+Du7i7pn9bOG4WHhys8PFzDhw9XnTp1NGfOnJsm0Fmxfv16RUVF6fHHH5f0z/PDN77iytXVVV26dNGMGTPk4eGhTp06KW/evDbzmDx5slq2bClJOnbsmP7+++8sxXGz9b/RtWvXtHXrVuvt2gcOHNC5c+est6jbu05NmjRRkyZNNHLkSBUoUECrV69Wu3bt0i1v/fr1euyxx/Tss89K+idpPXjwoMqXLy/pzuuPZF8dcnd3T7d9sqPuAfcCEmjcX0Zl33sw7xmjzjs6AgDAXeLp6amhQ4dqyJAhcnd3V7169XTq1Cnt2bPH+szqzQwdOlS1a9dW79691aNHD3l7e2vfvn1auXKlPvzwQ7ti8Pf3l5eXl5YtW6bixYvL09NTZ86c0dSpU9WmTRsFBQXpwIED+u2339S5c+c7XWWrUqVKaf78+WrdurUsFotGjBiRYavw888/b00Yf/zxx3TzmDVrlmrWrKmEhAS9/PLLWW7VDwkJkcVi0eLFi9WyZUt5eXkpX758GY7r5uamvn376oMPPpCbm5v69Omj2rVrWxPqW63T4sWL9ccff6h+/foqWLCgli5dqtTUVJUtWzbTbfTf//5XGzduVMGCBfXee+8pLi7Ouj3utP5I9tWh0NBQrVu3Tp06dZKHh4cKFy6cLXUPuBfwDDQAAIATGTFihAYNGqTXXntN5cuXV8eOHe1+PrdKlSpau3atDh48qEceeUTh4eEaMWKE9TlXe7i6uuqDDz7QJ598oqCgID322GPKmzev9u/fryeeeEJlypRRz5491adPH/Xq1et2VzOdiRMnqmDBgqpbt65at26tyMhIVa9ePd14pUuXVt26dVW2bFlr511pPvvsM509e1bh4eF67rnn1K9fP/n7+2cpjmLFimn06NEaNmyYihYtetNepPPmzauhQ4fq6aefVp06deTl5aW5c+favU4FChTQ/Pnz1ahRI5UvX14ff/yxvvzyS1WsWDHD5Y0YMULVq1dXZGSkGjZsqICAALVt2zbdOLdbfyT76tCYMWN0+PBhlSxZUkWKFLF7OsAZ0Av3PYae9nIYLdAAAN2811s4N2OMypUrp169emngwIEOiyM6Olr9+/e3eQc3kBF64XYu3MINAACAXCE+Pl6zZs3SiRMn1LVrV0eHAyAXIoEGAABArlC0aFEVLlxYU6dOVcGCBR0dDoBciAQaAAAAucK99GRiVFSUoqKiHB0GgGxGJ2IAAAAAANiBBBoAAAAAADuQQAMAAAAAYAcSaAAAAAAA7EACDQAAAACAHUigAQAAAACwAwk0AAAAkEucO3dOo0eP1smTJx0disPExMRoypQpjg4DuRQJNAAAQC5x+PBhWSwW7dy5U9I/iYTFYtG5c+ccGhekhg0bqn///jm+nKioKF2+fFmBgYE5vqxbubE+3g2xsbF69tln9eCDD95y3OyK7259t7g3uDo6AAAAgHvKKN+7vLzzOTbrunXr6uTJk/L1zb51Onz4sMLCwrRjxw5Vq1Yt2+brKKGhoerfv79TJECjRo3SwoULM0343n33XeXLl0/jxo27u4HdI65evaqnnnpKn376qWrWrHnL8YODg3Xy5EkVLlz4LkSH3IIEGgAAIJdyd3dXQECAo8PAXTJo0CCHLNcYo5SUFLm6Oja1cHd31+bNm+0a9+rVq+wfuC3cwg0AAOBEUlNTNX78eJUqVUoeHh4qUaKE3nzzzQzHzegW7o0bN6p+/fry8vJScHCw+vXrp8TEROvw0NBQjR07Vt26dZOPj49KlCihqVOnWoeHhYVJksLDw2WxWNSwYUPrsh566CF5e3urQIECqlevno4cOZLpegwdOlRlypRR3rx59cADD2jEiBFKTk6W9E8rd548ebR161abaT788EOFhIRYE7bu3bsrLCxMXl5eKlu2rN5//32b8aOiotS2bVu98847CgwMVKFChdS7d2/rcho2bKgjR45owIABslgsslgsmcb73nvvqXLlyvL29lZwcLBeeuklXbx40WacH3/8UQ0aNFDevHlVsGBBRUZG6uzZs9bhqampGjJkiPz8/BQQEKBRo0bZTH/+/Hn17NlT/v7+yp8/vxo1aqRffvlFkhQdHa3Ro0frl19+scYaHR19y+kycvXqVfXp00eBgYHy9PRUaGiotdU6o9uaz507J4vFopiYGEn/q1fLly9XzZo15eHhofXr12e6vDT2fGc3SlvWkiVLVLVqVXl6eqpWrVr69ddfbcazp16/8cYbioqKkq+vr3r06JHhuq5du1YPPfSQPDw8FBgYqGHDhunatWvW4YmJiercubPy5cunwMBAvfvuuxlu3yFDhqhYsWLy9vZWrVq1rNsOzo8EGgAAwIkMHz5c48eP14gRI7R3717NmTNHRYsWtWvaX3/9VZGRkWrXrp127dqlefPmacOGDerTp4/NeO+++65q1qypHTt26KWXXtKLL76o/fv3S5J+/vlnSdKqVat08uRJzZ8/X9euXVPbtm3VoEED7dq1S5s2bVLPnj1vmpD6+PgoOjpae/fu1fvvv69PP/1UEydOlPRPstOkSRPNmDHDZpoZM2YoKipKFotFqampKl68uL766ivt3btXr732mv7973/rq6++splmzZo1+v3337VmzRp9/vnnio6Otiae8+fPV/HixTVmzBidPHnyph1v5cmTRx988IF2796tzz//XKtXr9aQIUOsw3fu3KnGjRurYsWK2rRpkzZs2KDWrVsrJSXFOs7nn38ub29v/fTTT5owYYLGjBmjlStXSvqnFbdVq1aKi4vT0qVLtW3bNlWvXl2NGzfWmTNn1LFjRw0aNEgVK1a0xtqxY8dbTpeRDz74QIsWLdJXX32lAwcO6IsvvlBoaGim656ZIUOGaNy4cdq3b5+qVKlyy/Ht/c4y8vLLL+udd97Rli1b5O/vrzZt2lh/CLG3Xr/99tuqVKmStm3bphEjRqRbxokTJ9SyZUs9+OCD+uWXXzRlyhRNnz5db7zxhk0ca9as0YIFC7RixQrFxMRo27ZtNvPp2rWrfvzxR82dO1e7du3Sk08+qebNm+vgwYO3XE/c+yzGGOPoIPA/CQkJ8vX11fnz55U/f35Hh5P73O3n2u6GHHx2DgByqytXrig2NlZhYWHy9PS0HXgPPwN94cIFFSlSRB999JGef/75dMNvfD45JiZGEREROnv2rAoUKKDOnTvLy8tLn3zyiXWaDRs2qEGDBkpMTLS2Rj7yyCOaNWuWpH8Su4CAAI0ePVovvPBChs9AnzlzRoUKFVJMTIwaNGhwW5vh7bff1rx586ytzl999ZVeeOEFnTx5Uh4eHvrll18UHh6uP/74I9Nkr3fv3vrrr7/0zTffSPqnBTomJka///67XFxcJEkdOnRQnjx5NHfuXEm3/wz0119/rRdffFF///23JOnpp5/W0aNHtWHDhgzHb9iwoVJSUmxaah966CE1atRIb731llavXq3HH39c8fHx8vDwsI5TqlQpDRkyRD179szwGWh7prtRv379tGfPHq1atSrdjxwZfb/nzp1TwYIFtWbNGjVs2NBarxYuXKjHHnss021kz/PyN35nN0pb1ty5c9WxY0dJ/9S34sWLKzo6Wh06dLC7XoeHh2vBggWZxvfKK6/ov//9r/bt22fdLpMnT9bQoUN1/vx5Xbp0SYUKFdLMmTPTxdKzZ09NmjRJv//+u0qXLq3jx48rKCjIuqwmTZrooYce0tixY9Ot482OR+QG9x6egQYAAHAS+/btU1JSkho3bnxb02/btk2HDh3S7NmzrWXGGKWmpio2Nlbly5eXJJvWRIvFooCAAMXHx2c6Xz8/P0VFRSkyMlJNmzZVkyZN1KFDh5v2BP3NN99o0qRJOnTokC5evKhr167ZJAht27ZVnz59tGDBAnXq1EmfffaZIiIibJLnjz/+WNOmTdORI0d0+fJlXb16NV2iVrFiRWvyLEmBgYHpbv+1x5o1azR27Fjt3btXCQkJunbtmq5cuaLExER5e3tr586devLJJ286jxtbaQMDA63bddu2bbp48aIKFSpkM87ly5f1+++/ZzrP25kuKipKTZs2VdmyZdW8eXM9+uijatas2U1jz4g9HXXdyJ7vLCN16tSx/u/n56eyZctq3759kuyv17eKd9++fapTp47Njwr16tXTxYsXdfz4cZ09e1ZXr17NMJY027dvlzFGZcqUsZl3UlJSuu8IzokEGgAAwEl4eXnd0fSpqanq1auX+vXrl25YiRIlrP+7ubnZDEu7ZfpmZsyYoX79+mnZsmWaN2+eXn31Va1cuVK1a9dON+7mzZvVqVMnjR49WpGRkfL19dXcuXNtnid1d3fXc889pxkzZqhdu3aaM2eOJk2aZB3+1VdfacCAAXr33XdVp04d+fj46O2339ZPP/1ks6zbWZcbHTlyRC1bttQLL7yg119/XX5+ftqwYYO6d+9uvY3Ynu/mZrGkpqYqMDAww2dlCxQokOk8b2e66tWrKzY2Vt9//71WrVqlDh06qEmTJvrmm2+UJ88/T3hef5Nq2jreyNvbO9O4MmLvd2avtETX3np9q3iNMela5NO2g8VikT037qampsrFxUXbtm2z+eFGkvLly3fL6XHvI4EGAABwEqVLl5aXl5d++OGHDG/hvpXq1atrz549KlWq1G3H4O7uLkk2z/amCQ8PV3h4uIYPH646depozpw5GSbQP/74o0JCQvTKK69YyzLqcOz5559XpUqVNHnyZCUnJ6tdu3bWYevXr1fdunX10ksvWctu1lJ7s/XJaF2ut3XrVl27dk3vvvuuNcG88bndKlWq6IcfftDo0aOzHIP0z3cTFxcnV1fXTG9RzyhWe6bLSP78+dWxY0d17NhR7du3V/PmzXXmzBkVKVJEknTy5EmFh4dLUra9x/lOvrPNmzdbk+GzZ8/qt99+U7ly5SRlT72WpAoVKui///2vTSK9ceNG+fj4qFixYipYsKDc3NwyjCXt0YXw8HClpKQoPj5ejzzyyB3Fg3sTnYgBAAA4CU9PTw0dOlRDhgzRzJkz9fvvv2vz5s2aPn26XdMPHTpUmzZtUu/evbVz504dPHhQixYtUt++fe2Owd/fX15eXlq2bJn++usvnT9/XrGxsRo+fLg2bdqkI0eOaMWKFfrtt9+st87eqFSpUjp69Kjmzp2r33//XR988IHNs6lpypcvr9q1a2vo0KF66qmnbFp5S5Uqpa1bt2r58uX67bffNGLECG3ZssXu9UgTGhqqdevW6cSJE9bnmW9UsmRJXbt2TR9++KH++OMPzZo1Sx9//LHNOMOHD9eWLVv00ksvadeuXdq/f7+mTJmS6Txv1KRJE9WpU0dt27bV8uXLdfjwYW3cuFGvvvqq9bnw0NBQxcbGaufOnfr777+VlJRk13Q3mjhxoubOnav9+/frt99+09dff62AgAAVKFBAXl5eql27tt566y3t3btX69at06uvvpqFLZq5O/nOxowZox9++EG7d+9WVFSUChcurLZt20rKnnotSS+99JKOHTumvn37av/+/fr22281cuRIDRw4UHny5FG+fPnUvXt3vfzyyzaxpP2oIkllypTRM888o86dO2v+/PmKjY3Vli1bNH78eC1dujRL8eDeRAINAADgREaMGKFBgwbptddeU/ny5dWxY8ebPp98vSpVqmjt2rU6ePCgHnnkEYWHh2vEiBE3fVb5Rq6urvrggw/0ySefKCgoSI899pjy5s2r/fv364knnlCZMmXUs2dP9enTR7169cpwHo899pgGDBigPn36qFq1atq4cWOGvSJLUvfu3XX16lV169bNpvyFF15Qu3bt1LFjR9WqVUunT5+2adm015gxY3T48GGVLFnS2vp6o2rVqum9997T+PHjValSJc2ePdv62qc0ZcqU0YoVK/TLL7/ooYceUp06dfTtt9/a/W5ki8WipUuXqn79+urWrZvKlCmjTp066fDhw9Ze1p944gk1b95cERERKlKkiL788ku7prtRvnz5NH78eNWsWVMPPvigDh8+rKVLl1oTwc8++0zJycmqWbOm/vWvf9n0Qn0n7uQ7e+utt/Svf/1LNWrU0MmTJ7Vo0SLr3RDZUa8lqVixYlq6dKl+/vlnVa1aVS+88IK6d+9u8wPC22+/rfr166tNmzZq0qSJHn74YdWoUcNmPjNmzFDnzp01aNAglS1bVm3atNFPP/2k4ODgLMWDexO9cN9j6Gkvh9ELNwBAt+iFG/eUN998U3Pnzr2tjr/g/G7sST43ohdu50ILNAAAAO45Fy9e1JYtW/Thhx9m2DkUADgCCTQAAADuOX369NHDDz+sBg0apLt9GwAchV64AQAAcM+Jjo5WdHS0o8OAgzVs2NCu10cBdwst0AAAAAAA2IEEGgAA3Ldo2QLgaByHnAsJNAAAuO+4ublJki5duuTgSADc79KOQ2nHJdzbeAYaAADcd1xcXFSgQAHr+5Pz5s0ri8Xi4KgA3E+MMbp06ZLi4+NVoEABubi4ODok2IEEGgAA3JcCAgIkyZpEA4AjFChQwHo8wr2PBBoAANyXLBaLAgMD5e/vr+TkZEeHA+A+5ObmRsuzkyGBBgAA9zUXFxcuYAEAdqETMQAAAAAA7EACDQAAAACAHUig/9+6devUunVrBQUFyWKxaOHChTbDLRZLhn9vv/22dZyGDRumG96pU6e7vCYAAAAAgJxAAv3/EhMTVbVqVX300UcZDj958qTN32effSaLxaInnnjCZrwePXrYjPfJJ5/cjfABAAAAADmMTsT+X4sWLdSiRYtMh9/Ytfy3336riIgIPfDAAzblefPmpRt6AAAAAMiFaIG+DX/99ZeWLFmi7t27pxs2e/ZsFS5cWBUrVtTgwYN14cKFm84rKSlJCQkJNn8AAAAAgHsPLdC34fPPP5ePj4/atWtnU/7MM88oLCxMAQEB2r17t4YPH65ffvlFK1euzHRe48aN0+jRo3M6ZAAAAADAHSKBvg2fffaZnnnmGXl6etqU9+jRw/p/pUqVVLp0adWsWVPbt29X9erVM5zX8OHDNXDgQOvnhIQEBQcH50zgAAAAAIDbRgKdRevXr9eBAwc0b968W45bvXp1ubm56eDBg5km0B4eHvLw8MjuMAEAAAAA2YxnoLNo+vTpqlGjhqpWrXrLcffs2aPk5GQFBgbehcgAAAAAADmJFuj/d/HiRR06dMj6OTY2Vjt37pSfn59KlCgh6Z/bq7/++mu9++676ab//fffNXv2bLVs2VKFCxfW3r17NWjQIIWHh6tevXp3bT0AAAAAADmDBPr/bd26VREREdbPac8ld+nSRdHR0ZKkuXPnyhijp556Kt307u7u+uGHH/T+++/r4sWLCg4OVqtWrTRy5Ei5uLjclXUAAAAAAOQcizHGODoI/E9CQoJ8fX11/vx55c+f39Hh5D6jfB0dQfYbdd7REQAAACAHkBvce3gGGgAAAAAAO5BAAwAAAABgBxJoAAAAAADsQAINAAAAAIAdSKABAAAAALADCTQAAAAAAHYggQYAAAAAwA4k0AAAAAAA2IEEGgAAAAAAO5BAAwAAAABgBxJoAAAAAADsQAINAAAAAIAdSKABAAAAALADCTQAAAAAAHYggQYAAAAAwA4k0AAAAAAA2IEEGgAAAAAAO5BAAwAAAABgBxJoAAAAAADsQAINAAAAAIAdSKABAAAAALADCTQAAAAAAHYggQYAAAAAwA4k0AAAAAAA2IEEGgAAAAAAO5BAAwAAAABgBxJoAAAAAADsQAINAAAAAIAdSKABAAAAALADCTQAAAAAAHYggQYAAAAAwA6ujg7gdhljtHbtWq1fv16HDx/WpUuXVKRIEYWHh6tJkyYKDg52dIgAAAAAgFzE6VqgL1++rLFjxyo4OFgtWrTQkiVLdO7cObm4uOjQoUMaOXKkwsLC1LJlS23evNnR4QIAAAAAcgmna4EuU6aMatWqpY8//liRkZFyc3NLN86RI0c0Z84cdezYUa+++qp69OjhgEgBAAAAALmJxRhjHB1EVuzevVuVKlWya9yrV6/qyJEjKl26dA5HlX0SEhLk6+ur8+fPK3/+/I4OJ/cZ5evoCLLfqPOOjgAAAAA5gNzg3uN0t3DbmzxLkru7u1MlzwAAAACAe5fT3cKdkWvXrumTTz5RTEyMUlJSVK9ePfXu3Vuenp6ODg0AAAAAkEvkigS6X79++u2339SuXTslJydr5syZ2rp1q7788ktHhwYAAAAAyCWcMoFesGCBHn/8cevnFStW6MCBA3JxcZEkRUZGqnbt2o4KDwAAAACQCzndM9CSNH36dLVt21YnTpyQJFWvXl0vvPCCli1bpu+++05DhgzRgw8+6OAoAQAAAAC5iVMm0IsXL1anTp3UsGFDffjhh5o6dary58+vV155RSNGjFBwcLDmzJnj6DABAAAAALmI073G6nrnzp3Tyy+/rF27dumTTz5RtWrVHB3SHaOr+hzGa6wAAADgJMgN7j1O2QKdpkCBAvr000/19ttv67nnntPLL7+sy5cvOzosAAAAAEAu5JQJ9LFjx9SxY0dVrlxZzzzzjEqXLq1t27bJy8tL1apV0/fff+/oEAEAAAAAuYxTJtCdO3eWxWLR22+/LX9/f/Xq1Uvu7u4aM2aMFi5cqHHjxqlDhw6ODhMAAAAAkIs45Wustm7dqp07d6pkyZKKjIxUWFiYdVj58uW1bt06TZ061YERAgAAAAByG6dsga5evbpee+01rVixQkOHDlXlypXTjdOzZ88szXPdunVq3bq1goKCZLFYtHDhQpvhUVFRslgsNn83vms6KSlJffv2VeHCheXt7a02bdro+PHjWV4/AAAAAMC9xykT6JkzZyopKUkDBgzQiRMn9Mknn9zxPBMTE1W1alV99NFHmY7TvHlznTx50vq3dOlSm+H9+/fXggULNHfuXG3YsEEXL17Uo48+qpSUlDuODwAAAADgWE55C3dISIi++eabbJ1nixYt1KJFi5uO4+HhoYCAgAyHnT9/XtOnT9esWbPUpEkTSdIXX3yh4OBgrVq1SpGRkdkaLwAAAADg7nK6FujExMQcHf9mYmJi5O/vrzJlyqhHjx6Kj4+3Dtu2bZuSk5PVrFkza1lQUJAqVaqkjRs3ZjrPpKQkJSQk2PwBAAAAAO49TpdAlypVSmPHjtWff/6Z6TjGGK1cuVItWrTQBx98kC3LbdGihWbPnq3Vq1fr3Xff1ZYtW9SoUSMlJSVJkuLi4uTu7q6CBQvaTFe0aFHFxcVlOt9x48bJ19fX+hccHJwt8QIAAAAAspfT3cIdExOjV199VaNHj1a1atVUs2ZNBQUFydPTU2fPntXevXu1adMmubm5afjw4VnuTCwzHTt2tP5fqVIl1axZUyEhIVqyZInatWuX6XTGGFkslkyHDx8+XAMHDrR+TkhIIIkGAAAAgHuQ0yXQZcuW1ddff63jx4/r66+/1rp167Rx40ZdvnxZhQsXVnh4uD799FO1bNlSefLkXAN7YGCgQkJCdPDgQUlSQECArl69qrNnz9q0QsfHx6tu3bqZzsfDw0MeHh45FicAAAAAIHs4XQKdpnjx4howYIAGDBjgkOWfPn1ax44dU2BgoCSpRo0acnNz08qVK9WhQwdJ0smTJ7V7925NmDDBITECAAAAALKP0ybQ2e3ixYs6dOiQ9XNsbKx27twpPz8/+fn5adSoUXriiScUGBiow4cP69///rcKFy6sxx9/XJLk6+ur7t27a9CgQSpUqJD8/Pw0ePBgVa5c2dorNwAAAADAeZFA/7+tW7cqIiLC+jntueQuXbpoypQp+vXXXzVz5kydO3dOgYGBioiI0Lx58+Tj42OdZuLEiXJ1dVWHDh10+fJlNW7cWNHR0XJxcbnr6wMAAAAAyF4WY4xxdBD4n4SEBPn6+ur8+fPKnz+/o8PJfUb5OjqC7DfqvKMjAAAAQA4gN7j3ON1rrAAAAAAAcASnTqCPHj2qjBrQjTE6evSoAyICAAAAAORWTp1Ah4WF6dSpU+nKz5w5o7CwMAdEBAAAAADIrZw6gTbGyGKxpCu/ePGiPD09HRARAAAAACC3cspeuNN6yLZYLBoxYoTy5s1rHZaSkqKffvpJ1apVc1B0AAAAAIDcyCkT6B07dkj6pwX6119/lbu7u3WYu7u7qlatqsGDBzsqPAAAAABALuSUCfSaNWskSV27dtX7779Pl+4AAAAAgBzn1M9Az5gxQ/nz59ehQ4e0fPlyXb58WZIy7JkbAAAAAIA74dQJ9JkzZ9S4cWOVKVNGLVu21MmTJyVJzz//vAYNGuTg6AAAAAAAuYlTJ9D9+/eXm5ubjh49atORWMeOHbVs2TIHRgYAAAAAyG2c8hnoNCtWrNDy5ctVvHhxm/LSpUvryJEjDooKAAAAAJAbOXULdGJiok3Lc5q///5bHh4eDogIAAAAAJBbOXUCXb9+fc2cOdP62WKxKDU1VW+//bYiIiIcGBkAAAAAILdx6lu43377bTVs2FBbt27V1atXNWTIEO3Zs0dnzpzRjz/+6OjwAAAAAAC5iFO3QFeoUEG7du3SQw89pKZNmyoxMVHt2rXTjh07VLJkSUeHBwAAAADIRZy6BVqSAgICNHr0aEeHAQAAAADI5Zw+gT537px+/vlnxcfHKzU11WZY586dHRQVAAAAACC3ceoE+rvvvtMzzzyjxMRE+fj4yGKxWIdZLBYSaAAAAABAtnHqZ6AHDRqkbt266cKFCzp37pzOnj1r/Ttz5oyjwwMAAAAA5CJOnUCfOHFC/fr1y/Bd0AAAAAAAZCenTqAjIyO1detWR4cBAAAAALgPOPUz0K1atdLLL7+svXv3qnLlynJzc7MZ3qZNGwdFBgAAAADIbSzGGOPoIG5XnjyZN6BbLBalpKTcxWiyR0JCgnx9fXX+/Hnlz5/f0eHkPqN8HR1B9ht13tERAAAAIAeQG9x7nLoF+sbXVgEAAAAAkFOc9hnoa9euydXVVbt373Z0KAAAAACA+4DTJtCurq4KCQlxytu0AQAAAADOx2kTaEl69dVXNXz4cN75DAAAAADIcU79DPQHH3ygQ4cOKSgoSCEhIfL29rYZvn37dgdFBgAAAADIbZw6gW7btq2jQwAAAAAA3CecOoEeOXKko0MAAAAAANwnnPoZaEk6d+6cpk2bZvMs9Pbt23XixAkHRwYAAAAAyE2cugV6165datKkiXx9fXX48GH16NFDfn5+WrBggY4cOaKZM2c6OkQAAAAAQC7h1C3QAwcOVFRUlA4ePChPT09reYsWLbRu3ToHRgYAAAAAyG2cOoHesmWLevXqla68WLFiiouLc0BEAAAAAIDcyqkTaE9PTyUkJKQrP3DggIoUKeKAiAAAAAAAuZVTJ9CPPfaYxowZo+TkZEmSxWLR0aNHNWzYMD3xxBMOjg4AAAAAkJs4dQL9zjvv6NSpU/L399fly5fVoEEDlSpVSj4+PnrzzTcdHR4AAAAAIBdx6l648+fPrw0bNmj16tXavn27UlNTVb16dTVp0sTRoQEAAAAAchmnTqBnzpypjh07qlGjRmrUqJG1/OrVq5o7d646d+7swOgAAAAAALmJxRhjHB3E7XJxcdHJkyfl7+9vU3769Gn5+/srJSXFQZHdvoSEBPn6+ur8+fPKnz+/o8PJfUb5OjqC7DfqvKMjAPUKAADkAHKDe49TPwNtjJHFYklXfvz4cfn65sILWgAAAACAwzjlLdzh4eGyWCyyWCxq3LixXF3/txopKSmKjY1V8+bNHRghAAAAACC3ccoEum3btpKknTt3KjIyUvny5bMOc3d3V2hoKK+xAgAAAABkK6dMoEeOHClJCg0NVceOHeXp6engiAAAAAAAuZ1TJtBpunTpIumfXrfj4+OVmppqM7xEiRKOCAsAAAAAkAs5dQJ98OBBdevWTRs3brQpT+tczBl74QYAAAAA3JucuhfuqKgo5cmTR4sXL9a2bdu0fft2bd++XTt27ND27duzNK9169apdevWCgoKksVi0cKFC63DkpOTNXToUFWuXFne3t4KCgpS586d9eeff9rMo2HDhtbOzdL+OnXqlB2rCgAAAABwMKdugd65c6e2bdumcuXK3fG8EhMTVbVqVXXt2jVdB2SXLl3S9u3bNWLECFWtWlVnz55V//791aZNG23dutVm3B49emjMmDHWz15eXnccGwAAAADA8Zw6ga5QoYL+/vvvbJlXixYt1KJFiwyH+fr6auXKlTZlH374oR566CEdPXrU5lnrvHnzKiAgIFtiAgAAAADcO5z6Fu7x48dryJAhiomJ0enTp5WQkGDzl5POnz8vi8WiAgUK2JTPnj1bhQsXVsWKFTV48GBduHDhpvNJSkq6q3EDAAAAAG6PU7dAN2nSRJLUuHFjm/Kc7kTsypUrGjZsmJ5++mnlz5/fWv7MM88oLCxMAQEB2r17t4YPH65ffvklXev19caNG6fRo0fnSJwAAAAAgOzj1An0mjVr7voyk5OT1alTJ6Wmpmry5Mk2w3r06GH9v1KlSipdurRq1qyp7du3q3r16hnOb/jw4Ro4cKD1c0JCgoKDg3MmeAAAAADAbXPqBLpBgwZ3dXnJycnq0KGDYmNjtXr1apvW54xUr15dbm5uOnjwYKYJtIeHhzw8PHIiXAAAAABANnK6BHrXrl2qVKmS8uTJo127dt103CpVqmTbctOS54MHD2rNmjUqVKjQLafZs2ePkpOTFRgYmG1xAAAAAAAcw+kS6GrVqikuLk7+/v6qVq2aLBaLjDHpxsvqM9AXL17UoUOHrJ9jY2O1c+dO+fn5KSgoSO3bt9f27du1ePFipaSkKC4uTpLk5+cnd3d3/f7775o9e7ZatmypwoULa+/evRo0aJDCw8NVr169O19xAAAAAIBDOV0CHRsbqyJFilj/zy5bt25VRESE9XPac8ldunTRqFGjtGjRIkn/JPDXW7NmjRo2bCh3d3f98MMPev/993Xx4kUFBwerVatWGjlypFxcXLItTgAAAACAYzhdAh0SEpLh/3eqYcOGGbZkp7nZMEkKDg7W2rVrsy0eAAAAAMC9xanfAw0AAAAAwN1CAg0AAAAAgB1IoAEAAAAAsIPTJtApKSlau3atzp496+hQAAAAAAD3AadNoF1cXBQZGalz5845OhQAAAAAwH3AaRNoSapcubL++OMPR4cBAAAAALgPOHUC/eabb2rw4MFavHixTp48qYSEBJs/AAAAAACyi9O9B/p6zZs3lyS1adNGFovFWm6MkcViUUpKiqNCAwAAAADkMk6dQK9Zs8bRIQAAAAAA7hNOnUA3aNDA0SEAAAAAAO4TTp1Ap7l06ZKOHj2qq1ev2pRXqVLFQREBAAAAAHIbp06gT506pa5du+r777/PcDjPQAMAAAAAsotT98Ldv39/nT17Vps3b5aXl5eWLVumzz//XKVLl9aiRYscHR4AAAAAIBdx6hbo1atX69tvv9WDDz6oPHnyKCQkRE2bNlX+/Pk1btw4tWrVytEhAgAAAAByCadugU5MTJS/v78kyc/PT6dOnZIkVa5cWdu3b3dkaAAAAACAXMapE+iyZcvqwIEDkqRq1arpk08+0YkTJ/Txxx8rMDDQwdEBAAAAAHITp76Fu3///jp58qQkaeTIkYqMjNTs2bPl7u6u6OhoxwYHAAAAAMhVnDqBfuaZZ6z/h4eH6/Dhw9q/f79KlCihwoULOzAyAAAAAEBu49QJ9PWMMfLy8lL16tUdHQoAAAAAIBdy6megJWn69OmqVKmSPD095enpqUqVKmnatGmODgsAAAAAkMs4dQv0iBEjNHHiRPXt21d16tSRJG3atEkDBgzQ4cOH9cYbbzg4QgAAAABAbuHUCfSUKVP06aef6qmnnrKWtWnTRlWqVFHfvn1JoAEAAAAA2capb+FOSUlRzZo105XXqFFD165dc0BEAAAAAIDcyqkT6GeffVZTpkxJVz516lSbHroBAAAAALhTTn0Lt/RPJ2IrVqxQ7dq1JUmbN2/WsWPH1LlzZw0cONA63nvvveeoEAEAAAAAuYBTJ9C7d++2vrbq999/lyQVKVJERYoU0e7du63jWSwWh8QHAAAAAMg9nDqBXrNmjaNDAAAAAADcJ5z6GWgAAAAAAO4WEmgAAAAAAOxAAg0AAAAAgB1IoAEAAAAAsAMJNAAAAAAAdnD6BHrWrFmqV6+egoKCdOTIEUnSpEmT9O233zo4MgAAAABAbuJUCfTy5ct1/vx56+cpU6Zo4MCBatmypc6dO6eUlBRJUoECBTRp0iQHRQkAAAAAyI2cKoGOi4tTvXr1dPz4cUnShx9+qE8//VSvvPKKXFxcrOPVrFlTv/76q6PCBAAAAADkQq6ODiArunTpIh8fHzVv3ly7d+9WbGyswsPD043n4eGhxMREB0QIAAAAAMitnKoFWpLatWun7777TpIUFhamnTt3phvn+++/V4UKFe5yZAAAAACA3MypWqDThIWFSZJefvll9e7dW1euXJExRj///LO+/PJLjRs3TtOmTXNwlAAAAACA3MQpE+g0Xbt21bVr1zRkyBBdunRJTz/9tIoVK6b3339fnTp1cnR4AAAAAIBcxKkTaEnq0aOHevToob///lupqany9/d3dEgAAAAAgFzI6Z6Bvl6jRo107tw5SVLhwoWtyXNCQoIaNWrkwMgAAAAAALmNUyfQMTExunr1arryK1euaP369Q6ICAAAAACQWznlLdy7du2y/r93717FxcVZP6ekpGjZsmUqVqyYI0IDAAAAAORSTplAV6tWTRaLRRaLJcNbtb28vPThhx86IDIAAAAAQG7llAl0bGysjDF64IEH9PPPP6tIkSLWYe7u7vL395eLi4sDIwQAAAAA5DZOmUCHhIRIklJTUx0cCQAAAADgfuHUnYhJ0qxZs1SvXj0FBQXpyJEjkqSJEyfq22+/zdJ81q1bp9atWysoKEgWi0ULFy60GW6M0ahRoxQUFCQvLy81bNhQe/bssRknKSlJffv2VeHCheXt7a02bdro+PHjd7R+AAAAAIB7g1Mn0FOmTNHAgQPVsmVLnTt3TikpKZKkggULatKkSVmaV2JioqpWraqPPvoow+ETJkzQe++9p48++khbtmxRQECAmjZtqgsXLljH6d+/vxYsWKC5c+dqw4YNunjxoh599FFrXAAAAAAA5+XUCfSHH36oTz/9VK+88orNM881a9bUr7/+mqV5tWjRQm+88YbatWuXbpgxRpMmTdIrr7yidu3aqVKlSvr888916dIlzZkzR5J0/vx5TZ8+Xe+++66aNGmi8PBwffHFF/r111+1atWqO1tRAAAAAIDDOXUCHRsbq/Dw8HTlHh4eSkxMzNblxMXFqVmzZjbLaNCggTZu3ChJ2rZtm5KTk23GCQoKUqVKlazjZCQpKUkJCQk2fwAAAACAe49TJ9BhYWHauXNnuvLvv/9eFSpUyLblpL1numjRojblRYsWtQ6Li4uTu7u7ChYsmOk4GRk3bpx8fX2tf8HBwdkWNwAAAAAg+zhl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AAAAAECu5NQt0EuXLlWTJk1UoEABdejQQcnJyerYsaP279+vNWvWODo8AAAAAEAu4tQJdI0aNbRgwQI99thj8vDw0PTp0/X7779rzZo1Klq0qKPDAwAAAADkIk59C7ckNWzYULNmzVL79u11+PBhrV27luQZAAAAAJDtnK4Ful27dhmWFylSRAUKFFDPnj2tZfPnz79bYQEAAAAAcjmna4H29fXN8C8yMlIlS5a0KctOoaGhslgs6f569+4tSYqKiko3rHbt2tkaAwAAAADAcZyuBXrGjBkOWe6WLVuUkpJi/bx79241bdpUTz75pLWsefPmNvG5u7vf1RgBAAAAADnH6RLo68XGxuratWsqXbq0TfnBgwfl5uam0NDQbFtWkSJFbD6/9dZbKlmypBo0aGAt8/DwUEBAQLYtEwAAAABw73C6W7ivFxUVpY0bN6Yr/+mnnxQVFZVjy7169aq++OILdevWTRaLxVoeExMjf39/lSlTRj169FB8fPwt55WUlKSEhASbPwAAAADAvcepE+gdO3aoXr166cpr166tnTt35thyFy5cqHPnztkk6S1atNDs2bO1evVqvfvuu9qyZYsaNWqkpKSkm85r3LhxNs9tBwcH51jcAAAAAIDb59S3cFssFl24cCFd+fnz522eV85u06dPV4sWLRQUFGQt69ixo/X/SpUqqWbNmgoJCdGSJUsy7TlckoYPH66BAwdaPyckJJBEAwAAAMA9yKlboB955BGNGzfOJllOSUnRuHHj9PDDD+fIMo8cOaJVq1bp+eefv+l4gYGBCgkJ0cGDB286noeHh/Lnz2/zBwAAAAC49zh1C/SECRNUv359lS1bVo888ogkaf369UpISNDq1atzZJkzZsyQv7+/WrVqddPxTp8+rWPHjikwMDBH4gAAAAAA3F1O3QJdoUIF7dq1Sx06dFB8fLwuXLigzp07a//+/apUqVK2Ly81NVUzZsxQly5d5Or6v98eLl68qMGDB2vTpk06fPiwYmJi1Lp1axUuXFiPP/54tscBAAAAALj7nLoFWpKCgoI0duzYu7KsVatW6ejRo+rWrZtNuYuLi3799VfNnDlT586dU2BgoCIiIjRv3jz5+PjcldgAAAAAADnL6RLoXbt2qVKlSsqTJ4927dp103GrVKmSrctu1qyZjDHpyr28vLR8+fJsXRYAAAAA4N7i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X6RlMhlKSkpw9epVPPnkk1izZg18fHzw4YcfjruPjY0NvvjiC3z11VdwcXFBZmYmEhMTNcY4OzujoqIC7e3t8PT0hJubG95++21YWFiMG9fb2xv5+fkoKCiAq6srli1bhtraWqk/KysLCxcuxMqVK+Hh4QEhBIqKikYti/5fxMTEoKGhAW5ubkhISMC+ffvg5+cHAHB1dUVKSgqSkpLw+OOP4+DBg6MeVbZkyRJkZmYiJSUFLi4uOHHiBLZv3w4DA4NJ5ZWVlYWQkBDExMTAwcEBq1atQm1tLaytrScVl4iIaCI6QpsLtoiIiOieY2dnh+joaI3nL98JW7ZswY8//oiqqqo7GpeIiGiq8RpoIiIimlLvv/8+fH19YWRkhOLiYuTk5CAjI2Om0yIiIrptLKCJiIhoStXV1SE5ORk9PT14+OGHkZqais2bN890WkRERLeNS7iJiIiIiIiItMCbiBERERERERFpgQU0ERERERERkRZYQBMRERERERFpgQU0ERERERERkRZYQBMRERERERFpgQU0ERERERERkRZYQBMRERERERFpgQU0ERERERERkRZYQBMRERERERFp4T/lbJZw/4cB4QAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"multiple_barplot(purchase_train_time, x=\"number_company\", y=\"time_between_purchase\", 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 = \"Taux de ticket acheté par internet (%)\", \n",
" title = \"temps moyen entre le premier et le dernier achat selon y_has_purchased par compagnies de spectacle (train set)\")"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "74f06e96-3c25-4eca-8190-25b0a4ab0d75",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"customer_id int64\n",
"nb_tickets int64\n",
"nb_purchases int64\n",
"total_amount float64\n",
"nb_suppliers int64\n",
"vente_internet_max int64\n",
"purchase_date_min float64\n",
"purchase_date_max float64\n",
"time_between_purchase float64\n",
"nb_tickets_internet float64\n",
"number_compagny int64\n",
"dtype: object"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"products_purchased_reduced_spectacle.dtypes"
]
},
{
"cell_type": "code",
"execution_count": 114,
"id": "aa6655c0-c602-4485-8b38-3117227464e1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>nb_tickets</th>\n",
" <th>nb_purchases</th>\n",
" <th>total_amount</th>\n",
" <th>nb_suppliers</th>\n",
" <th>vente_internet_max</th>\n",
" <th>purchase_date_min</th>\n",
" <th>purchase_date_max</th>\n",
" <th>time_between_purchase</th>\n",
" <th>nb_tickets_internet</th>\n",
" <th>number_compagny</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>19482</td>\n",
" <td>88</td>\n",
" <td>29</td>\n",
" <td>872.0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>2643.092500</td>\n",
" <td>718.149398</td>\n",
" <td>1924.943102</td>\n",
" <td>8.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>19484</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>62.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1745.021736</td>\n",
" <td>1743.045035</td>\n",
" <td>1.976701</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>19485</td>\n",
" <td>131</td>\n",
" <td>21</td>\n",
" <td>1878.0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>2649.044745</td>\n",
" <td>85.240845</td>\n",
" <td>2563.803900</td>\n",
" <td>84.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>19486</td>\n",
" <td>10</td>\n",
" <td>4</td>\n",
" <td>96.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1944.077604</td>\n",
" <td>1742.794225</td>\n",
" <td>201.283380</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>19487</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>33.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1742.877766</td>\n",
" <td>1742.877766</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99580</th>\n",
" <td>6884747</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>40.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.193750</td>\n",
" <td>0.193750</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99581</th>\n",
" <td>6884748</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>40.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.186806</td>\n",
" <td>0.186806</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99582</th>\n",
" <td>6884750</td>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>80.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.136111</td>\n",
" <td>0.136111</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99583</th>\n",
" <td>6884751</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>40.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.122917</td>\n",
" <td>0.122917</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99584</th>\n",
" <td>6884753</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>40.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0.047222</td>\n",
" <td>0.047222</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>14</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>764880 rows × 11 columns</p>\n",
"</div>"
],
"text/plain": [
" customer_id nb_tickets nb_purchases total_amount nb_suppliers \\\n",
"0 19482 88 29 872.0 2 \n",
"1 19484 3 2 62.0 1 \n",
"2 19485 131 21 1878.0 2 \n",
"3 19486 10 4 96.0 1 \n",
"4 19487 2 1 33.0 1 \n",
"... ... ... ... ... ... \n",
"99580 6884747 2 1 40.0 1 \n",
"99581 6884748 2 1 40.0 1 \n",
"99582 6884750 4 1 80.0 1 \n",
"99583 6884751 2 1 40.0 1 \n",
"99584 6884753 2 1 40.0 1 \n",
"\n",
" vente_internet_max purchase_date_min purchase_date_max \\\n",
"0 1 2643.092500 718.149398 \n",
"1 0 1745.021736 1743.045035 \n",
"2 1 2649.044745 85.240845 \n",
"3 0 1944.077604 1742.794225 \n",
"4 0 1742.877766 1742.877766 \n",
"... ... ... ... \n",
"99580 0 0.193750 0.193750 \n",
"99581 0 0.186806 0.186806 \n",
"99582 0 0.136111 0.136111 \n",
"99583 0 0.122917 0.122917 \n",
"99584 0 0.047222 0.047222 \n",
"\n",
" time_between_purchase nb_tickets_internet number_compagny \n",
"0 1924.943102 8.0 10 \n",
"1 1.976701 0.0 10 \n",
"2 2563.803900 84.0 10 \n",
"3 201.283380 0.0 10 \n",
"4 0.000000 0.0 10 \n",
"... ... ... ... \n",
"99580 0.000000 0.0 14 \n",
"99581 0.000000 0.0 14 \n",
"99582 0.000000 0.0 14 \n",
"99583 0.000000 0.0 14 \n",
"99584 0.000000 0.0 14 \n",
"\n",
"[764880 rows x 11 columns]"
]
},
"execution_count": 114,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"products_purchased_reduced_spectacle"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "be04e2f9-60b9-4b44-ab36-06a365b21e32",
"metadata": {},
"outputs": [],
"source": [
"#Stat sur les canaux de vente"
]
},
{
"cell_type": "code",
"execution_count": 118,
"id": "20a70ec0-38f6-470e-a442-7884a150613a",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Skpyur7MzExz8eJFs2bNGiPJ/Pjjj/Z5eQ2zxhhz7Ngxc8cdd5h77rnHbN261fj7+5t//vOfV92fr7/+Otfz/PIwez3n87Fjx4y3t7f597//7dDesWNHExwcbC5evGiMMWbOnDlGkvn8888d+v3www9Gkpk4caK9LTw83Pj6+poDBw7Y286dO2dKlChh+vbta2+bN2+ekWRWrVrlsE5XzmlnssLsXXfd5XAO7d+/33h5eZk+ffrkuOzVzqPu3bvnuu0srnwGJJng4GCTmppqb0tOTjaFChUycXFx9rY33njDSDL79u3Ltr3w8HDj4eFhfvnlF4f2vn37miJFijgcC2OMefPNN40ks3PnTmPM/4XZ0NBQc+7cOXu/1NRUU6JECdOsWTN7W9bPkVdeeSVbHVeG2az93b59u9P3yRjXzi1YB8MMcFPx9vbWmDFjtHnzZn366adO+6xcuVLSpT+fXu7xxx9X4cKFs/2Zqm7duipbtqx9ulq1apIu/fnW398/W7uzJyp07drVYbpLly6SpFWrVjm0N23aVMWLF7dPnz9/Xt98840effRR+fv7Kz093f5q06aNzp8/r++++87pfl6uSZMmKly4cLZaW7du7fBntiv3YePGjTp37ly29yosLExNmzZ1eK+efvppSdL//vc/e9u7776rWrVq6YEHHpB06aaQEydOqEePHg77kpmZqVatWumHH37I9mfNdu3aOUzXrl1b58+fV0pKSo77u3HjRp0/fz7b+x4VFaXw8HCHtsWLF6tmzZqqW7euQ00tW7Z0+NOoMxs2bFBqaqr69++f613Rp0+f1rBhw1SpUiV5enrK09NTRYoU0ZkzZxyGa+S2z5LjufXHH3+oS5cuCgkJkYeHh7y8vBQdHS1JTteZF0FBQZo7d662bt2qqKgolStXTpMmTbrqclnncU7neZbrPZ+DgoLUtm1bzZw5U5mZmZKkv/76S1988YW6d+8uT09PSZeOabFixdS2bVuHbdStW1chISHZjmndunVVrlw5+7Svr68qV67s9LN8pWs5p53p0qWLwzkUHh6uqKgoh58Rrp5HHTp0uOp2Jdc/A02aNFHRokXt08HBwSpdunSe3q8stWvXVuXKlbPV0aRJE4WGhjrU0bp1a0nSmjVrHPr/4x//kK+vr326aNGiatu2rdauXauMjAyHvnl5L+rWrStvb2/961//0syZM/XHH39k6+PquQVrIMziptO5c2fdddddeumll3Tx4sVs848fPy5PT0+VKlXKod1msykkJETHjx93aC9RooTDtLe3d67t58+fd2j39PRUUFCQQ1tISIi9lsuVKVMmW63p6emaMGGCvLy8HF5t2rSRJB07dizbPl7pWvchq74r65Kk0NBQh/qDg4PVqVMnffDBB8rIyNCOHTv07bff6plnnrH3OXLkiCTpsccey7Y/48aNkzFGJ06ccNjOle+dj4+PpNxvGMmqK+t9vtyVbUeOHNGOHTuy1VO0aFEZY3J9f7PGyN1xxx059pEuBZV3331Xffr00bJly7Rp0yb98MMPKlWqlNP9uNo+nz59Wo0aNdL333+vMWPGaPXq1frhhx80f/58h37X4t5771WNGjV0/vx5Pf300w7/CcpJ1mcqp/P88n7Xez736tVLhw4dUkJCgiRpzpw5SktLc/gP15EjR/T333/L29s723aSk5OzbePKuqVL73le3sdrOaedyelcvfwz5up55Oxzm9M+uPIZuJ73K7fajhw5okWLFmWro0aNGpKynxs5vWcXLlzQ6dOnr7q9K1WsWFErVqxQ6dKlNWDAAFWsWFEVK1bUO++841CjK+cWrMHT3QUAV7LZbBo3bpyaN2+uyZMnZ5sfFBSk9PR0HT161CHQGmOUnJysu+++O1/rSU9P1/Hjxx1+ASQnJ9trubL2yxUvXlweHh7q1q2bBgwY4HT9ERER+Vrv5bLqS0pKyjbv8OHDKlmypEPbs88+qw8//FBffPGFli5dqmLFijlcrcvqP2HChBzvIg4ODs63urPe58slJyc73PhUsmRJ+fn5Odzwc7kr9/FyWefPn3/+mWOfkydPavHixYqNjdXw4cPt7WlpaXkKOc6sXLlShw8f1urVq+1XYyU5fQySr6+v0xvmcvqlGxsbq59++kmRkZF65ZVX9PDDD6tChQq51pP1mcrpPM+SH+dzy5YtFRoaqunTp6tly5aaPn267r33XlWvXt3eJ+vGuaVLlzpdx+VXFa9Xfp3TOZ2rWe/ntZxHeX2G6vV8Bq6Vs9pKliyp2rVra+zYsU6XCQ0NdZjO6T3z9vbO9nzvvL4XjRo1UqNGjZSRkaHNmzdrwoQJGjx4sIKDg9W5c+cbem7hxiHM4qbUrFkzNW/eXKNHj1ZYWJjDvAcffFDjx4/XRx99pCFDhtjbP//8c505c0YPPvhgvtcze/ZsDRo0yD798ccfS9JVH97v7++vJk2aaNu2bapdu7b9yumN0qBBA/n5+emjjz6y380tXQpvK1eu1GOPPebQPzIyUlFRURo3bpx+/vln/etf/3K4stewYUMVK1ZMu3btcrhim9/uu+8++fr6avbs2Q5/XtywYYMOHDjgEGYffvhhvfbaawoKCnL5PwZRUVEKDAzUpEmT1LlzZ6e/MG02m4wx9qurWaZMmZLtT6F5lbWdK9f5wQcfZOtbvnx5zZs3T2lpafb+x48f14YNGxQQEODQNyEhQXFxcXr55Zc1ePBg1a1bV506ddL69etzPfeaNGmi8ePH53ieZ8mP8zkrDMfHx+vbb7/V5s2bs+33ww8/rE8++UQZGRm69957Xd6GMzn9RSC/zuk5c+Zo6NCh9mN74MABbdiwQd27d5dUMOdRluv5DOQkL39BcVbHkiVLVLFiRYfhVjmZP3++3njjDftQg1OnTmnRokVq1KiRPDw8rq3w/8/Dw0P33nuvqlatqtmzZ2vr1q3q3LlzgZxbcD/CLG5a48aNU2RkpFJSUux/ppKk5s2bq2XLlho2bJhSU1PVsGFD7dixQ7GxsapXr566deuWr3V4e3vrrbfe0unTp3X33Xdrw4YNGjNmjFq3bq3777//qsu/8847uv/++9WoUSM9/fTTKl++vE6dOqXff/9dixYtso8BLgjFihXTiBEj9O9//1vdu3fXE088oePHj2vUqFHy9fVVbGxstmWeffZZderUSTabTf3793eYV6RIEU2YMEE9evTQiRMn9Nhjj6l06dI6evSofvzxRx09elTvv//+ddddvHhxPf/88xozZoz69Omjxx9/XAcPHtTIkSOz/Wly8ODB+vzzz/XAAw9oyJAhql27tjIzM5WYmKjly5frueeey/GXVpEiRfTWW2+pT58+atasmZ566ikFBwfr999/148//qh3331XAQEBeuCBB/TGG2+oZMmSKl++vNasWaOpU6eqWLFi17R/UVFRKl68uPr166fY2Fh5eXlp9uzZTp+x3K1bN33wwQf65z//qaeeekrHjx/X+PHjswXZpKQk/fOf/1R0dLRiY2NVqFAhzZ07Vw888IBefPFFxcfH51hPixYt7P3OnDmj+vXra/369frwww+z9c2P87lXr14aN26cunTp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S7r06K3t27crMTFR0qXxrt27/9/3Nvfr108HDhzQ0KFDtXv3bk2bNk1Tp07V888/747yAQAA4GZuHTO7efNmNWnSxD49dOhQSVKPHj00Y8YMJSUl2YOtJEVERGjJkiUaMmSI3nvvPYWGhuq///1vjo/lAgAAwK3NrWG2cePG9hu4nJkxY0a2tujoaG3durUAqwIAAIBVWGrMLAAAAHA5wiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAsl8Ps1KlTnbanp6crJibmugsCAAAA8srlMPvcc8+pQ4cOOnHihL1tz549uueee/Tpp5/ma3EAAABAblwOs9u2bdORI0dUq1YtJSQk6L333tNdd92lmjVravv27QVQIgAAAOCcp6sLREREaO3atRoyZIhatWolDw8PzZo1S507dy6I+gAAAIAcXdMNYIsXL9acOXMUFRWlYsWK6X//+58OHz6c37UBAAAAuXI5zPbt21cdO3bUiy++qLVr12rHjh3y8fFRrVq1GDMLAACAG8rlYQbr16/X999/rzp16kiSQkJCtGTJEr333nvq1auXOnbsmO9FAgAAAM64HGa3bNkiHx+fbO0DBgxQs2bN8qUoAAAAIC9cHmbgLMhmqVKlynUVAwAAALjimp5mYLPZcpz/xx9/XFdBAAAAQF65HGYHDx7sMH3x4kVt27ZNS5cu1QsvvJBfdQEAAABX5XKYffbZZ522v/fee9q8efN1FwQAAADk1TU9Z9aZ1q1b6/PPP8+v1QEAAABXlW9h9rPPPlOJEiXya3UAAADAVbk8zKBevXoON4AZY5ScnKyjR49q4sSJ+VocAAAAkBuXw+wjjzziMF2oUCGVKlVKjRs3VtWqVfOrLgAAAOCqXA6zsbGxBVEHAAAA4DKXw+zlzp07p4sXLzq0BQQEXFdBAAAAQF65fAPYmTNn9Mwzz6h06dIqUqSIihcv7vACAAAAbhSXw+yLL76olStXauLEifLx8dGUKVM0atQohYaGatasWQVRIwAAAOCUy8MMFi1apFmzZqlx48bq1auXGjVqpEqVKik8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6dJFw4YNU3Jysmw2mzIzM7V+/Xo9//zz6t69e0HUCAAAADjlcpgdO3asypUrp7Jly+r06dOqXr26HnjgAUVFRenll18uiBoBAAAAp1x+zqyXl5dmz56t0aNHa9u2bcrMzFS9evV05513FkR9AAAAQI5cDrOrV69W48aNVbFiRVWsWLEgagIAAADyxOVhBq1atVLFihU1ZswY/fnnnwVREwAAAJAnLofZw4cP69lnn9X8+fNVvnx5tWzZUp9++qkuXLhQEPUBAAAAOXI5zJYoUUKDBg3S1q1btXnzZlWpUkUDBgxQmTJlNGjQIP34448FUScAAACQjcth9nJ169bV8OHDNWDAAJ05c0bTpk1TZGSkGjVqpJ07d+ZXjQAAAIBT1xRmL168qM8++0xt2rRReHi4li1bpnfffVdHjhzRvn37FBYWpscffzy/awUAAAAcuBxmBw4cqDJlyqhfv36qXLmytm3bpo0bN6pPnz4qXLiwwsLC9Prrr2vPnj15Wt/EiRMVEREhX19fRUZG6ttvv821f1paml566SWFh4fLx8dHFStW1LRp01zdDQAAANwCXH40165duzRhwgR16NBB3t7eTvuEhoZq1apVV13X3LlzNXjwYE2cOFENGzbUBx98oNatW2vXrl0qV66c02U6duyoI0eOaOrUqapUqZJSUlKUnp7u6m4AAADgFuBymP3mm2+uvlJPT0VHR1+139tvv63evXurT58+kqT4+HgtW7ZM77//vuLi4rL1X7p0qdasWaM//vhDJUqUkCSVL1/etR0AAADALeOaxszu3btXAwcOVLNmzdS8eXMNGjRIe/fudWkdFy5c0JYtW9SiRQuH9hYtWmjDhg1Ol/nyyy9Vv359jR8/XmXLllXlypX1/PPP69y5czluJy0tTampqQ4vAAAA3BpcDrPLli1T9erVtWnTJtWuXVs1a9bU999/rxo1aighISHP6zl27JgyMjIUHBzs0B4cHKzk5GSny/zxxx9at26dfv75Zy1YsEDx8fH67LPPNGDAgBy3ExcXp8DAQPsrLCwszzUCAADg5ubyMIPhw4dryJAhev3117O1Dxs2TM2bN3dpfTabzWHaGJOtLUtmZqZsNptmz56twMBASZeGKjz22GN677335Ofnl22ZmJgYDR061D6dmppKoAUAALhFuHxldvfu3erdu3e29l69emnX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k50uk5yc7LR/enq6jh07pjJlymRbJi4uTqNGjcrWHhYWdh3Vw50CJ/Rzdwm4gTjetxeO9+2F4317uZbjferUKQUGBubax21hNovNZnOYNsZka7taf2ftWWJiYjR06FD7dGZmpk6cOKGgoKBct3OrSU1NVVhYmA4ePKiAgAB3l4MCxvG+vXC8by8c79vL7Xq8jTE6deqUQkNDr9rXbWG2ZMmS8vDwyHYVNiUlJdvV1ywhISFO+3t6eiooKMjpMj4+PvLx8XFoK1as2LUXbnEBAQG31Yfhdsfxvr1wvG8vHO/by+14vK92RTaL224A8/b2VmRkpBISEhzaExISFBUV5XSZBg0aZOu/fPly1a9f3+l4WQAAANza3Po0g6FDh2rKlCmaNm2adu/erSFDhigxMVH9+l0aUxETE6Pu3bvb+/fr108HDhzQ0KFDtXv3bk2bNk1Tp07V888/765dAAAAgBu5dcxsp06ddPz4cY0ePVpJSUmqWbOmlixZovDwcElSUlKSwzNnIyIitGTJEg0ZMkTvvfeeQkND9d///lcdOnRw1y5Yho+Pj2JjY7MNucCtieN9e+F431443rcXjvfV2UxennkAAAAA3ITc/nW2AAAAwLUizAIAAMCyCLMAAACwLMIsAAAALIswe4tZu3at2rZtq9DQUNlsNi1cuNBhvjFGI0eOVGhoqPz8/NS4cWPt3LnTPcXiul3teM+fP18tW7ZUyZIlZbPZtH37drfUifyR2/G+ePGihg0bplq1aqlw4cIKDQ1V9+7ddfjwYfcVjOtytc/3yJEjVbVqVRUuXFjFixdXs2bN9P3337unWFy3qx3vy/Xt21c2m03x8fE3rL6bGWH2FnPmzBnVqVNH7777rtP548eP19tvv613331XP/zwg0JCQtS8eXOdOnXqBleK/HC1433mzBk1bNhQr7/++g2uDAUht+N99uxZbd26VSNGjNDWrVs1f/58/frrr2rXrp0bKkV+uNrnu3Llynr33Xf1008/ad26dSpfvrxatGiho0eP3uBKkR+udryzLFy4UN9//32evub1tmFwy5JkFixYYJ/OzMw0ISEh5vXXX7e3nT9/3gQGBppJkya5oULkpyuP9+X27dtnJJlt27bd0JpQcHI73lk2bdpkJJkDBw7cmKJQYPJyvE+ePGkkmRUrVtyYolBgcjref/75pylbtqz5+eefTXh4uPnPf/5zw2u7GXFl9jayb98+JScnq0WLFvY2Hx8fRUdHa8OGDW6sDEBBOHnypGw2m4oVK+buUlDALly4oMmTJyswMFB16tRxdzkoAJmZmerWrZteeOEF1ahRw93l3FTc+g1guLGSk5MlScHBwQ7twcHBOnDggDtKAlBAzp8/r+HDh6tLly4KCAhwdzkoIIsXL1bnzp119uxZlSlTRgkJCSpZsqS7y0IBGDdunDw9PTVo0CB3l3LT4crsbchmszlMG2OytQGwrosXL6pz587KzMzUxIkT3V0OClCTJk20fft2bdiwQa1atVLHjh2VkpLi7rKQz7Zs2aJ33nlHM2bM4Pe1E4TZ20hISIik/7tCmyUlJSXb1VoA1nTx4kV17NhR+/btU0JCAldlb3GFCxdWpUqVdN9992nq1Kny9PTU1KlT3V0W8tm3336rlJQUlStXTp6envL09NSBAwf03HPPqXz58u4uz+0Is7eRiIgIhYSEKCEhwd524cIFrVmzRlFRUW6sDEB+yAqyv/32m1asWKGgoCB3l4QbzBijtLQ0d5eBfNatWzft2LFD27dvt79CQ0P1wgsvaNmyZe4uz+0YM3uLOX36tH7//Xf79L59+7R9+3aVKFFC5cqV0+DBg/Xaa6/pzjvv1J133qnXXntN/v7+6tKlixurxrW62vE+ceKEEhMT7c8a/eWXXyRdukqfdaUe1pHb8Q4NDdVjjz2mrVu3avHixcrIyLD/FaZEiRLy9vZ2V9m4Rrkd76CgII0dO1bt2rVTmTJldPz4cU2cOFF//vmnHn/8cTdWjWt1tZ/nV/7n1MvLSyEhIapSpcqNLvXm4+7HKSB/rVq1ykjK9urRo4cx5tLjuWJjY01ISIjx8fExDzzwgPnpp5/cWzSu2dWO9/Tp053Oj42NdWvduDa5He+sx685e61atcrdpeMa5Ha8z507Zx599FETGhpqvL29TZkyZUy7du3Mpk2b3F02rtHVfp5fiUdz/R+bMcYUbFwGAAAACgZjZgEAAGBZhFkAAABYFmEWAAAAlkWYBQAAgGURZgEAAGBZhFkAAABYFmEWAAAAlkWYBQAAgGURZgHgGjVu3FiDBw92dxkAcFsjzAIAAMCyCLMAcBPJyMhQZmamu8sAAMsgzAKwvMaNG2vQoEF68cUXVaJECYWEhGjkyJGSpP3798tms2n79u32/n///bdsNptWr14tSVq9erVsNpuWLVumevXqyc/PT02bNlVKSoq+/vprVatWTQEBAXriiSd09uxZh22np6frmWeeUbFixRQUFKSXX35Zxhj7/AsXLujFF19U2bJlVbhwYd1777327UrSjBkzVKxYMS1evFjVq1eXj4+PDhw4cNV9njZtmmrUqCEfHx+VKVNGzzzzjH1eYmKi2rdvryJFiiggIEAdO3bUkSNH7PNHjhypunXratq0aSpXrpyKFCmip59+WhkZGRo/frxCQkJUunRpjR071mGbNptN77//vlq3bi0/Pz9FRERo3rx5Dn2GDRumypUry9/fXxUqVNCIESN08eJFhz5jxoxR6dKlVbRoUfXp00fDhw9X3bp17fN79uypRx55RG+++abKlCmjoKAgDRgwwL6e0aNHq1atWtnek8jISL3yyitXfe8A3GIMAFhcdHS0CQgIMCNHjjS//vqrmTlzprHZbGb58uVm3759RpLZtm2bvf9ff/1lJJlVq1YZY4xZtWqVkWTuu+8+s27dOrN161ZTqVIlEx0dbVq0aGG2bt1q1q5da4KCgszrr7/usN0iRYqYZ5991uzZs8d89NFHxt/f30yePNnep0uXLiYqKsqsXbvW/P777+aNN94wPj4+5tdffzXGGDN9+nTj5eVloqKizPr1682ePXvM6dOnc93fiRMnGl9fXxMfH29++eUXs2nTJvOf//zHGGNMZmamqVevnrn//vvN5s2bzXfffWfuuusuEx0dbV8+NjbWFClSxDz22GNm586d5ssvvzTe3t6mZcuWZuDAgWbPnj1m2rRpRpLZuHGjfTlJJigoyPzvf/8zv/zyi3n55ZeNh4eH2bVrl73Pq6++atavX2/27dtnvvzySxMcHGzGjRtnn//RRx8ZX19fM23aNPPLL7+YUaNGmYCAAFOnTh17nx49epiAgADTr18/s3v3brNo0SKH9/XgwYOmUKFCZtOmTfZlfvzxR2Oz2czevXtzfe8A3HoIswAsLzo62tx///0ObXfffbcZNmyYS2F2xYoV9j5xcXFGkkM46tu3r2nZsqXDdqtVq2YyMzPtbcOGDTPVqlUzxhjz+++/G5vNZg4dOuRQ24MPPmhiYmKMMZfCrCSzffv2PO9vaGioeemll5zOW758ufHw8DCJiYn2tp07dxpJ9vAXGxtr/P39TWpqqr1Py5YtTfny5U1GRoa9rUqVKiYuLs4+Lcn069fPYXv33nuvefrpp3Osdfz48SYyMtKh/4ABAxz6NGzYMFuYDQ8PN+np6fa2xx9/3HTq1Mk+3bp1a4ftDh482DRu3DjHOgDcuhhmAOCWULt2bYfpMmXKKCUl5ZrXERwcbP9T+eVtV67zvvvuk81ms083aNBAv/32mzIyMrR161YZY1S5cmUVKVLE/lqzZo327t1rX8bb2ztb/TlJSUnR4cOH9eCDDzqdv3v3boWFhSksLMzeVr16dRUrVky7d++2t5UvX15FixZ12Lfq1aurUKFCDm1X7m+DBg2yTV++3s8++0z333+/QkJCVKRIEY0YMUKJiYn2+b/88ovuueceh3VcOS1JNWrUkIeHh336yuP51FNPac6cOTp//rwuXryo2bNnq1evXk7fEwC3Nk93FwAA+cHLy8th2mazKTMz0x7OzGXjWK8cw+lsHTabLcd15lVmZqY8PDy0ZcsWh2AmSUWKFLH/28/PzyEQ58bPzy/X+cYYp+u6st3Zvl3r/mat97vvvlPnzp01atQotWzZUoGBgfrkk0/01ltvOe1/eW1Xulotbdu2lY+PjxYsWCAfHx+lpaWpQ4cOV60VwK2HK7MAbmmlSpWSJCUlJdnbLr8Z7Hp999132abvvPNOeXh4qF69esrIyFBKSooqVark8AoJCbmm7RUtWlTly5fXN99843R+9erVlZiYqIMHD9rbdu3apZMnT6patWrXtM3LOdvfqlWrSpLWr1+v8PBwvfTSS6pfv77uvPPObDezValSRZs2bXJo27x5s8t1eHp6qkePHpo+fbqmT5+uzp07y9/f3+X1ALA+rswCuKX5+fnpvvvu0+uvv67y5cvr2LFjevnll/Nt/QcPHtTQoUPVt29fbd26VRMmTLBfiaxcubK6du2q7t2766233lK9evV07NgxrVy5UrVq1VKbNm2uaZsjR45Uv379VLp0abVu3VqnTp3S+vXrNXDgQDVr1ky1a9dW165dFR8fr/T0dPXv31/R0dGqX7/+de/vvHnzVL9+fd1///2aPXu2Nm3apKlTp0qSKlWqpMTERH3yySe6++679dVXX2nBggUOyw8cOFBPPfWU6tevr6ioKM2dO1c7duxwGM6RV3369LEH9PXr11/3vgGwJq7MArjlTZs2TRcvXlT9+vX17LPPasyYMfm27u7du+vcuXO65557NGDAAA0cOFD/+te/7POnT5+u7t2767nnnlOVKlXUrl07ff/99w5jWl3Vo0cPxcfHa+LEiapRo4Yefvhh/fbbb5Iu/Tl+4cKFKl68uB544AE1a9ZMFSpU0Ny5c697XyVp1KhR+uSTT1S7dm3NnDlTs2fPVvXq1SVJ7du315AhQ/TMM8+obt262rBhg0aMGOGwfNeuXRUTE6Pnn39ed911l/bt26eePXvK19fX5VruvPNORUVFqUqVKrr33nvzZf8AWI/NOBusBADAFWw2mxYsWKBHHnkkX9fbvHlzhYSE6MMPP3RpOWOMqlatqr59+2ro0KH5WhMA62CYAQDghjl79qwmTZqkli1bysPDQ3PmzNGKFSuUkJDg0npSUlL04Ycf6tChQ3ryyScLqFoAVkCYBYCbzOVPOrjS119/rUaNGt3AavKXzWbTkiVLNGbMGKWlpalKlSr6/PPP1axZM5fWExwcrJIlS2ry5MkqXrx4AVULwAoYZgAAN5nff/89x3lly5a96uO5AOB2QpgFAACAZfE0AwAAAFgWYRYAAACWRZgFAACAZRFmAQAAYFmEWQAAAFgWYRYAAACWRZgFAACAZf0/+B7g2S7P1+wAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 800x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#Repartition du nombre de canaux de vente selon les entreprise\n",
"\n",
"# Filtrer les données pour inclure uniquement les valeurs positives de total_amount et exclusion des valeur aberrantes\n",
"purchase_canaux = products_purchased_reduced_spectacle[(products_purchased_reduced_spectacle['nb_tickets'] > 0) ]\n",
"\n",
"plt.figure(figsize=(8, 6))\n",
"sns.barplot(x='number_compagny', y='nb_suppliers', data=purchase_canaux, ci=None) # ci=None pour ne pas afficher les intervalles de confiance\n",
"plt.title('Nombre moyen de canaux de vente par entreprise')\n",
"plt.xlabel('number_compagny')\n",
"plt.ylabel('Nombre moyen de caneaux ')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 120,
"id": "ee901539-37d1-4dfa-8e78-38e4947c3d35",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"count 697297.000000\n",
"mean 0.110917\n",
"std 0.319561\n",
"min 0.000000\n",
"25% 0.000000\n",
"50% 0.000000\n",
"75% 0.000000\n",
"max 8.000000\n",
"Name: nb_suppliers, dtype: float64"
]
},
"execution_count": 120,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_set_spectacle[\"nb_suppliers\"].describe()"
]
},
{
"cell_type": "code",
"execution_count": 125,
"id": "7389053e-54ae-4167-9afd-aa5d194822ef",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_company</th>\n",
" <th>y_has_purchased</th>\n",
" <th>nb_suppliers</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10</td>\n",
" <td>0.0</td>\n",
" <td>1.118250</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10</td>\n",
" <td>1.0</td>\n",
" <td>1.340136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>11</td>\n",
" <td>0.0</td>\n",
" <td>1.033992</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>11</td>\n",
" <td>1.0</td>\n",
" <td>1.155239</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>12</td>\n",
" <td>0.0</td>\n",
" <td>0.153296</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>12</td>\n",
" <td>1.0</td>\n",
" <td>0.220174</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>13</td>\n",
" <td>0.0</td>\n",
" <td>1.007711</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>13</td>\n",
" <td>1.0</td>\n",
" <td>1.083750</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>14</td>\n",
" <td>0.0</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>14</td>\n",
" <td>1.0</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_company y_has_purchased nb_suppliers\n",
"0 10 0.0 1.118250\n",
"1 10 1.0 1.340136\n",
"2 11 0.0 1.033992\n",
"3 11 1.0 1.155239\n",
"4 12 0.0 0.153296\n",
"5 12 1.0 0.220174\n",
"6 13 0.0 1.007711\n",
"7 13 1.0 1.083750\n",
"8 14 0.0 1.000000\n",
"9 14 1.0 1.000000"
]
},
"execution_count": 125,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#repartition des client selon le nombre moyen de canaux utilisé pour l'achat de ticket par compagnie sur base de train\n",
"\n",
"#purchase_train_canaux = train_set_spectacle[(train_set_spectacle['nb_tickets'] > 0) ]\n",
"\n",
"purchase_train_canaux_filtered= purchase_train_canaux.groupby([\"number_company\", \"y_has_purchased\"])[\"nb_suppliers\"].mean().reset_index()\n",
"purchase_train_canaux_filtered"
]
},
{
"cell_type": "code",
"execution_count": 126,
"id": "e4079e46-db8b-4a25-9da6-37b1405c57d9",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA2QAAAIiCAYAAACnngsNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACE4ElEQVR4nOzdd3gUVfv/8c+G9ATSgBAgJKGjtABSpXcQQSwoSkdBRKpSHqWKUhQE8UFEQZAHEFRABQRC70gVpYgiTQhdWoCEJOf3B7/sl01jFxIWwvt1Xbmu7JkzM/fMnpnde8/MGYsxxggAAAAAcN+5ODsAAAAAAHhUkZABAAAAgJOQkAEAAACAk5CQAQAAAICTkJABAAAAgJOQkAEAAACAk5CQAQAAAICTkJABAAAAgJOQkAEAAACAkzwUCdn06dNlsVjk6empo0ePppheq1YtlSxZ0gmRSe3bt5evr69T1o3U1apVS7Vq1XJ2GI8Mi8WioUOHWl8nHa+ZZejQobJYLDp37twd637wwQdauHBhpsWSnuT75WGzZs0aWSwWfffdd84O5YH3sH4OhIeHq3379s4OA/dR0vn5yJEjzg7Fei5/FMyePVvjx4/P9PW0b99e4eHhGb7c4cOH67HHHlNiYqIk6dq1axo6dKjWrFmT4euS/u/zJ7OWf68mTZqk6dOnpyg/ePCg3N3dtXPnToeX+VAkZEliY2P17rvvOjsMAA8JZyZkAPCgadq0qTZv3qyQkBBnh/JIuV8JWWY4efKkxowZo+HDh8vF5VbacO3aNQ0bNizTEqZy5cpp8+bNKleuXKYs/16llZAVLVpUL7/8snr37u3wMh+qhKxRo0aaPXu2fv31V2eHkiGMMbp+/bqzwwAAJHPz5k3Fx8c7O4xHBvv7/siVK5cqV64sDw8PZ4eCh8SECRPk7++vli1b3vUyrl275lD9HDlyqHLlysqRI8ddr9NZunfvrnXr1mnTpk0OzfdQJWT9+vVTUFCQ+vfvf8e6N27c0MCBAxURESF3d3fly5dPb7zxhi5evGhTLzw8XE899ZQWLVqkyMhIeXl5qUSJElq0aJGkW937JUqUkI+PjypWrKjt27enur69e/eqbt268vHxUa5cudS9e/cUDdBisah79+6aPHmySpQoIQ8PD82YMUOS9Oeff6p169bKnTu3PDw8VKJECf33v/+1a78kLferr75SsWLF5OXlpQoVKmjLli0yxujDDz9URESEfH19VadOHf31118pljFt2jSVKVNGnp6eCgwM1DPPPKP9+/dbp8+cOVMWi0WbN29OMe/w4cPl5uamkydPWstWrFihunXrKkeOHPL29la1atW0cuVKm/mSLlfYu3evXnrpJfn5+Sk4OFgdO3bUpUuX7rjdxhiNGTNGYWFh8vT0VLly5fTzzz+nWvfy5ct66623bNpDr169FBMTc8f1SNLSpUtVt25d+fn5ydvbWyVKlNDIkSOt07dv364XX3xR4eHh8vLyUnh4uF566aUUl9gmXS6yevVqvf7668qZM6eCgoLUsmVLm/0nSXPnzlWDBg0UEhJibZcDBgxIEXNal2gmv3Rh1KhRcnFx0U8//ZSinre3t3777bd098Hly5f16quvKigoSL6+vmrUqJEOHjyY7jyOboskbd26Vc2aNVNQUJA8PT1VqFAh9erVK0W906dPp9tuLBaLYmJiNGPGDFksFlksljteyvrZZ5+pTJky8vX1Vfbs2VW8eHH95z//salz6tQpdenSRfnz55e7u7siIiI0bNgwu75M/v7772revLkCAgLk6empsmXLWs8BSZIu1ZgzZ47eeecd5c2bVzly5FC9evX0xx9/pLv89evXW+dN7uuvv5bFYtG2bdvuGOftbt68ecc4oqKi1Lx5c+XPn1+enp4qXLiwunTpkuKy0rNnz+q1115TaGioPDw8lCtXLlWrVk0rVqywO56kYygqKkodOnRQYGCgfHx81KxZM/399982ddO6JC/5MZO0z2fOnKm+ffsqX7588vDwsJ4r73T8J/nrr7/UpEkT+fr6KjQ0VH379lVsbKxNnWHDhqlSpUoKDAxUjhw5VK5cOU2dOlXGGJt6q1atUq1atRQUFCQvLy8VKFBAzz77rM3nSlxcnEaMGKHixYtb92eHDh109uxZm2XdvHlT/fr1U548eeTt7a0nn3xSv/zyi137+8iRI7JYLBozZozef/99FShQQJ6enqpQoUKKc/pff/2lDh06qEiRIvL29la+fPnUrFmzFOeWO+1vR8yePVtVqlSRr6+vfH19VbZsWU2dOtWmzp0+36T/u+z0wIEDatiwoXx8fBQSEqJRo0ZJkrZs2aInn3xSPj4+Klq0aIrj1pF2ae/xIkk//PCDSpcuLQ8PDxUsWFATJkxI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h4oVK6YbN27oyJEjWrJkiSZPnpzmJSVDhgyx3oM2ePBgBQYGatasWVq8eLHGjBkjPz8/h7cvPT179rS266+++ipDl3274sWLq1ChQhowYICMMQoMDNRPP/1kc6mndOvX0dq1a6t169YqXry4smfPrm3btmnp0qV39Xyb7du32xz777zzjvLly2dzTmrTpo1eeeUVdevWTc8++6yOHj2qMWPGpLicPS32HP+OaNq0qcaNG6fWrVvrtdde0/nz5/XRRx+l+IIyefJkrVq1Sk2bNlWBAgV048YNaw9/vXr1JN26dH/WrFlq0qSJevbsqYoVK8rNzU3//POPVq9erebNm+uZZ55RiRIl9Morr2j8+PFyc3NTvXr19Pvvv+ujjz5y6Bk/2bJlU/369dWnTx8lJiZq9OjRunz5soYNG2at89RTT2n69OkqXry4SpcurR07dujDDz+868u50hMeHq7//Oc/eu+993T9+nXrIzD27dunc+fOadiwYXf1+Xav7tQu7T1epFvnm6ZNm6phw4bq2bOnEhIS9OGHH8rX1zfDehTs/cy+l+P3vffeU6NGjVS/fn317dtXCQkJGj16tHx8fGy2o1q1anrttdfUoUMHbd++XTVq1JCPj4+io6O1YcMGlSpVynove3KOxBcUFKTXX39dx44dU9GiRbVkyRJ98cUXev31160/XNl7fNnTDqVbn0Xz58/XZ599pvLly8vFxUUVKlSw+5xg73qSu5d9Kv3fDzpbtmyx3j8s3eotCgsL0w8//KC6desqMDDQ+v0nLZnxXcleGXlOlW69n998843mzp2rggULytPT0ya53bJli8qWLWszZsQd2T38hxPdPspicq1btzaSbEZZNMaY69evm/79+5uwsDDj5uZmQkJCzOuvv24z9Kwxt0bhatq0aYrlKtkQqMb832hTH374obWsXbt2xsfHx+zZs8fUqlXLeHl5mcDAQPP666/bjHqY1jJvX3bHjh1Nvnz5jJubm8mVK5epWrVqmiMz3U2sxvzfyDXffvutTfmXX35pSpcubdzd3Y2fn59p3rx5mkOEx8bGGg8PD9OoUaM0Y1q7dq1p2rSpCQwMNG5ubiZfvnymadOmNutNGonn9qFOjUl9WN7UJCYmmpEjR5rQ0FDj7u5uSpcubX766adURx28evWqeffdd02xYsWs21iqVCnTu3fvOw77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tWjRQjVr1tSePXu0efNmvfbaa3ccQe6dd97RW2+9pd27d6to0aJ66aWXFB8fn2rdq1evqkmTJlqxYoV27dqlhg0bqlmzZjp27JgkqWPHjtq3b5+2bdtmnWfPnj3atWuXNWm6cuWK2rVrp/Xr12vLli0qUqSImjRpoitXrtisa9iwYXrhhRe0Z88eNWnSRC+//LIuXLig0NBQff/995KkP/74Q9HR0ZowYUKa23ft2jW9//77mjFjhjZu3KjLly/rxRdftHubtm/frh49emj48OH6448/tHTpUtWoUSPN9d24cUPly5fXokWL9Pvvv+u1115TmzZttHXrVmsde9pPeu/LndrQ/PnzlT9/fg0fPlzR0dGKjo62az48mCzGGOPsIO6nB+Fp3AAAPApu3Lihw4cPKyIiQp6enjbTHuR7yK5cuaJcuXLp008/VefOnVMuL9n9Xcnvd2rbtq28vLz0+eefW+fZsGGDatasqZiYGHl6eio8PFzVq1fXzJkzJUnGGOXJk0fDhg1T165dU72H7MKFCwoKCtKaNWtUs2bNO2/3/1/Gl19+qU6dOkmS9u3bp8cff1z79+9X8eLF7dofjz/+uF5//XXrl/omTZooPDxckyZNkiT17t1bu3fv1urVq1OdPyEhQQEBAZo9e7aeeuopSbd6yN5991299957kqSYmBhlz55dS5YsUaNGjey+h2z69Onq0KGDtmzZokqVKkmSDhw4oBIlSmjr1q2qWLHiHbdp/vz56tChg/755x9lz57drn2SXNOmTVWiRAl99NFHdref9N4Xe9tQ8nvI7JnvUZTeuehByA3oIQMAALjN/v37FRsbq7p1697V/Dt27ND06dPl6+tr/WvYsKESExN1+PBha73SpUtb/7dYLMqTJ4/OnDmT5nIDAwPVvn17aw/PhAkTrD0j6bl9PSEhIZKU5npiYmLUr18/PfbYY/L395evr68OHDhg7U2SpFdffVVz5szRjRs3dPPmTc2aNUsdO3a0Tj9z5oy6du2qokWLys/PT35+frp69arNMpLH5ePjo+zZs6e7/WlxdXW1GbiiePHi8vf31/79++3apvr16yssLEwFCxZUmzZtNGvWLF27di3N9SUkJOj9999X6dKlFRQUJF9fXy1fvty6PHvbT3rvi71tKLm7nQ/OxaAeAAAAt/Hy8rqn+RMTE9WlSxf16NEjxbQCBQpY/3dzc7OZZrFYlJiYmO6yv/rqK/Xo0UNLly7V3Llz9e677yoqKkqVK1dOc57b15N0eWNa63n77be1bNkyffTRRypcuLC8vLz03HPPKS4uzlqnWbNm8vDw0IIFC+Th4aHY2Fg9++yz1unt27fX2bNnNX78eIWFhcnDw0NVqlSxWcbdbn9aUrtsM6nsTtuUPXt27dy5U2vWrNHy5cs1ePBgDR06VNu2bUu1d27s2LH6+OOPNX78eJUqVUo+Pj7q1auXdXn2tp/03hd721BydzsfnIuEDAAA4DZFihSRl5eXVq5cmeolZ3dSrlw57d27V4ULF77rGNzd3SXd6o1JLjIyUpGRkRo4cKCqVKmi2bNnp5uQOWL9+vVq3769nnnmGUm37r9KPiS+q6ur2rVrp6+++koeHh568cUX5e3tbbOMSZMmqUmTJpKk48eP69y5cw7Fkd72JxcfH6/t27dbL0/8448/dPHiReslmfZuU7169VSvXj0NGTJE/v7+WrVqlVq2bJlifevXr1fz5s31yiuvSLqVBP35558qUaKEpHtvP5J9bcjd3T3F/smItof7j4QMGW9oxj2H5YEx9JKzIwAA3Ceenp7q37+/+vXrJ3d3d1WrVk1nz57V3r17rff8pKd///6qXLmy3njjDb366qvy8fHR/v37FRUVpYkTJ9oVQ+7cueXl5aWlS5cqf/788vT01IULFzRlyhQ9/fTTyps3r/744w8dPHhQbdu2vddNtipcuLDmz5+vZs2ayWKxaNCgQan2WnXu3NmagGzcuDHFMmbOnKkKFSro8uXLevvttx3udQwLC5PFYtGiRYvUpEkTeXl5ydfXN9W6bm5uevPNN/XJJ5/Izc1N3bt3V+XKla0J2p22adGiRfr7779Vo0YNBQQEaMmSJUpMTFSxYsXS3Efff/+9Nm3apICAAI0bN06nTp2y7o97bT+SfW0oPDxc69at04svvigPDw/lzJkzQ9oe7j/uIQMAAEhm0KBB6tu3rwYPHqwSJUqoVatWdt/fVLp0aa1du1Z//vmnqlevrsjISA0aNMh6n5A9XF1d9cknn+jzzz9X3rx51bx5c3l7e+vAgQN69tlnVbRoUb322mvq3r27unTpcrebmcLHH3+sgIAAVa1aVc2aNVPDhg1Vrly5FPWKFCmiqlWrqlixYtbBNJJMmzZN//77ryIjI9WmTRv16NFDuXPndiiOfPnyadiwYRowYICCg4PTHSXQ29tb/fv3V+vWrVWlShV5eXnpm2++sXub/P39NX/+fNWpU0clSpTQ5MmTNWfOHD3++OOprm/QoEEqV66cGjZsqFq1ailPnjxq0aJFijp3234k+9rQ8OHDdeTIERUqVEi5cuWyez48eBhlERmPHjIAgNIf2QwPN2OMihcvri5duqhPnz5Oi2P69Onq1auXzTPggOQe9FEWuWQRAAAAdjtz5oxmzpypEydOqEOHDs4OB3jokZABAADAbsHBwcqZM6emTJmigIAAZ4cDPPRIyAAAAGC3B+lul/bt26t9+/bODgO4JwzqAQAAAABOQkIGAAAAAE5CQgYAAAAATkJCBgAAAABOQkIGAAAAAE5CQgYAAAAATkJCBgAAADjg4sWLGjZsmKKjo50ditOsWbNGn332mbPDyBJIyAAAABxw5MgRWSwW7d69W9KtL6YWi0UXL150alyQatWqpV69emX6etq3b6/r168rJCQk09d1J8nb4/1w+PBhvfLKK3riiSfuWDej4rtf760z8GBoAABw/w31u4/rupSpi69ataqio6Pl55dx23TkyBFFRERo165dKlu2bIYt11nCw8PVq1evh+IL9dChQ7Vw4cI0E4ixY8fK19dXI0eOvL+BPSDi4uL00ksv6YsvvlCFChXuWD80NFTR0dHKmTPnfYju4URCBgAAcA/c3d2VJ08eZ4eB+6Rv375OWa8xRgkJCXJ1de7Xd3d3d23ZssWuunFxcRwfduCSRQAAgGQSExM1evRoFS5cWB4eHipQoIDef//9VOumdsnipk2bVKNGDXl5eSk0NFQ9evRQTEyMdXp4eLg++OADdezYUdmzZ1eBAgU0ZcoU6/SIiAhJUmRkpCwWi2rVqmVdV8WKFeXj4yN/f39Vq1ZNR48eTXM7+vfvr6JFi8rb21sFCxbUoEGDdPPmTUm3euFcXFy0fft2m3kmTpyosLAwawLQqVMnRUREyMvLS8WKFdOECRNs6rdv314tWrTQRx99pJCQEAUFBemNN96wrqdWrVo6evSoevfuLYvFIovFkma848aNU6lSpeTj46PQ0FB169ZNV69etamzceNG1axZU97e3goICFDDhg3177//WqcnJiaqX79+CgwMVJ48eTR06FCb+S9duqTXXntNuXPnVo4cOVSnTh39+uuvkqTp06dr2LBh+vXXX62xTp8+/Y7zpSYuLk7du3dXSEiIPD09FR4ebu1VS+0yvosXL8pisWjNmjWS/q9dLVu2TBUqVJCHh4fWr1+f5vqS2POeJZe0rsWLF6tMmTLy9PRUpUqV9Ntvv9nUs6ddjxgxQu3bt5efn59effXVVLd17dq1qlixojw8PBQSEqIBAwYoPj7eOj0mJkZt27aVr6+vQkJCNHbs2FT3b79+/ZQvXz75+PioUqVK1n33sCEhAwAASGbgwIEaPXq0Bg0apH379mn27NkKDg62a97ffvtNDRs2VMuWLbVnzx7NnTtXGzZsUPfu3W3qjR07VhUqVNCuXbvUrVs3vf766zpw4IAk6ZdffpEkrVixQtHR0Zo/f77i4+PVokUL1axZU3v27NHmzZv12muvpZvgZM+eXdOnT9e+ffs0YcIEffHFF/r4448l3fryXK9ePX311Vc283z11Vdq3769LBaLEhMTlT9/fs2bN0/79u3T4MGD9Z///Efz5s2zmWf16tU6dOiQVq9erRkzZmj69OnWRGb+/PnKnz+/hg8frujo6HQHwnBxcdEnn3yi33//XTNmzNCqVavUr18/6/Tdu3erbt26evzxx7V582Zt2LBBzZo1U0JCgrXOjBkz5OPjo61bt2rMmDEaPny4oqKiJN3qZWratKlOnTqlJUuWaMeOHSpXrpzq1q2rCxcuqFWrVurbt68ef/xxa6ytWrW643yp+eSTT/Tjjz9q3rx5+uOPP/S///1P4eHhaW57Wvr166eRI0dq//79Kl269B3r2/uepebtt9/WRx99pG3btil37tx6+umnrYm1ve36ww8/VMmSJbVjxw4NGjQoxTpOnDihJk2a6IknntCvv/6qzz77TFOnTtWIESNs4li9erUWLFig5cuXa82aNdqxY4fNcjp06KCNGzfqm2++0Z49e/T888+rUaNG+vPPP++4nQ8aizHGODuI++ny5cvy8/PTpUuXlCNHDmeHkzXdz/sC7pdMvv8AALKiGzdu6PDhw4qIiJCnp6ftxAf4HrIrV64oV65c+vTTT9W5c+cU05Pf37VmzRrVrl1b//77r/z9/dW2bVt5eXnp888/t86zYcMG1axZUzExMdbekurVq2vmzJmSbiUKefLk0bBhw9S1a9dU7yG7cOGCgoKCtGbNGtWsWfOudsWHH36ouXPnWnvF5s2bp65duyo6OloeHh769ddfFRkZqb///jvN5OGNN97Q6dOn9d1330m61UO2Zs0aHTp0SNmyZZMkvfDCC3JxcdE333wj6e7vIfv222/1+uuv69y5c5Kk1q1b69ixY9qwYUOq9WvVqqWEhASbnqSKFSuqTp06GjVqlFatWqVnnnlGZ86ckYeHh7VO4cKF1a9fP7322mup3kNmz3zJ9ejRQ3v37tWKFStSJM2pvb8XL15UQECAVq9erVq1alnb1cKFC9W8efM095E99xsmf8+SS1rXN998o1atWkm61d7y58+v6dOn64UXXrC7XUdGRmrBggVpxvfOO+/o+++/1/79+637ZdKkSerfv78uXbqka9euKSgoSF9//XWKWF577TWNHz9ehw4dUpEiRfTPP/8ob9681nXVq1dPFStW1AcffGCzfemdix6E3IB7yAAAAG6zf/9+xcbGqm7dunc1/44dO/TXX39p1qxZ1jJjjBITE3X48GGVKFFCkmx6OywWi/LkyaMzZ86kudzAwEC1b99eDRs2VP369VWvXj298MIL6Y70991332n8+PH666+/dPXqVcXHx9t86WzRooW6d++uBQsW6MUXX9S0adNUu3Ztm2Rs8uTJ+vLLL3X06FFdv35dcXFxKb74P/7449ZkTJJCQkJSXO5mj9WrV+uDDz7Qvn37dPnyZcXHx+vGjRuKiYmRj4+Pdu/ereeffz7dZSTvRQoJCbHu1x07dujq1asKCgqyqXP9+nUdOnQozWXezXzt27dX/fr1VaxYMTVq1EhPPfWUGjRokG7sqbFn4Izk7HnPUlOlShXr/4GBgSpWrJj2798vyf52fad49+/frypVqtgkqdWqVdPVq1f1zz//6N9//1VcXFyqsSTZuXOnjDEqWrSozbJjY2NTvEcPAxIyAACA23h5ed3T/ImJierSpYt69OiRYlqBAgWs/7u5udlMS7pEMD1fffWVevTooaVLl2ru3Ll69913FRUVpcqVK6eou2XLFr344osaNmyYGjZsKD8/P33zzTc29+O4u7urTZs2+uqrr9SyZUvNnj1b48ePt06fN2+eevfurbFjx6pKlSrKnj27PvzwQ23dutVmXXezLckdPXpUTZo0UdeuXfXee+8pMDBQGzZsUKdOnayXzdnz3qQXS2JiokJCQlK918jf3z/NZd7NfOXKldPhw4f1888/a8WKFXrhhRdUr149fffdd3JxuXXX0O0XqiVtY3I+Pj5pxpUae98zeyUlTva26zvFa4xJ0WOYtB8sFovsuXgvMTFR2bJl044dO2x+CJAkX1/fO87/oCEhAwAAuE2RIkXk5eWllStXpnrJ4p2UK1dOe/fuVeHChe86Bnd3d0myuTcqSWRkpCIjIzVw4EBVqVJFs2fPTjUh27hxo8LCwvTOO+9Yy1IbAKRz584qWbKkJk2apJs3b6ply5bWaevXr1fVqlXVrVs3a1l6PUnpbU9q23K77du3Kz4+XmPHjrUmLMnveypdurRWrlypYcOGORyDdOu9OXXqlFxdXdO8JDO1WO2ZLzU5cuRQq1at1KpVKz333HNq1KiRLly4oFy5ckmSoqOjFRkZKUkZ9hyxe3nPtmzZYk2u/v33Xx08eFDFixeXlDHtWpIee+wxff/99zaJ2aZNm5Q9e3bly5dPAQEBcnNzSzWWpEt1IyMjlZCQoDNnzqh69er3FM+DgEE9AAAAbuPp6an+/furX79++vrrr3Xo0CFt2bJFU6dOtWv+/v37a/PmzXrjjTe0e/du/fnnn/rxxx/15ptv2h1D7ty55eXlpaVLl+r06dO6dOmSDh8+rIEDB2rz5s06evSoli9froMHD1ovFUuucOHCOnbsmL755hsdOnRIn3zyic29PUlKlCihypUrq3///nrppZdseqEKFy6s7du3a9myZTp48KAGDRqkbdu22b0dScLDw7Vu3TqdOHHCej9YcoUKFVJ8fLwmTpyov//+WzNnztTkyZNt6gwcOFDbtm1Tt27dtGfPHh04cECfffZZmstMrl69eqpSpYpatGihZcuW6ciRI9q0aZPeffdd63114eHhOnz4sHbv3q1z584pNjbWrvmS+/jjj/XNN9/owIEDOnjwoL799lvlyZNH/v7+8vLyUuXKlTVq1Cjt27dP69at07vvvuvAHk3bvbxnw4cP18qVK/X777+rffv2ypkzp1q0aCEpY9q1JHXr1k3Hjx/Xm2++qQMHDuiHH37QkCFD1KdPH7m4uMjX11edOnXS22+/bRNLUpIuSUWLFtXLL7+stm3bav78+Tp8+LC2bdum0aNHa8mSJQ7F8yAgIQMAAEhm0KBB6tu3rwYPHqwSJUqoVatW6d7fdbvSpUtr7dq1+vPPP1W9enVFRkZq0KBB6d7rlZyrq6s++eQTff7558qbN6+aN28ub29vHThwQM8++6yKFi2q1157Td27d1eXLl1SXUbz5s3Vu3dvde/eXWXLltWmTZtSHfVOkjp16qS4uDh17NjRprxr165q2bKlWrVqpUqVKun8+fM2PS/2Gj58uI4cOaJChQpZe4eSK1u2rMaNG6fRo0erZMmSmjVrVoqHLxctWlTLly/Xr7/+qooVK6pKlSr64Ycf7H42l8Vi0ZIlS1SjRg117NhRRYsW1YsvvqgjR45YR9F89tln1ahRI9WuXVu5cuXSnDlz7JovOV9fX40ePVoVKlTQE088oSNHjmjJkiXWxGLatGm6efOmKlSooJ49e9qMMngv7uU9GzVqlHr27Kny5csrOjpaP/74o7W3NiPatSTly5dPS5Ys0S+//KIyZcqoa9eu6tSpk01C+uGHH6pGjRp6+umnVa9ePT355JMqX768zXK++uortW3bVn379lWxYsX09NNPa+vWrQoNDXUongcBoywi4zHKIgBAdxhlEQ+U999/X998881dDcSBh1/ykUKzmgd9lEV6yAAAAB5RV69e1bZt2zRx4sRUB2sAkPlIyAAAAB5R3bt315NPPqmaNWumuFwRwP3BKIsAAACPqOnTp2v69OnODgNOVqtWLbuGm0fmoIcMAAAAAJyEhAwAAGQqfnkH4EwP+jmIhAwAAGQKNzc3SdK1a9ecHAmAR1lcXJwkKVu2bE6OJHXcQwYAADJFtmzZ5O/vb31+l7e3tywWi5OjAvAoSUxM1NmzZ+Xt7W338+rutwczKgAAkCXkyZNHkux+qDIAZDQXFxcVKFDggf1BiIQMAABkGovFopCQEOXOnVs3b950djgAHkHu7u5ycXlw79QiIQMAAJkuW7ZsD+z9GwDgTA9uqggAAAAAWRwJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOIlTE7J169apWbNmyps3rywWixYuXJhu/fnz56t+/frKlSuXcuTIoSpVqmjZsmX3J1gAAAAAyGBOTchiYmJUpkwZffrpp3bVX7dunerXr68lS5Zox44dql27tpo1a6Zdu3ZlcqQAAAAAkPFcnbnyxo0bq3HjxnbXHz9+vM3rDz74QD/88IN++uknRUZGZnB0AAAAAJC5nJqQ3avExERduXJFgYGBadaJjY1VbGys9fXly5fvR2gAAAAAcEcP9aAeY8eOVUxMjF544YU064wcOVJ+fn7Wv9DQ0PsYIQAAAACk7aFNyObMmaOhQ4dq7ty5yp07d5r1Bg4cqEuXLln/jh8/fh+jBAAAAIC0PZSXLM6dO1edOnXSt99+q3r16qVb18PDQx4eHvcpMgAAAACw30PXQzZnzhy1b99es2fPVtOmTZ0dDgAAAADcNaf2kF29elV//fWX9fXhw4e1e/duBQYGqkCBAho4cKBOnDihr7/+WtKtZKxt27aaMGGCKleurFOnTkmSvLy85Ofn55RtAAAAAIC75dQesu3btysyMtI6ZH2fPn0UGRmpwYMHS5Kio6N17Ngxa/3PP/9c8fHxeuONNxQSEmL969mzp1PiBwAAAIB7YTHGGGcHcT9dvnxZfn5+unTpknLkyOHscLKmoVmwt3LoJWdHAAAAgAz2IOQGD909ZAAAAACQVZCQAQAAAICTkJABAAAAgJOQkAEAAACAk5CQAQAAAICTkJABAAAAgJOQkAEAAACAk5CQAQAAAICTuDo7AACwS1Z74DgPGwcAAKKHDAAAAACchoQMAAAAAJyEhAwAAAAAnISEDAAAAACchIQMAAAAAJyEhAwAAAAAnISEDAAAAACchIQMAAAAAJyEhAwAAAAAnISEDAAAAACchIQMAAAAAJzE1dkBQAofsNjZIWSoI57OjgAAAAB4ONBDBgAAAABOQkIGAAAAAE5CQgYAAAAATkJCBgAAAABOQkIGAAAAAE5CQgYAAAAATkJCBgAAAABOQkIGAAAAAE5CQgYAAAAATkJCBgAAAABO4ursAAAAALKUoX7OjiBjDb3k7AiALI0eMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHAShxOyOnXq6OLFiynKL1++rDp16mRETAAAAADwSHA4IVuzZo3i4uJSlN+4cUPr16/PkKAAAAAA4FFg93PI9uzZY/1/3759OnXqlPV1QkKCli5dqnz58mVsdAAAAACQhdmdkJUtW1YWi0UWiyXVSxO9vLw0ceLEDA0OAAAAALIyuxOyw4cPyxijggUL6pdfflGuXLms09zd3ZU7d25ly5YtU4IEAAAAgKzI7oQsLCxMkpSYmJhpwQAAAADAo8TuhCy5ffv26dixYykG+Hj66afvOSgAAAAAeBQ4nJD9/fffeuaZZ/Tbb7/JYrHIGCNJslgskm4N8AEAAAAAuDOHh73v2bOnIiIidPr0aXl7e2vv3r1at26dKlSooDVr1mRCiAAAAACQNTncQ7Z582atWrVKuXLlkouLi1xcXPTkk09q5MiR6tGjh3bt2pUZcQIAAABAluNwD1lCQoJ8fX0lSTlz5tTJkycl3Rr0448//sjY6AAAAAAgC3O4h6xkyZLas2ePChYsqEqVKmnMmDFyd3fXlClTVLBgwcyIEcBdCB+w2NkhZKgjns6OAAAAIOM5nJC9++67iomJkSSNGDFCTz31lKpXr66goCDNnTs3wwMEAAAAgKzK4YSsYcOG1v8LFiyoffv26cKFCwoICLCOtAgAAAAAuLO7fg7Z7QIDAzNiMQAAAADwSHE4IYuJidGoUaO0cuVKnTlzRomJiTbT//777wwLDgAAAACyMocTss6dO2vt2rVq06aNQkJCuEwRAAAAAO6SwwnZzz//rMWLF6tatWqZEQ8AAAAAPDIcfg5ZQEBAht0ztm7dOjVr1kx58+aVxWLRwoUL7zjP2rVrVb58eXl6eqpgwYKaPHlyhsQCAAAAAPebwz1k7733ngYPHqwZM2bI29v7nlYeExOjMmXKqEOHDnr22WfvWP/w4cNq0qSJXn31Vf3vf//Txo0b1a1bN+XKlcuu+QEAwIMlqz0zUeK5iQAcY1dCFhkZaXOv2F9//aXg4GCFh4fLzc3Npu7OnTvtXnnjxo3VuHFju+tPnjxZBQoU0Pjx4yVJJUqU0Pbt2/XRRx+RkAEAAAB46NiVkLVo0SKTw7DP5s2b1aBBA5uyhg0baurUqbp582aK5FCSYmNjFRsba319+fLlTI8TAAAAAOxhV0I2ZMiQzI7DLqdOnVJwcLBNWXBwsOLj43Xu3DmFhISkmGfkyJEaNmzY/QoRAAAATpY1L4Vt7ewQMtbQS86O4IHh8KAe27Zt09atW1OUb926Vdu3b8+QoNKTfJh9Y0yq5UkGDhyoS5cuWf+OHz+e6TECAAAAgD0cTsjeeOONVJOaEydO6I033siQoNKSJ08enTp1yqbszJkzcnV1VVBQUKrzeHh4KEeOHDZ/AAAAAPAgcDgh27dvn8qVK5eiPDIyUvv27cuQoNJSpUoVRUVF2ZQtX75cFSpUSPX+MQAAAAB4kDmckHl4eOj06dMpyqOjo+Xq6tgo+levXtXu3bu1e/duSbeGtd+9e7eOHTsm6dblhm3btrXW79q1q44ePao+ffpo//79mjZtmqZOnaq33nrL0c0AAAAAAKdzOCGrX7++9b6sJBcvXtR//vMf1a9f36Flbd++XZGRkYqMjJQk9enTR5GRkRo8eLCkW0leUnImSREREVqyZInWrFmjsmXL6r333tMnn3zCkPcAAAAAHkoOPxh67NixqlGjhsLCwqyJ1O7duxUcHKyZM2c6tKxatWpZB+VIzfTp01OU1axZ06FnnQEAAADAg8rhhCxfvnzas2ePZs2apV9//VVeXl7q0KGDXnrpJe7jAgAAAAAHOJyQSZKPj49ee+21jI4FAAAAAB4pd5WQSbdGWzx27Jji4uJsyp9++ul7DgoAAAAAHgUOJ2R///23nnnmGf3222+yWCwpHsyckJCQsRECAAAAQBbl8CiLPXv2VEREhE6fPi1vb2/t3btX69atU4UKFbRmzZpMCBEAAAAAsiaHe8g2b96sVatWKVeuXHJxcZGLi4uefPJJjRw5Uj169NCuXbsyI04AAAAAyHIc7iFLSEiQr6+vJClnzpw6efKkJCksLEx//PFHxkYHAAAAAFmYwz1kJUuW1J49e1SwYEFVqlRJY8aMkbu7u6ZMmaKCBQtmRowAAAAAkCU5nJC9++67iomJkSSNGDFCTz31lKpXr66goCDNnTs3wwMEAAAAgKzK4YSsYcOG1v8LFiyoffv26cKFCwoICLCOtAgAAAAAuLO7fg7Z7QIDAzNiMQAAAADwSLE7IevYsaPN62nTpmV4MAAAAADwKLE7IQsLC8vMOAAAAADgkWN3QjZkyJDMjAMAAAAAHjkOP4cMAAAAAJAx7Oohi4yMtHsExZ07d95TQAAAAADwqLArIWvRooX1/xs3bmjSpEl67LHHVKVKFUnSli1btHfvXnXr1i1TggQAAACArMiuhOz2+8c6d+6sHj166L333ktR5/jx4xkbHQAAAABkYQ7fQ/btt9+qbdu2KcpfeeUVff/99xkSFAAAAAA8ChxOyLy8vLRhw4YU5Rs2bJCnp2eGBAUAAAAAjwK7h71P0qtXL73++uvasWOHKleuLOnWPWTTpk3T4MGDMzxAAAAAAMiqHE7IBgwYoIIFC2rChAmaPXu2JKlEiRKaPn26XnjhhQwPEAAAAACyKocTMkl64YUXSL4AAAAA4B7xYGgAAAAAcBISMgAAAABwEhIyAAAAAHASEjIAAAAAcBKHE7Lr16+nOS06OvqeggEAAACAR4nDCVlkZKR27tyZovy7775T6dKlMyQoAAAAAHgUOJyQ1a9fX1WrVtWoUaNkjNHVq1fVvn17tWvXjgdDAwAAAIADHH4O2cSJE9W0aVN16NBBixcv1smTJ5UjRw5t27ZNjz32WGbECAAAAABZ0l09GLpBgwZq2bKlPvvsM7m6uuqnn34iGQMAAAAABzl8yeKhQ4dUpUoVLVq0SMuWLVO/fv3UvHlz9evXTzdv3syMGAEAAAAgS3I4IStbtqwiIiL066+/qn79+hoxYoRWrVql+fPnq2LFipkRIwAAAABkSQ4nZJMmTdI333wjf39/a1nVqlW1a9culStXLiNjAwAAAIAszeGErE2bNqmWZ8+eXVOnTr3ngAAAAADgUeHwoB5ff/11mtMsFkuaCRsAAAAAwJbDCVnPnj1tXt+8eVPXrl2Tu7u7vL29ScgAAAAAwE4OX7L477//2vxdvXpVf/zxh5588knNmTMnM2IEAAAAgCzJ4YQsNUWKFNGoUaNS9J4BAAAAANKWIQmZJGXLlk0nT57MqMUBAAAAQJbn8D1kP/74o81rY4yio6P16aefqlq1ahkWGAAAAABkdQ4nZC1atLB5bbFYlCtXLtWpU0djx47NqLgAAAAAIMtzOCFLTEzMjDgAAAAA4JGTYfeQAQAAAAAc43APmST9888/+vHHH3Xs2DHFxcXZTBs3blyGBAYAAAAAWZ3DCdnKlSv19NNPKyIiQn/88YdKliypI0eOyBijcuXKZUaMAAAAAJAlOXzJ4sCBA9W3b1/9/vvv8vT01Pfff6/jx4+rZs2aev755zMjRgAAAADIkhxOyPbv36927dpJklxdXXX9+nX5+vpq+PDhGj16dIYHCAAAAABZlcMJmY+Pj2JjYyVJefPm1aFDh6zTzp07l3GRAQAAAEAW5/A9ZJUrV9bGjRv12GOPqWnTpurbt69+++03zZ8/X5UrV86MGAEAAAAgS3I4IRs3bpyuXr0qSRo6dKiuXr2quXPnqnDhwvr4448zPEAAAAAAyKocTsgKFixo/d/b21uTJk3K0IAAAAAA4FFxV88hk6S4uDidOXNGiYmJNuUFChS456AAAAAA4FHg8KAeBw8eVPXq1eXl5aWwsDBFREQoIiJC4eHhioiIcDiASZMmKSIiQp6enipfvrzWr1+fbv1Zs2apTJky8vb2VkhIiDp06KDz5887vF4AAAAAcDaHe8g6dOggV1dXLVq0SCEhIbJYLHe98rlz56pXr16aNGmSqlWrps8//1yNGzfWvn37Uu1p27Bhg9q2bauPP/5YzZo104kTJ9S1a1d17txZCxYsuOs4AAAAAMAZHE7Idu/erR07dqh48eL3vPJx48apU6dO6ty5syRp/PjxWrZsmT777DONHDkyRf0tW7YoPDxcPXr0kCRFRESoS5cuGjNmzD3HAgAAAAD3m8OXLD722GMZ8ryxuLg47dixQw0aNLApb9CggTZt2pTqPFWrVtU///yjJUuWyBij06dP67vvvlPTpk3vOR4AAAAAuN8cTshGjx6tfv36ac2aNTp//rwuX75s82evc+fOKSEhQcHBwTblwcHBOnXqVKrzVK1aVbNmzVKrVq3k7u6uPHnyyN/fXxMnTkxzPbGxsXcdIwAAAABkJocTsnr16mnLli2qW7eucufOrYCAAAUEBMjf318BAQEOB5D8HjRjTJr3pe3bt089evTQ4MGDtWPHDi1dulSHDx9W165d01z+yJEj5efnZ/0LDQ11OEYAAAAAyAwO30O2evXqDFlxzpw5lS1bthS9YWfOnEnRa5Zk5MiRqlatmt5++21JUunSpeXj46Pq1atrxIgRCgkJSTHPwIED1adPH+vry5cvk5QBAAAAeCA4nJDVrFkzQ1bs7u6u8uXLKyoqSs8884y1PCoqSs2bN091nmvXrsnV1TbkbNmySbrVs5YaDw8PeXh4ZEjMAAAAAJCR7vrB0NeuXdOxY8cUFxdnU166dGm7l9GnTx+1adNGFSpUUJUqVTRlyhQdO3bMegniwIEDdeLECX399deSpGbNmunVV1/VZ599poYNGyo6Olq9evVSxYoVlTdv3rvdFAAAAABwCocTsrNnz6pDhw76+eefU52ekJBg97JatWql8+fPa/jw4YqOjlbJkiW1ZMkShYWFSZKio6N17Ngxa/327dvrypUr+vTTT9W3b1/5+/urTp06Gj16tKObAQAAAABO53BC1qtXL/3777/asmWLateurQULFuj06dMaMWKExo4d63AA3bp1U7du3VKdNn369BRlb775pt58802H1wMAAAAADxqHE7JVq1bphx9+0BNPPCEXFxeFhYWp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06ZNqc7z448/qkKFChozZozy5cunokWL6q233tL169fTXE9sbKwuX75s8wcAAAAADwKHE7LAwED16NFDO3fu1Pbt21WsWDG98cYbCgkJUY8ePfTrr7/atZxz584pISFBwcHBNuXBwcE6depUqvP8/fff2rBhg37//XctWLBA48eP13fffac33ngjzfWMHDlSfn5+1r/Q0FD7NxYAAAAAMpHDCdntypYtqwEDBuiNN95QTEyMpk2bpvLly6t69erau3evXcuwWCw2r40xKcqSJCYmymKxaNasWapYsaKaNGmicePGafr06Wn2kg0cOFCXLl2y/h0/ftyxjQQAAACATHJXCdnNmzf13XffqUmTJgoLC9OyZcv06aef6vTp0zp8+LBCQ0P1/PPPp7uMnDlzKlu2bCl6w86cOZOi1yxJSEiI8uXLJz8/P2tZiRIlZIzRP//8k+o8Hh4eypEjh80fAAAAADwIHE7I3nzzTYWEhKhr164qWrSodu3apc2bN6tz587y8fFRaGioRo0apQMHDqS7HHd3d5UvX15RUVE25VFRUapatWqq81SrVk0nT57U1atXrWUHDx6Ui4vLPQ0uAgAAAADO4HBCtm/fPk2cOFEnT57U+PHjVbJkyRR18ubNq9WrV99xWX369NGXX36padOmaf/+/erdu7eOHTumrl27Srp1uWHbtm2t9Vu3bq2goCB16NBB+/bt07p16/T222+rY8eO8vLycnRTAAAAAMCpHB72fuXKlXdeqKuratasecd6rVq10vnz5zV8+HBFR0erZMmSWrJkicLCwiRJ0dHROnbsmLW+r6+voqKi9Oabb6pChQoKCgrSCy+8oBEjRji6GQAAAADgdA4nZJJ06NAhjR8/Xvv375fFYlGJEiXUs2fPu3pQdLdu3dStW7dUp02fPj1FWfHixVNc5ggAAAAADyOHL1lctmyZHnvsMf3yyy8qXbq0SpYsqa1bt+rxxx8nUQIAAAAABzjcQzZgwAD17t1bo0aNSlHev39/1a9fP8OCAwAAAICszOEesv3796tTp04pyjt27Kh9+/ZlSFAAAAAA8ChwOCHLlSuXdu/enaJ89+7dyp07d0bEBAAAAACPBIcvWXz11Vf12muv6e+//1bVqlVlsVi0YcMGjR49Wn379s2MGAEAAAAgS3I4IRs0aJCyZ8+usWPHauDAgZJuPXds6NCh6tGjR4YHCAAAAABZlcMJmcViUe/evdW7d29duXJFkpQ9e/YMDwwAAAAAsrq7eg5ZEhIxAAAAALh7Didk58+f1+DBg7V69WqdOXNGiYmJNtMvXLiQYcEBAAAAQFbmcEL2yiuv6NChQ+rUqZOCg4NlsVgyIy4AAAAAyPIcTsg2bNigDRs2qEyZMpkRDwAAAAA8Mhx+Dlnx4sV1/fr1zIgFAAAAAB4pDidkkyZN0jvvvKO1a9fq/Pnzunz5ss0fAAAAAMA+Dl+y6O/vr0uXLqlOnTo25cYYWSwWJSQkZFhwAAAAAJCVOZyQvfzyy3J3d9fs2bMZ1AMAAAAA7oHDCdnvv/+uXbt2qVixYpkRDwAAAAA8Mhy+h6xChQo6fvx4ZsQCAAAAAI8Uh3vI3nzzTfXs2VNvv/22SpUqJTc3N5vppUuXzrDgAAAAACArczgha9WqlSSpY8eO1jKLxcKgHgAAAADgIIcTssOHD2dGHAAAAADwyHE4IQsLC8uMOAAAAADgkePwoB4AAAAAgIxBQgYAAAAATkJCBgAAAABOQkIGAAAAAE5yVwnZxYsX9eWXX2rgwIG6cOGCJGnnzp06ceJEhgYHAAAAAFmZw6Ms7tmzR/Xq1ZOfn5+OHDmiV199VYGBgVqwYIGOHj2qr7/+OjPiBAAAAIAsx+Eesj59+qh9+/b6888/5enpaS1v3Lix1q1bl6HBAQAAAEBW5nBCtm3bNnXp0iVFeb58+XTq1KkMCQoAAAAAHgUOJ2Senp66fPlyivI//vhDuXLlypCgAAAAAOBR4HBC1rx5cw0fPlw3b96UJFksFh07dkwDBgzQs88+m+EBAgAAAEBW5XBC9tFHH+ns2bPKnTu3rl+/rpo1a6pw4cLKnj273n///cyIEQAAAACyJIdHWcyRI4c2bNigVatWaefOnUpMTFS5cuVUr169zIgPAAAAALIshxKy+Ph4eXp6avfu3apTp47q1KmTWXEBAAAAQJbn0CWLrq6uCgsLU0JCQmbFAwAAAACPDIfvIXv33Xc1cOBAXbhwITPiAQAAAIBHhsP3kH3yySf666+/lDdvXoWFhcnHx8dm+s6dOzMsOAAAAADIyhxOyFq0aJEJYQAAAADAo8fhhGzIkCGZEQcAAAAAPHIcTsiSbN++Xfv375fFYlGJEiVUvnz5jIwLAAAAALI8hxOyf/75Ry+99JI2btwof39/SdLFixdVtWpVzZkzR6GhoRkdIwAAAABkSQ6PstixY0fdvHlT+/fv14ULF3ThwgXt379fxhh16tQpM2IEAAAAgCzJ4R6y9evXa9OmTSpWrJi1rFixYpo4caKqVauWocEBAAAAQFbmcA9ZgQIFdPPmzRTl8fHxypcvX4YEBQAAAACPAocTsjFjxujNN9/U9u3bZYyRdGuAj549e+qjjz7K8AABAAAAIKuy65LFgIAAWSwW6+uYmBhVqlRJrq63Zo+Pj5erq6s6duzIc8oAAAAAwE52JWTjx4/P5DAAAAAA4NFjV0LWrl27zI4DAAAAAB45d/1g6DNnzujMmTNKTEy0KS9duvQ9BwUAAAAAjwKHE7IdO3aoXbt21meP3c5isSghISHDggMAAACArMzhhKxDhw4qWrSopk6dquDgYJvBPgAAAAAA9nM4ITt8+LDmz5+vwoULZ0Y8AAAAAPDIcPg5ZHXr1tWvv/6aGbEAAAAAwCPF4R6yL7/8Uu3atdPvv/+ukiVLys3NzWb6008/nWHBAQAAAEBW5nBCtmnTJm3YsEE///xzimkM6gEAAAAA9nP4ksUePXqoTZs2io6OVmJios3f3SRjkyZNUkREhDw9PVW+fHmtX7/ervk2btwoV1dXlS1b1uF1AgAAAMCDwOGE7Pz58+rdu7eCg4PveeVz585Vr1699M4772jXrl2qXr26GjdurGPHjqU736VLl9S2bVvVrVv3nmMAAAAAAGdxOCFr2bKlVq9enSErHzdunDp16qTOnTurRIkSGj9+vEJDQ/XZZ5+lO1+XLl3UunVrValSJUPiAAAAAABncPgesqJFi2rgwIHasGGDSpUqlWJQjx49eti1nLi4OO3YsUMDBgywKW/QoIE2bdqU5nxfffWVDh06pP/9738aMWLEHdcTGxur2NhY6+vLly/bFR8AAAAAZLa7GmXR19dXa9eu1dq1a22mWSwWuxOyc+fOKSEhIcWlj8HBwTp16lSq8/z5558aMGCA1q9fL1dX+0IfOXKkhg0bZlddAAAAALif7urB0BnJYrHYvDbGpCiTpISEBLVu3VrDhg1T0aJF7V7+wIED1adPH+vry5cvKzQ09O4DBgAAAIAM4nBCdjtjjKSUSZU9cubMqWzZsqXoDTtz5kyqA4ZcuXJF27dv165du9S9e3dJUmJioowxcnV11fLly1WnTp0U83l4eMjDw8Ph+AAAAAAgszk8qIckff311ypVqpS8vLzk5eWl0qVLa+bMmQ4tw93dXeXLl1dUVJRNeVRUlKpWrZqifo4cOfTbb79p9+7d1r+uXbuqWLFi2r17typVqnQ3mwIAAAAATuNwD9m4ceM0aNAgde/eXdWqVZMxRhs3blTXrl117tw59e7d2+5l9enTR23atFGFChVUpUoVTZkyRceOHVPXrl0l3brc8MSJE/r666/l4uKikiVL2syfO3dueXp6pigHAAAAgIeBwwnZxIkT9dlnn6lt27bWsubNm+vxxx/X0KFDHUrIWrVqpfPnz2v48OGKjo5WyZIltWTJEoWFhUmSoqOj7/hMMgAAAAB4WDmckEVHR6d6SWHVqlUVHR3tcADdunVTt27dUp02ffr0dOcdOnSohg4d6vA6AQAAAOBB4PA9ZIULF9a8efNSlM+dO1dFihTJkKAAAAAA4FHgcA/ZsGHD1KpVK61bt07VqlWTxWLRhg0btHLlylQTNQAAAABA6hzuIXv22We1detW5cyZUwsXLtT8+fOVM2dO/fLLL3rmmWcyI0YAAAAAyJLu6jlk5cuX1//+97+MjgUAAAAAHil39RwyAAAAAMC9s7uHzMXFRRaLJd06FotF8fHx9xwUAAAAADwK7E7IFixYkOa0TZs2aeLEiTLGZEhQAAAAAPAosDsha968eYqyAwcOaODAgfrpp5/08ssv67333svQ4AAAAAAgK7ure8hOnjypV199VaVLl1Z8fLx2796tGTNmqECBAhkdHwAAAABkWQ4lZJcuXVL//v1VuHBh7d27VytXrtRPP/2kkiVLZlZ8AAAAAJBl2X3J4pgxYzR69GjlyZNHc+bMSfUSRgAAAACA/exOyAYMGCAvLy8VLlxYM2bM0IwZM1KtN3/+/AwLDgAAAACyMrsTsrZt295x2HsAAAAAgP3sTsimT5+eiWEAAAAAwKPnrkZZBAAAAADcOxIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMgAAAABwEhIyAAAAAHASV2cHAACA0wz1c3YEGWvoJWdHAABwED1kAAAAAOAkTk/IJk2apIiICHl6eqp8+fJav359mnXnz5+v+vXrK1euXMqRI4eqVKmiZcuW3cdoAQAAACDjODUhmzt3rnr16qV33nlHu3btUvXq1dW4cWMdO3Ys1frr1q1T/fr1tWTJEu3YsUO1a9dWs2bNtGvXrvscOQAAAADcO6cmZOPGjVOnTp3UuXNnlShRQuPHj1doaKg+++yzVOuPHz9e/fr10xNPPKEiRYrogw8+UJEiRfTTTz/d58gBAAAA4N45LSGLi4vTjh071KBBA5vyBg0aaNOmTXYtIzExUVeuXFFgYGBmhAgAAAAAmcppoyyeO3dOCQkJCg4OtikPDg7WqVOn7FrG2LFjFRMToxdeeCHNOrGxsYqNjbW+vnz58t0FDAAAAAAZzOmDelgsFpvXxpgUZamZM2eOhg4dqrlz5yp37txp1hs5cqT8/Pysf6GhofccMwAAAABkBKclZDlz5lS2bNlS9IadOXMmRa9ZcnPnzlWnTp00b9481atXL926AwcO1KVLl6x/x48fv+fYAQAAACAjOC0hc3d3V/ny5RUVFWVTHhUVpapVq6Y535w5c9S+fXvNnj1bTZs2veN6PDw8lCNHDps/AAAAAHgQOO0eMknq06eP2rRpowoVKqhKlSqaMmWKjh07pq5du0q61bt14sQJff3115JuJWNt27bVhAkTVLlyZWvvmpeXl/z8/Jy2HQAAAABwN5yakLVq1Urnz5/X8OHDFR0drZIlS2rJkiUKCwuTJEVHR9s8k+zzzz9XfHy83njjDb3xxhvW8nbt2mn69On3O3wAAAAAuCdOTcgkqVu3burWrVuq05InWWvWrMn8gAAAAADgPnH6KIsAAAAA8KgiIQMAAAAAJyEhAwAAAAAnISEDAAAAACchIQMAAAAAJyEhAwAAAAAnISEDAAAAACchIQMAAAAAJyEhAwAAAAAncXV2AACAh0P4gMXODiHDHfF0dgQAgEcdPWQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkJGQAAAAA4CQkZAAAAADgJCRkAAAAAOAkTk/IJk2apIiICHl6eqp8+fJav359uvXXrl2r8uXLy9PTUwULFtTkyZPvU6QAAAAAkLGcmpDNnTtXvXr10jvvvKNdu3apevXqaty4sY4dO5Zq/cOHD6tJkyaqXr26du3apf/85z/q0aOHvv/++/scOQAAAADcO6cmZOPGjVOnTp3UuXNnlShRQuPHj1doaKg+++yzVOtPnjxZBQoU0Pjx41WiRAl17txZHTt21EcffXSfIwcAAACAe+fqrBXHxcVpx44dGjBggE15gwYNtGnTplTn2bx5sxo0aGBT1rBhQ02dOlU3b96Um5tbinliY2MVGxtrfX3p0iVJ0uXLl+91EzJMYuw1Z4eQoS5bjLNDyHgPUHuxF+3qAUebeiDQrpyPdvUQoF09EGhXmSMpJzDGefvXaQnZuXPnlJCQoODgYJvy4OBgnTp1KtV5Tp06lWr9+Ph4nTt3TiEhISnmGTlypIYNG5aiPDQ09B6iR3r8nB1AZhiVJbfqoZLl3gHa1AMhy70LtKsHQpZ7F2hXD4Qs9y48YO3qypUr8vNzTkxOS8iSWCwWm9fGmBRld6qfWnmSgQMHqk+fPtbXiYmJunDhgoKCgtJdD+7O5cuXFRoaquPHjytHjhzODgdZBO0KmYF2hcxAu0JmoF1lHmOMrly5orx58zotBqclZDlz5lS2bNlS9IadOXMmRS9Ykjx58qRa39XVVUFBQanO4+HhIQ8PD5syf3//uw8cdsmRIwcnDGQ42hUyA+0KmYF2hcxAu8oczuoZS+K0QT3c3d1Vvnx5RUVF2ZRHRUWpatWqqc5TpUqVFPWXL1+uChUqpHr/GAAAAAA8yJw6ymKfPn305Zdfatq0adq/f7969+6tY8eOqWvXrpJuXW7Ytm1ba/2uXbvq6NGj6tOnj/bv369p06Zp6tSpeuutt5y1CQAAAABw15x6D1mrVq10/vx5DR8+XNHR0SpZsqSWLFmisLAwSVJ0dLTNM8kiIiK0ZMkS9e7dW//973+VN29effLJJ3r22WedtQlIxsPDQ0OGDElxmShwL2hXyAy0K2QG2hUyA+0qa7MYZ47xCAAAAACPMKdesggAAAAAjzISMgAAAABwEhIyAAAAAHASEjIAAAAAcBISMtyVdevWqVmzZsqbN68sFosWLlxoM90Yo6FDhypv3rzy8vJSrVq1tHfvXucEi4fGndrV/Pnz1bBhQ+XMmVMWi0W7d+92Spx4uKTXrm7evKn+/furVKlS8vHxUd68edW2bVudPHnSeQHjgXenc9XQoUNVvHhx+fj4KCAgQPXq1dPWrVudEyweGndqV7fr0qWLLBaLxo8ff9/iQ+YhIcNdiYmJUZkyZfTpp5+mOn3MmDEaN26cPv30U23btk158uRR/fr1deXKlfscKR4md2pXMTExqlatmkaNGnWfI8PDLL12de3aNe3cuVODBg3Szp07NX/+fB08eFBPP/20EyLFw+JO56qiRYvq008/1W+//aYNGzYoPDxcDRo00NmzZ+9zpHiY3KldJVm4cKG2bt2qvHnz3qfIkNkY9h73zGKxaMGCBWrRooWkW71jefPmVa9evdS/f39JUmxsrIKDgzV69Gh16dLFidHiYZG8Xd3uyJEjioiI0K5du1S2bNn7HhseXum1qyTbtm1TxYoVdfToURUoUOD+BYeHkj1t6vLly/Lz89OKFStUt27d+xccHlpptasTJ06oUqVKWrZsmZo2bapevXqpV69eTokRGYceMmS4w4cP69SpU2rQoIG1zMPDQzVr1tSmTZucGBkA3NmlS5dksVjk7+/v7FCQBcTFxWnKlCny8/NTmTJlnB0OHmKJiYlq06aN3n77bT3++OPODgcZyNXZASDrOXXqlCQpODjYpjw4OFhHjx51RkgAYJcbN25owIABat26tXLkyOHscPAQW7RokV588UVdu3ZNISEhioqKUs6cOZ0dFh5io0ePlqurq3r06OHsUJDB6CFDprFYLDavjTEpygDgQXHz5k29+OKLSkxM1KRJk5wdDh5ytWvX1u7du7Vp0yY1atRIL7zwgs6cOePssPCQ2rFjhyZMmKDp06fzXSoLIiFDhsuTJ4+k/+spS3LmzJkUvWYA8CC4efOmXnjhBR0+fFhRUVH0juGe+fj4qHDhwqpcubKmTp0qV1dXTZ061dlh4SG1fv16nTlzRgUKFJCrq6tcXV119OhR9e3bV+Hh4c4OD/eIhAwZLiIiQnny5FFUVJS1LC4uTmvXrlXVqlWdGBkApJSUjP35559asWKFgoKCnB0SsiBjjGJjY50dBh5Sbdq00Z49e7R7927rX968efX2229r2bJlzg4P94h7yHBXrl69qr/++sv6+vDhw9q9e7cCAwNVoEAB9erVSx988IGKFCmiIkWK6IMPPpC3t7dat27txKjxoLtTu7pw4YKOHTtmfUbUH3/8IelWr2xSzyyQXHrtKm/evHruuee0c+dOLVq0SAkJCdbe/cDAQLm7uzsrbDzA0mtTQUFBev/99/X0008rJCRE58+f16RJk/TPP//o+eefd2LUeNDd6TMw+Y9Fbm5uypMnj4oVK3a/Q0VGM8BdWL16tZGU4q9du3bGGGMSExPNkCFDTJ48eYyHh4epUaOG+e2335wbNB54d2pXX331VarThwwZ4tS48WBLr10dPnw41WmSzOrVq50dOh5Q6bWp69evm2eeecbkzZvXuLu7m5CQEPP000+bX375xdlh4wF3p8/A5MLCwszHH398X2NE5uA5ZAAAAADgJNxDBgAAAABOQkIGAAAAAE5CQgYAAAAATkJCBgAAAABOQkIGAAAAAE5CQgYAAAAATkJCBgAAAABOQkIGAMhwR44c0YgRI3T16lVnhwIAwAONhAwAkKHi4uL0wgsvKCgoSL6+vvdlnWvWrJHFYtHFixfvy/qyqlq1aqlXr17ODgMAHikkZACQBbRv314Wi0WjRo2yKV+4cKEsFst9jaVv376qX7++Xn/99fu6Xty7+fPn67333nN2GADwSHF1dgAAgIzh6emp0aNHq0uXLgoICHBaHBMnTrSrXlxcnNzd3TM5GjgiMDDQ2SEAwCOHHjIAyCLq1aunPHnyaOTIkWnWGTp0qMqWLWtTNn78eIWHh1tft2/fXi1atNAHH3yg4OBg+fv7a9iwYYqPj9fbb7+twMBA5c+fX9OmTbNZzokTJ9SqVSsFBAQoKChIzZs315EjR1Isd+TIkcqbN6+KFi0qSfrtt99Up04deXl5KSgoSK+99tod7z1bsmSJihYtKi8vL9WuXdtmPUk2bdqkGjVqyMvLS6GhoerRo4diYmLSXe6PP/6oChUqyNPTUzlz5lTLli2t0/7991+1bdtWAQEB8vb2VuPGjfXnn39ap0+fPl3+/v5atGiRihUrJm9vbz333HOKiYnRjBkzFB4eroCAAL355ptKSEiwzhceHq733ntPrVu3lq+vr/LmzZsiqR03bpxKlSolHx8fhYaGqlu3bin20RdffKHQ0FB5e3vrmWee0bhx4+Tv72+dnvTez5w5U+Hh4fLz89OLL76oK1euWOskv2QxLi5O/fr1U758+eTj46NKlSppzZo16e5DAIBjSMgAIIvIli2bPvjgA02cOFH//PPPPS1r1apVOnnypNatW6dx48Zp6NCheuqppxQQEKCtW7eqa9eu6tq1q44fPy5JunbtmmrXri1fX1+tW7dOGzZskK+vrxo1aqS4uDjrcleuXKn9+/crKipKixYt0rVr19SoUSMFBARo27Zt+vbbb7VixQp17949zdiOHz+uli1bqkmTJtq9e7c6d+6sAQMG2NT57bff1LBhQ7Vs2VJ79uzR3LlztWHDhnSXu3jxYrVs2VJNmzbVrl27tHLlSlWoUME6vX379tq+fbt+/PFHbd68WcYYNWnSRDdv3rTWuXbtmj755BN98803Wrp0qdasWaOWLVtqyZIlWrJkiWbOnKkpU6bou+++s1n3hx9+qNKlS2vnzp0aOHCgevfuraioKOt0FxcXffLJJ/r99981Y8YMrVq1Sv369bNO37hxo7p27aqePXtq9+7dql+/vt5///0U23jo0CEtXLhQixYt0qJFi7R27doUl7nerkOHDtq4caO++eYb7dmzR88//7waNWpkk4gCAO6RAQA89Nq1a2eaN29ujDGmcuXKpmPHjsYYYxYsWGBuP9UPGTLElClTxmbejz/+2ISFhdksKywszCQkJFjLihUrZqpXr259HR8fb3x8fMycOXOMMcZMnTrVFCtWzCQmJlrrxMbGGi8vL7Ns2TLrcoODg01sbKy1zpQpU0xAQIC5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",
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"multiple_barplot(purchase_train_canaux_filtered, x=\"number_company\", y=\"nb_suppliers\", 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 = \"Nombre moyen de canaux d'achat\", \n",
" title = \"Nombre moyen de canaux d'acht selon y_has_purchased par compagnies de spectacle (train set)\")"
]
},
{
"cell_type": "markdown",
"id": "b9e84af4-a02b-4f83-81ae-b7a73475d060",
"metadata": {},
"source": [
"### 4. target_information"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "2867eceb-1f72-406c-adc2-adfedcaf60e6",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Nombre de lignes de la table : 6240166\n"
]
},
{
"data": {
"text/plain": [
"id 0\n",
"customer_id 0\n",
"target_name 0\n",
"target_type_is_import 0\n",
"target_type_name 0\n",
"number_compagny 0\n",
"dtype: int64"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# nombre de nan\n",
"print(\"Nombre de lignes de la table : \",target_information_spectacle.shape[0])\n",
"target_information_spectacle.isna().sum()"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "561f361d-7d39-430a-9e27-a32f6c2f7b50",
"metadata": {},
"outputs": [],
"source": [
"# pas exploitable"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "904cbf32-77b6-49dd-a96c-9e7e5a0175c3",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}