1603 lines
321 KiB
Plaintext
1603 lines
321 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 50,
|
||
"id": "dd143b00-1989-44cf-8558-a30087d17f70",
|
||
"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 matplotlib.dates as mdates\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "08c63120-1b56-4145-9014-18a637b22876",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"exec(open('../../0_KPI_functions.py').read())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "f8bd679d-fa76-49d4-9ec1-9f15516f16d3",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Ignore warning\n",
|
||
"warnings.filterwarnings('ignore')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "ec9e996d-3eae-4836-8cf5-268e5dc0d672",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Statistiques descriptives : compagnies sport"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "43f81515-fbd0-49c0-b3f8-0e0fb663e2c1",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Importations et chargement des données"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "945c59bb-05b4-4f21-82f0-0db40d7957b3",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"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})"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 43,
|
||
"id": "41a67995-0a08-45c0-bbad-6e6cee5474c8",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"File path : projet-bdc2324-team1/0_Input/Company_5/customerplus_cleaned.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_5/campaigns_information.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_5/products_purchased_reduced.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_5/target_information.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_6/customerplus_cleaned.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_6/campaigns_information.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_6/products_purchased_reduced.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_6/target_information.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_7/customerplus_cleaned.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_7/campaigns_information.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_7/products_purchased_reduced.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_7/target_information.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_8/customerplus_cleaned.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_8/campaigns_information.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_8/products_purchased_reduced.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_8/target_information.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_9/customerplus_cleaned.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_9/campaigns_information.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_9/products_purchased_reduced.csv\n",
|
||
"File path : projet-bdc2324-team1/0_Input/Company_9/target_information.csv\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=['5','6','7','8','9']\n",
|
||
"\n",
|
||
"customer_sport = pd.DataFrame()\n",
|
||
"campaigns_sport_brut = pd.DataFrame()\n",
|
||
"campaigns_sport_kpi = pd.DataFrame()\n",
|
||
"products_sport = pd.DataFrame()\n",
|
||
"tickets_sport = pd.DataFrame()\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_brut = 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_company\"]=int(directory_path)\n",
|
||
" df_campaigns_brut[\"number_company\"]=int(directory_path)\n",
|
||
" df_campaigns_kpi[\"number_company\"]=int(directory_path)\n",
|
||
" df_customerplus_clean[\"number_company\"]=int(directory_path)\n",
|
||
" df_target_information[\"number_company\"]=int(directory_path)\n",
|
||
"\n",
|
||
"# Traitement des index\n",
|
||
" df_tickets_kpi[\"customer_id\"]= directory_path + '_' + df_tickets_kpi['customer_id'].astype('str')\n",
|
||
" df_campaigns_brut[\"customer_id\"]= directory_path + '_' + df_campaigns_brut['customer_id'].astype('str')\n",
|
||
" df_campaigns_kpi[\"customer_id\"]= directory_path + '_' + df_campaigns_kpi['customer_id'].astype('str') \n",
|
||
" df_customerplus_clean[\"customer_id\"]= directory_path + '_' + df_customerplus_clean['customer_id'].astype('str') \n",
|
||
" df_products_purchased_reduced[\"customer_id\"]= directory_path + '_' + df_products_purchased_reduced['customer_id'].astype('str') \n",
|
||
"\n",
|
||
"# Concaténation\n",
|
||
" customer_sport = pd.concat([customer_sport, df_customerplus_clean], ignore_index=True)\n",
|
||
" campaigns_sport_kpi = pd.concat([campaigns_sport_kpi, df_campaigns_kpi], ignore_index=True)\n",
|
||
" campaigns_sport_brut = pd.concat([campaigns_sport_brut, df_campaigns_brut], ignore_index=True) \n",
|
||
" tickets_sport = pd.concat([tickets_sport, df_tickets_kpi], ignore_index=True)\n",
|
||
" products_sport = pd.concat([products_sport, df_products_purchased_reduced], ignore_index=True)\n",
|
||
" "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "866a137c-7385-4f12-9349-b0202c71dff3",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Construct dataset concerning only customer after start date\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "62922029-8071-402e-8115-c145a2874a2f",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Statistiques descriptives"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "d347bca9-3041-4414-b18e-19b626998a3e",
|
||
"metadata": {},
|
||
"source": [
|
||
"### 0. Détection du client anonyme (outlier) - utile pour la section 3"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "c4d4b2ad-8a3c-477b-bc52-dd4860527bfe",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"array([5, 6, 7, 8, 9])"
|
||
]
|
||
},
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sport_comp = tickets_sport['number_company'].unique()\n",
|
||
"sport_comp"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "97a9e235-1c04-46bf-9f3c-5496e141cc40",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def outlier_detection(company_list, show_diagram=False):\n",
|
||
"\n",
|
||
" outlier_list = list()\n",
|
||
" \n",
|
||
" for company in company_list:\n",
|
||
" total_amount_share = tickets_sport[tickets_sport['number_company']==company].groupby('customer_id')['total_amount'].sum().reset_index()\n",
|
||
" total_amount_share['CA'] = total_amount_share['total_amount'].sum()\n",
|
||
" total_amount_share['share_total_amount'] = total_amount_share['total_amount']/total_amount_share['CA']\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",
|
||
" top = df_circulaire[:1]\n",
|
||
" outlier_list.append(top.index[0])\n",
|
||
" rest = df_circulaire[1:]\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",
|
||
" if show_diagram:\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(f'Répartition des montants totaux pour la compagnie {company}')\n",
|
||
" plt.show()\n",
|
||
" return outlier_list\n",
|
||
" "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "770cd3fc-bfe2-4a69-89bc-0eb946311130",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"['5_191835', '6_591412', '7_49632', '8_1942', '9_19683']"
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"outlier_list = outlier_detection(sport_comp)\n",
|
||
"outlier_list"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "70b6e961-c303-465e-93f4-609721d38454",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Suppression Réussie\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# On filtre les outliers\n",
|
||
"\n",
|
||
"def remove_elements(lst, elements_to_remove):\n",
|
||
" return ''.join([x for x in lst if x not in elements_to_remove])\n",
|
||
" \n",
|
||
"databases = [customer_sport, campaigns_sport, tickets_sport, products_sport]\n",
|
||
"\n",
|
||
"for dataset in databases:\n",
|
||
" dataset['customer_id'] = dataset['customer_id'].apply(lambda x: remove_elements(x, outlier_list))\n",
|
||
"\n",
|
||
"# On test\n",
|
||
"\n",
|
||
"bool = '5_191835' in customer_sport['customer_id']\n",
|
||
"if not bool:\n",
|
||
" print(\"Suppression Réussie\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "b54b920a-7b46-490f-ba7e-d1859055a4e3",
|
||
"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_company</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>5_6009745</td>\n",
|
||
" <td>1372685</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1771</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>af</td>\n",
|
||
" <td>other</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>5_6011228</td>\n",
|
||
" <td>1372685</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1771</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>af</td>\n",
|
||
" <td>other</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>5_6058950</td>\n",
|
||
" <td>1372685</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1771</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>af</td>\n",
|
||
" <td>other</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>5_6062404</td>\n",
|
||
" <td>1372685</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1771</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>af</td>\n",
|
||
" <td>other</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>5_250217</td>\n",
|
||
" <td>78785</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>11035.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1771</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>0</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>5</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 28 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" customer_id street_id structure_id mcp_contact_id fidelity tenant_id \\\n",
|
||
"0 5_6009745 1372685 NaN NaN 0 1771 \n",
|
||
"1 5_6011228 1372685 NaN NaN 0 1771 \n",
|
||
"2 5_6058950 1372685 NaN NaN 0 1771 \n",
|
||
"3 5_6062404 1372685 NaN NaN 0 1771 \n",
|
||
"4 5_250217 78785 NaN 11035.0 0 1771 \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 True ... 0.0 \n",
|
||
"3 False NaN 2 True ... 0.0 \n",
|
||
"4 False NaN 0 True ... NaN \n",
|
||
"\n",
|
||
" purchase_count first_buying_date country gender_label gender_female \\\n",
|
||
"0 0 NaN af other 0 \n",
|
||
"1 0 NaN af other 0 \n",
|
||
"2 0 NaN af other 0 \n",
|
||
"3 0 NaN af other 0 \n",
|
||
"4 0 NaN fr female 1 \n",
|
||
"\n",
|
||
" gender_male gender_other country_fr number_company \n",
|
||
"0 0 1 0.0 5 \n",
|
||
"1 0 1 0.0 5 \n",
|
||
"2 0 1 0.0 5 \n",
|
||
"3 0 1 0.0 5 \n",
|
||
"4 0 0 1.0 5 \n",
|
||
"\n",
|
||
"[5 rows x 28 columns]"
|
||
]
|
||
},
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"customer_sport.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "d40fe668-e1d7-4544-9db8-02498afe65fe",
|
||
"metadata": {},
|
||
"source": [
|
||
"### 1. customerplus_clean"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "eec1ac0b-2502-452b-97e6-69ffb77156d6",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def compute_nb_clients(customer_sport):\n",
|
||
" company_nb_clients = customer_sport[customer_sport[\"purchase_count\"]>0].groupby(\"number_company\")[\"customer_id\"].count().reset_index()\n",
|
||
" plt.bar(company_nb_clients[\"number_company\"], company_nb_clients[\"customer_id\"]/1000)\n",
|
||
"\n",
|
||
" # Ajout de titres et d'étiquettes\n",
|
||
" plt.xlabel('Company')\n",
|
||
" plt.ylabel(\"Nombre de clients (milliers)\")\n",
|
||
" plt.title(\"Nombre de clients de chaque compagnie de sport\")\n",
|
||
" \n",
|
||
" # Affichage du barplot\n",
|
||
" plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "db4494e7-6f65-4f7e-bf8c-8ec321d0b02d",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABH/ElEQVR4nO3dd3hU1f7+/XuAdEKACAmBAAFCDUhTFNSANBEQpIuHDgcFRYpSfqgEpEgREQseVJpI0UM5gkgREYTQi0iRonSI9IQaSLKeP3gyX4YkmIEJk2zer+uaC/baa/b+zM7Mzp21y9iMMUYAAAAWlc3dBQAAAGQkwg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wk4WMm3aNNlsNnl7e+vIkSMp5tesWVMRERFuqEzq2LGjcubM6ZZ1/xObzaaoqKgHus6aNWuqZs2aD7yOJUuWPLDX6o7tWrRoUTVq1OiBrhOZ3+HDh2Wz2TRt2rQMX5c73vcP0oPchzxIhJ0sKD4+Xm+//ba7y4CT1q9fr65du2boOpYsWaKhQ4dm6DqAzKZAgQJav369GjZs6O5Ssjyr7kMIO1nQc889p1mzZum3335zdykuYYzRtWvX3F1GhnviiSdUqFAhd5cBWI6Xl5eeeOIJ5cuXz92lZFlXr151dwkZirCTBfXv31+BgYEaMGDAP/a9fv26Bg0apLCwMHl6eqpgwYLq2bOnLl686NAv+fDA4sWLValSJfn4+KhMmTJavHixpFuH0MqUKSM/Pz89/vjj2rJlS6rr2717t2rXri0/Pz/ly5dPr732WooPkc1m02uvvabPP/9cZcqUkZeXl6ZPny5JOnDggNq2bav8+fPLy8tLZcqU0aeffpqu7RIXF6du3bopMDBQOXPm1HPPPaf9+/en2vd+1pOUlKSPP/5YFStWlI+Pj3Lnzq0nnnhC33///V2fl9rwd0xMjLp3765ChQrJ09NTYWFhGjp0qBISEux9kofox40bp/HjxyssLEw5c+bUk08+qQ0bNtj7dezY0f4abDab/XH48GFJ0nfffadq1aopICBAvr6+KlasmDp37vyPrzczbtelS5eqcuXK8vHxUenSpTVlyhSH+WfOnFGPHj1UtmxZ5cyZU/nz59ezzz6rX3/9NcWyTp48qVatWsnf318BAQFq3bq1NmzYkOKwSGqHJqVb271o0aIObTdu3NDw4cNVunRpeXl5KV++fOrUqZPOnDmTrm2xceNGNW7cWIGBgfL29lbx4sXVu3dvhz5r165V7dq15e/vL19fX1WvXl0//PCDQ5/kQ98///yz/WeYK1cutW/fXleuXFFMTIxatWql3Llzq0CBAnrzzTd18+ZN+/OT33tjxozRiBEjVLhwYXl7e6tq1apauXKlw7oOHjyoTp06KTw8XL6+vipYsKAaN26s33//PcXr2717t+rVqydfX1/ly5dPPXv21A8//CCbzaZffvnFYZtHRERo8+bNevrpp+3v2/fff19JSUkp6rzzMFZW2J/80+fyl19+kc1m08yZM9W3b18FBwfLx8dHkZGR2r59e4rlff/993ryySfl6+srf39/1a1bV+vXr3foExUVJZvNpm3btqlFixbKkyePihcv/o/7kCzNIMuYOnWqkWQ2b95sPvroIyPJrFy50j4/MjLSlCtXzj6dlJRk6tevb3LkyGHeeecds3z5cjNu3Djj5+dnKlWqZK5fv27vW6RIEVOoUCETERFhZs+ebZYsWWKqVatmPDw8zLvvvmtq1Khh5s+fbxYsWGBKlixpgoKCzNWrV+3P79Chg/H09DSFCxc2I0aMMMuXLzdRUVEmR44cplGjRg6vQ5IpWLCgqVChgpk1a5b5+eefza5du8zu3btNQECAKV++vJkxY4ZZvny56devn8mWLZuJioq667ZJSkoytWrVMl5eXvb1DxkyxBQrVsxIMkOGDLH3vZ/1GGNMu3btjM1mM127djX/+9//zI8//mhGjBhhPvroI4efRWRkZIrXfXsdp06dMqGhoaZIkSLmP//5j/npp5/Me++9Z7y8vEzHjh3t/Q4dOmQkmaJFi5rnnnvOLFy40CxcuNCUL1/e5MmTx1y8eNEYY8zBgwdNixYtjCSzfv16++P69esmOjra2Gw206ZNG7NkyRLz888/m6lTp5p27dplqe2a/D4tW7asmTFjhlm2bJlp2bKlkWRWr15t7/fHH3+YV1991cyZM8f88ssvZvHixaZLly4mW7ZsZtWqVfZ+V69eNWXKlDEBAQHm448/NsuWLTO9evUyhQsXNpLM1KlT7/ozNebWe79IkSL26cTERPPcc88ZPz8/M3ToULNixQrz5ZdfmoIFC5qyZcs6fG5Ss3TpUuPh4WEqVKhgpk2bZn7++WczZcoU06ZNG3ufX375xXh4eJgqVaqYuXPnmoULF5p69eoZm81m5syZY++XvM8ICwsz/fr1M8uXLzejR4822bNnNy+99JKpXLmyGT58uFmxYoUZMGCAkWQ++OAD+/OT33uhoaHmqaeeMvPmzTPfffedeeyxx4yHh4eJjo629129erXp16+f+e9//2tWr15tFixYYJo2bWp8fHzMH3/8Ye938uRJExgYaAoXLmymTZtmlixZYtq1a2eKFi1qJDn8fCIjI01gYKAJDw83n3/+uVmxYoXp0aOHkWSmT5+eos7bf15ZYX+Sns/lqlWr7D+DJk2amEWLFpmZM2eaEiVKmFy5cpk///zT3vebb74xkky9evXMwoULzdy5c02VKlWMp6en+fXXX+39hgwZYiSZIkWKmAEDBpgVK1aYhQsX3nUfktURdrKQ28NOfHy8KVasmKlatapJSkoyxqQMO0uXLjWSzJgxYxyWM3fuXCPJTJ482d5WpEgR4+PjY44fP25v27Fjh5FkChQoYK5cuWJvX7hwoZFkvv/+e3tbhw4djCSHX0zGGDNixAgjyaxdu9beJskEBASY8+fPO/StX7++KVSokImNjXVof+2114y3t3eK/rf78ccf77r+23dO97OeNWvWGElm8ODBafYxJn1hp3v37iZnzpzmyJEjDv3GjRtnJJndu3cbY/5vR16+fHmTkJBg77dp0yYjycyePdve1rNnT5Pa3zDJy0wORumV2bZrkSJFjLe3t8M2u3btmsmbN6/p3r17ms9LSEgwN2/eNLVr1zYvvviivX3SpElGkvnf//7n0L9bt273HHZmz55tJJl58+Y59Nu8ebORZD777LO7vsbixYub4sWLm2vXrqXZ54knnjD58+c3ly5dcniNERERplChQvZ9QvI+4/XXX3d4ftOmTY0kM378eIf2ihUrmsqVK9unk997ISEhDvXExcWZvHnzmjp16qRZY0JCgrlx44YJDw83ffr0sbe/9dZbxmaz2d/fyerXr59q2JFkNm7c6NC3bNmypn79+inqvP3nlRX2J+n5XCaHncqVK9t/rsYYc/jwYePh4WG6du1qjLkVskNCQkz58uVNYmKivd+lS5dM/vz5TfXq1e1tyWHn3XffTbG+tPYhWR2HsbIoT09PDR8+XFu2bNG3336bap+ff/5Z0q1h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vfeehgwZosjISO3bt0/Dhg1TWFiYw2X97du314cffqj27dtrxIgRCg8P15IlS7Rs2bIUy2zXrp3+85//6F//+pe6deumc+fOacyYMcqVK5dDvzZt2uibb77R888/rzfeeEOPP/64PDw8dPz4ca1atUpNmjTRiy++mGbtn376qRo3bqwnnnhCffr0UeHChXX06FEtW7bM/st31KhRqlu3rmrVqqU333xTnp6e+uyzz7Rr1y7Nnj3b5X+xZ8+eXXXr1lXfvn2VlJSk0aNHKy4uzuHmc40aNdK0adNUunRpVahQQVu3btXYsWNTvId79+6tKVOmqEGDBho2bJiCgoI0a9Ys/fHHH5LkcL7J/cgK+5N333033Z/L06dP68UXX1S3bt0UGxurIUOGyNvbW4MGDZJ0a7uNGTNGL7/8sho1aqTu3bsrPj5eY8eO1cWLF/X++++na7ultQ9JPvSZZbn3/Gg44/arse7Utm1bI8nhaixjbl2pMmDAAFOkSBHj4eFhChQoYF599VVz4cIFh35FihQxDRs2TLFcSaZnz54ObclXPowdO9be1qFDB+Pn52d27txpatasaXx8fEzevHnNq6++ai5fvvyPy7x92Z07dzYFCxY0Hh4eJl++fKZ69epm+PDhd902xhhz8eJF07lzZ5M7d27j6+tr6tata/74448UV0/c73oSExPNhx9+aCIiIoynp6cJCAgwTz75pFm0aJG9T3quxjLGmDNnzphevXqZsLAw4+HhYfLmzWuqVKliBg8ebN9uqW3vtJYZHx9vunbtavLly2dsNpuRZA4dOmQWL15sGjRoYAoWLGg8PT1N/vz5zfPPP+9wOWpaMtN2Tet9euf2jo+PN2+++aYpWLCg8fb2NpUrVzYLFy5MceWUMcYcP37cNG/e3OTMmdP4+/ub5s2bm+jo6BRX9xhjzPTp002ZMmWMt7e3KVu2rJk7d26qy7x586YZN26cefTRR423t7fJmTOnKV26tOnevbs5cODAP26L9evXmwYNGpiAgADj5eVlihcv7nBFkzHG/Prrr+bZZ581fn5+xsfHxzzxxBMO28qYtPcZyVfjnDlzxqE9+XOcLPm9N3r0aDN06FBTqFAh4+npaSpVqmSWLVvm8NwLFy6YLl26mPz58xtfX1/z1FNPmV9//TXVz8KuXbtMnTp1jLe3t8mbN6/p0qWLmT59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zO6evhsLAAAgq0jXyE7fvn3TvcDx48ffczEAAACulq6ws3379nQtzGaz3VcxAAAArpausLNq1aqMrgMAACBDOH3OTmxsrM6fP5+i/fz586l+ZxYAAIA7OR122rRpozlz5qRo//bbb9WmTRuXFAUAAOAqToedjRs3qlatWinaa9asqY0bN7qkKAAAAFdxOuzEx8crISEhRfvNmzd17do1lxQFAADgKk6Hnccee0yTJ09O0f7555+rSpUqLikKAADAVZz+ItARI0aoTp06+u2331S7dm1J0sqVK7V582YtX77c5QUCAADcD6dHdmrUqKH169crNDRU3377rRYtWqQSJUpo586devrppzOiRgAAgHvm9MiOJFWsWFHffPONq2sBAABwOb4bCwAAWFqmDzsnTpzQv/71LwUGBsrX11cVK1bU1q1b7fONMYqKilJISIh8fHxUs2ZN7d69240VAwCAzCRTh50LFy6oRo0a8vDw0I8//qg9e/bogw8+UO7cue19xowZo/Hjx+uTTz7R5s2bFRwcrLp16+rSpUvuKxwAAGQa93TOzoMyevRohYaGaurUqfa2okWL2v9vjNGECRM0ePBgNWvWTJI0ffp0BQUFadasWerevfuDLhkAAGQy9zyyc/DgQS1btsx+I0FjjMuKSvb999+ratWqatmypfLnz69KlSrpiy++sM8/dOiQYmJiVK9ePXubl5eXIiMjFR0dneZy4+PjFRcX5/AAAADW5HTYOXfunOrUqaOSJUvq+eef16lTpyRJXbt2Vb9+/Vxa3F9//aVJkyYpPDxcy5Yt0yuvvKJevXppxowZkqSYmBhJUlBQkMPzgoKC7PNSM2rUKAUEBNgfoaGhLq0bAABkHk6HnT59+ihHjhw6evSofH197e2tW7fW0qVLXVpcUlKSKleurJEjR6pSpUrq3r27unXrpkmTJjn0s9lsDtPGmBRttxs0aJBiY2Ptj2PHjrm0bgAAkHk4fc7O8uXLtWzZMhUqVMihPTw8XEeOHHFZYZJUoEABlS1b1qGtTJkymjdvniQpODhY0q0RngIFCtj7nD59OsVoz+28vLzk5eXl0loBAEDm5PTIzpUrVxxGdJKdPXvW5QGiRo0a2rdvn0Pb/v37VaRIEUlSWFiYgoODtWLFCvv8GzduaPXq1apevbpLawEAAFmT02HnmWeesZ8zI906hJSUlKSxY8eqVq1aLi2uT58+2rBhg0aOHKmDBw9q1qxZmjx5snr27Glfd+/evTVy5EgtWLBAu3btUseOHeXr66u2bdu6tBYAAJA1OX0Ya+zYsapZs6a2bNmiGzduqH///tq9e7fOnz+vdevWubS4xx57TAsWLNCgQYM0bNgwhYWFacKECXr55Zftffr3769r166pR48eunDhgqpVq6bly5fL39/fpbUAAICsyemwU7ZsWe3cuVOTJk1S9uzZdeXKFTVr1kw9e/Z0OG/GVRo1aqRGjRqlOd9msykqKkpRUVEuXzcAAMj67ummgsHBwRo6dKirawEAAHC5dIWdnTt3pnuBFSpUuOdiAAAAXC1dYadixYqy2Wwp7l+TfNfk29sSExNdXCIAAMC9S9fVWIcOHdJff/2lQ4cOad68eQoLC9Nnn32mHTt2aMeOHfrss89UvHhx+/1vAAAAMot0jewk39dGklq2bKmJEyfq+eeft7dVqFBBoaGheuedd9S0aVOXFwkAAHCvnL7Pzu+//66wsLAU7WFhYdqzZ49LigIAAHAVp8NOmTJlNHz4cF2/ft3eFh8fr+HDh6tMmTIuLQ4AAOB+OX3p+eeff67GjRsrNDRUjz76qCTpt99+k81m0+LFi11eIAAAwP1wOuw8/vjjOnTokGbOnKk//vhDxhi1bt1abdu2lZ+fX0bUCAAAcM/u6aaCvr6++ve//+3qWgAAAFzO6XN2AAAAshLCDgAAsDTCDgAAsDTCDgAAsLR7CjsXL17Ul19+qUGDBun8+fOSpG3btunEiRMuLQ4AAOB+OX011s6dO1WnTh0FBATo8OHD6tatm/LmzasFCxboyJEjmjFjRkbUCQAAcE+cHtnp27evOnbsqAMHDsjb29ve3qBBA61Zs8alxQEAANwvp8PO5s2b1b179xTtBQsWVExMjEuKAgAAcBWnw463t7fi4uJStO/bt0/58uVzSVEAAACu4nTYadKkiYYNG6abN29Kkmw2m44ePaqBAweqefPmLi8QAADgfjgddsaNG6czZ84of/78unbtmiIjI1WiRAn5+/trxIgRGVEjAADAPXP6aqxcuXJp7dq1+vnnn7Vt2zYlJSWpcuXKqlOnTkbUBwAAcF+cCjsJCQny9vbWjh079Oyzz+rZZ5/NqLoAAABcwqnDWDly5FCRIkWUmJiYUfUAAAC4lNPn7Lz99tsOd04GAADIzJw+Z2fixIk6ePCgQkJCVKRIEfn5+TnM37Ztm8uKAwAAuF9Oh52mTZtmQBkAAAAZw+mwM2TIkIyoAwAAIEM4HXaSbdmyRXv37pXNZlOZMmVUpUoVV9YFAADgEk6HnePHj+ull17SunXrlDt3bknSxYsXVb16dc2ePVuhoaGurhEAAOCeOX01VufOnXXz5k3t3btX58+f1/nz57V3714ZY9SlS5eMqBEAAOCeOT2y8+uvvyo6OlqlSpWyt5UqVUoff/yxatSo4dLiAAAA7pfTIzuFCxe2fwno7RISElSwYEGXFAUAAOAqToedMWPG6PXXX9eWLVtkjJF062TlN954Q+PGjXN5gQAAAPcjXYex8uTJI5vNZp++cuWKqlWrphw5bj09ISFBOXLkUOfOnbkPDwAAyFTSFXYmTJiQwWUAAABkjHSFnQ4dOmR0HQAAABninm8qePr0aZ0+fVpJSUkO7RUqVLjvogAAAFzF6bCzdetWdejQwX5vndvZbDYlJia6rDgAAID75XTY6dSpk0qWLKmvvvpKQUFBDicuAwAAZDZOh51Dhw5p/vz5KlGiREbUAwAA4FJO32endu3a+u233zKiFgAAAJdzemTnyy+/VIcOHbRr1y5FRETIw8PDYf4LL7zgsuIAAADul9NhJzo6WmvXrtWPP/6YYl5Gn6A8atQo/b//9//0xhtv2O/9Y4zR0KFDNXnyZF24cEHVqlXTp59+qnLlymVYHQAAIOtw+jBWr1691K5dO506dUpJSUkOj4wMOps3b9bkyZNTXNo+ZswYjR8/Xp988ok2b96s4OBg1a1bV5cuXcqwWgAAQNbhdNg5d+6c+vTpo6CgoIyoJ1WXL1/Wyy+/rC+++EJ58uSxtxtjNGHCBA0ePFjNmjVTRESEpk+frqtXr2rWrFkPrD4AAJB5OR12mjVrplWrVmVELWnq2bOnGjZsqDp16ji0Hzp0SDExMapXr569zcvLS5GRkYqOjn6gNQIAgMzJ6XN2SpYsqUGDBmnt2rUqX758ihOUe/Xq5bLiJGnOnDnatm2bNm/enGJeTEyMJKUYZQoKCtKRI0fSXGZ8fLzi4+Pt03FxcS6qFgAAZDb3dDVWzpw5tXr1aq1evdphns1mc2nYOXbsmN544w0tX75c3t7eafa788aGxpi73uxw1KhRGjp0qMvqBAAAmdc93VTwQdm6datOnz6tKlWq2NsSExO1Zs0affLJJ9q3b5+kWyM8BQoUsPc5ffr0Xc8pGjRokPr27WufjouLU2hoaAa8AuDhUnTgD+4uIcs4/H5Dd5cAPDTu+YtAJdm/GyujvjKidu3a+v333x3aOnXqpNKlS2vAgAEqVqyYgoODtWLFClWqVEmSdOPGDa1evVqjR49Oc7leXl7y8vLKkJoBAEDm4vQJypI0Y8YMlS9fXj4+PvLx8VGFChX09ddfu7o2+fv7KyIiwuHh5+enwMBARUREyGazqXfv3ho5cqQWLFigXbt2qWPHjvL19VXbtm1dXg8AAMh6nB7ZGT9+vN555x299tprqlGjhowxWrdunV555RWdPXtWffr0yYg609S/f39du3ZNPXr0sN9UcPny5fL393+gdQAAgMzJ6bDz8ccfa9KkSWrfvr29rUmTJipXrpyioqIyPOz88ssvDtM2m01RUVGKiorK0PUCAICsyenDWKdOnVL16tVTtFevXl2nTp1ySVEAAACu4nTYKVGihL799tsU7XPnzlV4eLhLigIAAHAVpw9jDR06VK1bt9aaNWtUo0YN2Ww2rV27VitXrkw1BAEAALiT0yM7zZs318aNG/XII49o4cKFmj9/vh555BFt2rRJL774YkbUCAAAcM/u6T47VapU0cyZM11dCwAAgMvd0312AAAAsop0j+xky5btH++UbLPZlJCQcN9FAQAAuEq6w86CBQvSnBcdHa2PP/7Y/vURAAAAmUW6w06TJk1StP3xxx8aNGiQFi1apJdfflnvvfeeS4sDAAC4X/d0zs7JkyfVrVs3VahQQQkJCdqxY4emT5+uwoULu7o+AACA++JU2ImNjdWAAQNUokQJ7d69WytXrtSiRYsUERGRUfUBAADcl3QfxhozZoxGjx6t4OBgzZ49O9XDWkBmUXTgD+4uIUs5/H5Dd5cAABkm3WFn4MCB8vHxUYkSJTR9+nRNnz491X7z5893WXEAAAD3K91hp3379v946TkAAEBmk+6wM23atAwsAwAAIGNwB2UAAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBpmTrsjBo1So899pj8/f2VP39+NW3aVPv27XPoY4xRVFSUQkJC5OPjo5o1a2r37t1uqhgAAGQ2mTrsrF69Wj179tSGDRu0YsUKJSQkqF69erpy5Yq9z5gxYzR+/Hh98skn2rx5s4KDg1W3bl1dunTJjZUDAIDMIoe7C7ibpUuXOkxPnTpV+fPn19atW/XMM8/IGKMJEyZo8ODBatasmSRp+vTpCgoK0qxZs9S9e3d3lA0AADKRTD2yc6fY2FhJUt68eSVJhw4dUkxMjOrVq2fv4+XlpcjISEVHR6e5nPj4eMXFxTk8AACANWWZsGOMUd++ffXUU08pIiJCkhQTEyNJCgoKcugbFBRkn5eaUaNGKSAgwP4IDQ3NuMIBAIBbZZmw89prr2nnzp2aPXt2ink2m81h2hiTou12gwYNUmxsrP1x7Ngxl9cLAAAyh0x9zk6y119/Xd9//73WrFmjQoUK2duDg4Ml3RrhKVCggL399OnTKUZ7bufl5SUvL6+MKxgAAGQamXpkxxij1157TfPnz9fPP/+ssLAwh/lhYWEKDg7WihUr7G03btzQ6tWrVb169QddLgAAyIQy9chOz549NWvWLP3vf/+Tv7+//TycgIAA+fj4yGazqXfv3ho5cqTCw8MVHh6ukSNHytfXV23btnVz9QAAIDPI1GFn0qRJkqSaNWs6tE+dOlUdO3aUJPXv31/Xrl1Tjx49dOHCBVWrVk3Lly+Xv7//A64WAABkRpk67Bhj/rGPzWZTVFSUoqKiMr4gAACQ5WTqc3YAAADuF2EHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYmmXCzmeffaawsDB5e3urSpUq+vXXX91dEgAAyAQsEXbmzp2r3r17a/Dgwdq+fbuefvppNWjQQEePHnV3aQAAwM0sEXbGjx+vLl26qGvXripTpowmTJig0NBQTZo0yd2lAQAAN8vyYefGjRvaunWr6tWr59Ber149RUdHu6kqAACQWeRwdwH36+zZs0pMTFRQUJBDe1BQkGJiYlJ9Tnx8vOLj4+3TsbGxkqS4uDiX15cUf9Xly7QyV/0M2O7OYbs/eK7c37Dd04/t7h4Z8fv19uUaY+7aL8uHnWQ2m81h2hiToi3ZqFGjNHTo0BTtoaGhGVIb0i9ggrsreDix3R88trl7sN3dI6O3+6VLlxQQEJDm/Cwfdh555BFlz549xSjO6dOnU4z2JBs0aJD69u1rn05KStL58+cVGBiYZkCykri4OIWGhurYsWPKlSuXu8t5aLDd3YPt7h5sd/d42La7MUaXLl1SSEjIXftl+bDj6empKlWqaMWKFXrxxRft7StWrFCTJk1SfY6Xl5e8vLwc2nLnzp2RZWZKuXLleig+DJkN29092O7uwXZ3j4dpu99tRCdZlg87ktS3b1+1a9dOVatW1ZNPPqnJkyfr6NGjeuWVV9xdGgAAcDNLhJ3WrVvr3LlzGjZsmE6dOqWIiAgtWbJERYoUcXdpAADAzSwRdiSpR48e6tGjh7vLyBK8vLw0ZMiQFIfykLHY7u7BdncPtrt7sN1TZzP/dL0WAABAFpblbyoIAABwN4QdAABgaYQdAABgaYQdAABgaYSdh0hUVJRsNpvDIzg42N1lPRROnDihf/3rXwoMDJSvr68qVqyorVu3urssSytatGiK97vNZlPPnj3dXZplJSQk6O2331ZYWJh8fHxUrFgxDRs2TElJSe4uzfIuXbqk3r17q0iRIvLx8VH16tW1efNmd5eVaVjm0nOkT7ly5fTTTz/Zp7Nnz+7Gah4OFy5cUI0aNVSrVi39+OOPyp8/v/7888+H8q7dD9LmzZuVmJhon961a5fq1q2rli1burEqaxs9erQ+//xzTZ8+XeXKldOWLVvUqVMnBQQE6I033nB3eZbWtWtX7dq1S19//bVCQkI0c+ZM1alTR3v27FHBggXdXZ7bcen5QyQqKkoLFy7Ujh073F3KQ2XgwIFat26dfv31V3eX8lDr3bu3Fi9erAMHDjwU34HnDo0aNVJQUJC++uore1vz5s3l6+urr7/+2o2VWdu1a9fk7++v//3vf2rYsKG9vWLFimrUqJGGDx/uxuoyBw5jPWQOHDigkJAQhYWFqU2bNvrrr7/cXZLlff/996patapatmyp/Pnzq1KlSvriiy/cXdZD5caNG5o5c6Y6d+5M0MlATz31lFauXKn9+/dLkn777TetXbtWzz//vJsrs7aEhAQlJibK29vbod3Hx0dr1651U1WZC2HnIVKtWjXNmDFDy5Yt0xdffKGYmBhVr15d586dc3dplvbXX39p0qRJCg8P17Jly/TKK6+oV69emjFjhrtLe2gsXLhQFy9eVMeOHd1diqUNGDBAL730kkqXLi0PDw9VqlRJvXv31ksvveTu0izN399fTz75pN577z2dPHlSiYmJmjlzpjZu3KhTp065u7xMgcNYD7ErV66oePHi6t+/v/r27evucizL09NTVatWVXR0tL2tV69e2rx5s9avX+/Gyh4e9evXl6enpxYtWuTuUixtzpw5euuttzR27FiVK1dOO3bsUO/evTV+/Hh16NDB3eVZ2p9//qnOnTtrzZo1yp49uypXrqySJUtq27Zt2rNnj7vLcztOUH6I+fn5qXz58jpw4IC7S7G0AgUKqGzZsg5tZcqU0bx589xU0cPlyJEj+umnnzR//nx3l2J5b731lgYOHKg2bdpIksqXL68jR45o1KhRhJ0MVrx4ca1evVpXrlxRXFycChQooNatWyssLMzdpWUKHMZ6iMXHx2vv3r0qUKCAu0uxtBo1amjfvn0Obfv371eRIkXcVNHDZerUqcqfP7/DiZvIGFevXlW2bI6/VrJnz86l5w+Qn5+fChQooAsXLmjZsmVq0qSJu0vKFBjZeYi8+eabaty4sQoXLqzTp09r+PDhiouL4y+uDNanTx9Vr15dI0eOVKtWrbRp0yZNnjxZkydPdndplpeUlKSpU6eqQ4cOypGD3V1Ga9y4sUaMGKHChQurXLly2r59u8aPH6/OnTu7uzTLW7ZsmYwxKlWqlA4ePKi33npLpUqVUqdOndxdWuZg8NBo3bq1KVCggPHw8DAhISGmWbNmZvfu3e4u66GwaNEiExERYby8vEzp0qXN5MmT3V3SQ2HZsmVGktm3b5+7S3koxMXFmTfeeMMULlzYeHt7m2LFipnBgweb+Ph4d5dmeXPnzjXFihUznp6eJjg42PTs2dNcvHjR3WVlGpygDAAALI1zdgAAgKURdgAAgKURdgAAgKURdgAAgKURdgAAgKURdgAAgKURdgAAgKURdgAAgKURdgA8MDExMXr99ddVrFgxeXl5KTQ0VI0bN9bKlSvdXRoAC+PLYgA8EIcPH1aNGjWUO3dujRkzRhUqVNDNmze1bNky9ezZU3/88Ye7SwRgUYzsAHggevToIZvNpk2bNqlFixYqWbKkypUrp759+2rDhg2SpKNHj6pJkybKmTOncuXKpVatWunvv/+2LyMqKkoVK1bUlClTVLhwYeXMmVOvvvqqEhMTNWbMGAUHByt//vwaMWKEw7ptNpsmTZqkBg0ayMfHR2FhYfruu+8c+gwYMEAlS5aUr6+vihUrpnfeeUc3b95Mse6vv/5aRYsWVUBAgNq0aaNLly5JkmbMmKHAwEDFx8c7LLd58+Zq3769S7clAOcQdgBkuPPnz2vp0qXq2bOn/Pz8UszPnTu3jDFq2rSpzp8/r9WrV2vFihX6888/1bp1a4e+f/75p3788UctXbpUs2fP1pQpU9SwYUMdP35cq1ev1ujRo/X222/bA1Syd955R82bN9dvv/2mf/3rX3rppZe0d+9e+3x/f39NmzZNe/bs0UcffaQvvvhCH374YYp1L1y4UIsXL9bixYu1evVqvf/++5Kkli1bKjExUd9//729/9mzZ7V48WK+eRpwNzd/ESmAh8DGjRuNJDN//vw0+yxfvtxkz57dHD161N62e/duI8ls2rTJGGPMkCFDjK+vr4mLi7P3qV+/vilatKhJTEy0t5UqVcqMGjXKPi3JvPLKKw7rq1atmnn11VfTrGfMmDGmSpUq9unU1v3WW2+ZatWq2adfffVV06BBA/v0hAkTTLFixUxSUlKa6wGQ8ThnB0CGM8ZIunU4KS179+5VaGioQkND7W1ly5ZV7ty5tXfvXj322GOSpKJFi8rf39/eJygoSNmzZ1e2bNkc2k6fPu2w/CeffDLF9I4dO+zT//3vfzVhwgQdPHhQly9fVkJCgnLlyuXwnDvXXaBAAYf1dOvWTY899phOnDihggULaurUqerYseNdXzeAjMdhLAAZLjw8XDabzeGw0Z2MMamGgjvbPTw8HObbbLZU25KSkv6xruTlbtiwQW3atFGDBg20ePFibd++XYMHD9aNGzcc+v/TeipVqqRHH31UM2bM0LZt2/T777+rY8eO/1gHgIxF2AGQ4fLmzav69evr008/1ZUrV1LMv3jxosqWLaujR4/q2LFj9vY9e/YoNjZWZcqUue8a7jyHZ8OGDSpdurQkad26dSpSpIgGDx6sqlWrKjw8XEeOHLmn9XTt2lVTp07VlClTVKdOHYeRKgDuQdgB8EB89tlnSkxM1OOPP6558+bpwIED2rt3ryZOnKgnn3xSderUUYUKFfTyyy9r27Zt2rRpk9q3b6/IyEhVrVr1vtf/3XffacqUKdq/f7+GDBmiTZs26bXXXpMklShRQkePHtWcOXP0559/auLEiVqwYME9refll1/WiRMn9MUXX6hz5873XTeA+0fYAfBAhIWFadu2bapVq5b69euniIgI1a1bVytXrtSkSZNks9m0cOFC5cmTR88884zq1KmjYsWKae7cuS5Z/9ChQzVnzhxVqFBB06dP1zfffKOyZctKkpo0aaI+ffrotddeU8WKFRUdHa133nnnntaTK1cuNW/eXDlz5lTTpk1dUjuA+2MzyWcOAoBF2Ww2LViw4IGFj7p166pMmTKaOHHiA1kfgLvjaiwAcJHz589r+fLl+vnnn/XJJ5+4uxwA/z/CDgC4SOXKlXXhwgWNHj1apUqVcnc5AP5/HMYCAACWxgnKAADA0gg7AADA0gg7AADA0gg7AADA0gg7AADA0gg7AADA0gg7AADA0gg7AADA0gg7AADA0v4/UP/yUahnNs4AAAAASUVORK5CYII=",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"compute_nb_clients(customer_sport)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "a12a59a0-edfe-4e52-8037-9b875f823b33",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def maximum_price_paid(customer_sport):\n",
|
||
" company_max_price = customer_sport.groupby(\"number_company\")[\"max_price\"].max().reset_index()\n",
|
||
" # Création du barplot\n",
|
||
" plt.bar(company_max_price[\"number_company\"], 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 sport\")\n",
|
||
" \n",
|
||
" # Affichage du barplot\n",
|
||
" plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"id": "2c7c2d26-4e35-4163-b771-fa4d3e8ca83e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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AADDhw+Hi4sLtm3bBgBQqVRo3rw57O3tsXDhQty9exfh4eHo2bMnli9fLmt78vLyoFQqkZuby1EnIiKiKkL297fsmxBVApRzn4To6GghhBAPHz4UXbt2Fba2tsLAwEDUrVtXhIWFifT0dLXlPHr0SIwePVpYW1sLY2NjERQUVKpPdna2GDhwoDA3Nxfm5uZi4MCBIicnR63PtWvXRGBgoDA2NhbW1tZi9OjR4vHjx7K3Jzc3VwAQubm5L7Q/iIiI6N8n9/tbp+7TVNVxpImIiKjqkfv9rRMnghMRERHpOoYmIiIiIhkYmoiIiIhkYGgiIiIikoGhiYiIiEgGhiYiIiIiGRiaiIiIiGRgaCIiIiKSQV/bBRARPct1Upy2S6gyrs4L1HYJRK8MjjQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJANDExEREZEMDE1EREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJANDExEREZEMDE1EREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJANDExEREZEMDE1EREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJANDExEREZEMDE1EREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJoNXQNHfuXLz++uswNzeHnZ0devbsifPnz6v1EUJg+vTpcHJygrGxMTp06IAzZ86o9SkoKMCYMWNQq1YtmJqaokePHrh+/bpan5ycHISGhkKpVEKpVCI0NBT37t1T65Oeno7g4GCYmpqiVq1aGDt2LJ48eVIp205ERERVi1ZDU0JCAkaNGoXk5GTEx8ejqKgIXbt2xYMHD6Q+CxYswOLFi7FixQocPXoUDg4O8Pf3x/3796U+kZGR2Lx5M2JiYnDo0CHk5+cjKCgIKpVK6hMSEoKTJ09i165d2LVr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9OkDR0dHXL16FR9//DFq1aqFXr16AQCUSiWGDh2K8ePHw8bGBtbW1oiKioKXl5d0NV3jxo3RrVs3DBs2DF999RWAv285EBQUBHd3dwBA165d4eHhgdDQUCxcuBB3795FVFQUhg0bxiBEREREAF7wB3vPnz+P5cuXIy0tDQqFAo0aNcKYMWOkECLXsWPH1K5MKznUFRYWhi+//BKnT5/G2rVrce/ePTg6OqJjx47YtGkTzM3NpecsWbIE+vr66Nu3r3RzyzVr1kj3aAKADRs2YOzYsdJVdj169MCKFSuk+Xp6eoiLi8PIkSPRtm1btZtbEhEREQGAQpR1ctJz/PzzzxgwYABat24NHx8fAEBycjKOHj2KH374Ae+++26lFFoV5OXlQalUIjc3lyNURC/BdVKctkuoMq7OC9R2CURVntzvb41HmiZMmIDJkydj5syZau3Tpk3DxIkTX+nQRERERNWXrBPBn5aVlYXBgweXah80aNBz72lEREREVJVpHJo6dOiAgwcPlmo/dOgQ2rdvXyFFEREREekaWYfntm7dKv3do0cPTJw4ESkpKWjTpg2Av89p+umnn3ijRyIiIqq2ZJ0IXqOGvAGpyr65pa7jieBEFYMngsvHE8GJXl6FngheXFxcYYURERERVUUan9NERERE9CpiaCIiIiKSgaGJiIiISAaGJiIiIiIZGJqIiIiIZHihH+wtLi7GxYsXcfv27VJX1r355psVUhgRERGRLtE4NCUnJyMkJATXrl3Ds7d4etXv00RERETVl8ahacSIEWjdujXi4uLg6OgIhUJRGXURERER6RSNQ9OFCxfw888/o0GDBpVRDxEREZFO0vhEcG9vb1y8eLEyaiEiIiLSWRqPNI0ZMwbjx49HVlYWvLy8YGBgoDa/adOmFVYcERERka7QODT16dMHADBkyBCpTaFQQAjBE8GJiIio2tI4NF25cqUy6iAiIiLSaRqHJhcXl8qog4iIiEinaRya1q5d+9z5gwcPfuFiiIiIiHSVxqHpP//5j9p0YWEhHj58CENDQ5iYmDA0ERERUbWk8S0HcnJy1B75+fk4f/482rVrh40bN1ZGjURERERaVyE/2NuwYUPMmzev1CgUERERUXVRIaEJAPT09HDz5s2KWhwRERGRTtH4nKatW7eqTQshkJmZiRUrVqBt27YVVhgRERGRLtE4NPXs2VNtWqFQwNbWFp06dcLnn39eUXURERER6RSNQ1NxcXFl1EFERESk0yrsnCYiIiKi6kz2SNPMmTPVpj/99NMKL4aIiIhIV8kOTU//5pxCoaiUYoiIiIh0lezQFB0dXZl1EBEREek0ntNEREREJIOskabevXvLXmBsbOwLF0NERESkq2SNNCmVSulhYWGBvXv34tixY9L8lJQU7N27F0qlstIKJSIiItImWSNNT5/PNHHiRPTt2xerVq2Cnp4eAEClUmHkyJGwsLConCqJiIiItEzjc5pWr16NqKgoKTABf//u3Lhx47B69eoKLY6IiIhIV2gcmoqKipCWllaqPS0tjXcLJyIiompL459RiYiIwJAhQ3Dx4kW0adMGAJCcnIx58+YhIiKiwgskIiIi0gUah6ZFixbBwcEBS5YsQWZmJgDA0dEREyZMwPjx4yu8QCIiIiJdoHFoqlGjBiZMmIAJEyYgLy8PAHgCOBEREVV7GoempzEsERER0auCdwQnIiIikoGhiYiIiEgGhiYiIiIiGRiaiIiIiGSQdSL4smXLZC9w7NixL1wMERERka6SFZqWLFkia2EKhYKhiYiIiKolWaHpypUrlV0HERERkU7jOU1EREREMrzQzS2vX7+OrVu3Ij09HU+ePFGbt3jx4gopjIiIiEiXaBya9u7dix49esDNzQ3nz5+Hp6cnrl69CiEEWrZsWRk1EhEREWmdxofnJk+ejPHjxyM1NRU1a9bEL7/8goyMDPj5+eHdd9+tjBqJiIiItE7j0JSWloawsDAAgL6+Ph49egQzMzPMnDkT8+fPr/ACiYiIiHSBxqHJ1NQUBQUFAAAnJydcunRJmvfXX39VXGVEREREOkTjc5ratGmDP/74Ax4eHggMDMT48eNx+vRpxMbGok2bNpVRIxEREZHWaRyaFi9ejPz8fADA9OnTkZ+fj02bNqFBgwayb4JJREREVNVoHJrq1asn/W1iYoKVK1dWaEFEREREuuiF7tNUIj8/H8XFxWptFhYWL1UQERERkS7S+ETwK1euIDAwEKamplAqlbCysoKVlRUsLS1hZWVVGTUSERERaZ3GI00DBw4EAKxevRr29vZQKBQVXhQRERGRrtE4NJ06dQopKSlwd3evjHqIiIiIdJLGh+def/11ZGRkVEYtRERERDpL49D07bffYv78+fj++++RkpKCU6dO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",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"maximum_price_paid(customer_sport)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "90e050a5-2561-49d9-8ad8-877bdb368ed1",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"#def sale_canal(customer_sport)\n",
|
||
" # avg_supp_event = customer_sport['nb_suppliers'].mean()\n",
|
||
" # avg_supp_event.plot(kind='bar')\n",
|
||
" # plt.xlabel(\"Type d'évènement\")\n",
|
||
" #plt.ylabel('Nombre de Canaux de Ventes Moyen')\n",
|
||
" #plt.title(\"Nombre de Canaux de Ventes Moyen utilisé par les Consommateurs par type d'évènement\")\n",
|
||
" #plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "aa4974b5-637e-43e6-86c4-ee7a3adb89d0",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Nombre Total de tickets achetés sur Internet par compagnie"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "597d4361-8beb-43f4-9224-8f7dc34b187c",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Statistiques Descriptives company 5\n",
|
||
" average_price average_price_basket average_ticket_basket \\\n",
|
||
"count 145390.000000 68869.000000 68869.000000 \n",
|
||
"mean 11.070309 65.969693 3.655202 \n",
|
||
"std 16.353610 195.462869 13.119612 \n",
|
||
"min 0.000000 0.000000 1.000000 \n",
|
||
"25% 0.000000 20.000000 1.000000 \n",
|
||
"50% 0.000000 45.000000 2.000000 \n",
|
||
"75% 20.000000 79.500000 3.000000 \n",
|
||
"max 500.000000 24159.405000 2139.833333 \n",
|
||
"\n",
|
||
" purchase_count total_price \n",
|
||
"count 471598.00000 3.950770e+05 \n",
|
||
"mean 0.29900 2.608544e+01 \n",
|
||
"std 7.22753 2.089636e+03 \n",
|
||
"min 0.00000 0.000000e+00 \n",
|
||
"25% 0.00000 0.000000e+00 \n",
|
||
"50% 0.00000 0.000000e+00 \n",
|
||
"75% 0.00000 0.000000e+00 \n",
|
||
"max 3532.00000 1.262516e+06 \n",
|
||
"Statistiques Descriptives company 6\n",
|
||
" average_price average_price_basket average_ticket_basket \\\n",
|
||
"count 33779.000000 33779.000000 33779.000000 \n",
|
||
"mean 24.033859 56.711279 2.413530 \n",
|
||
"std 21.217031 72.841926 3.763809 \n",
|
||
"min -52.740000 -1046.666667 1.000000 \n",
|
||
"25% 10.000000 19.000000 1.080000 \n",
|
||
"50% 19.333333 39.000000 2.000000 \n",
|
||
"75% 30.000000 72.990000 3.000000 \n",
|
||
"max 199.990000 3922.845361 309.047619 \n",
|
||
"\n",
|
||
" purchase_count total_price \n",
|
||
"count 79938.000000 79938.000000 \n",
|
||
"mean 2.842090 102.251041 \n",
|
||
"std 74.949889 4290.159858 \n",
|
||
"min 0.000000 -3140.000000 \n",
|
||
"25% 0.000000 0.000000 \n",
|
||
"50% 0.000000 0.000000 \n",
|
||
"75% 1.000000 54.980000 \n",
|
||
"max 14750.000000 762695.290000 \n",
|
||
"Statistiques Descriptives company 7\n",
|
||
" average_price average_price_basket average_ticket_basket \\\n",
|
||
"count 39524.000000 39524.000000 39524.000000 \n",
|
||
"mean 33.110568 155.618778 3.365885 \n",
|
||
"std 85.221328 1085.613137 6.283143 \n",
|
||
"min 0.000000 0.000000 1.000000 \n",
|
||
"25% 17.250000 25.000000 1.800000 \n",
|
||
"50% 25.000000 57.676364 2.000000 \n",
|
||
"75% 43.054691 115.837500 3.555556 \n",
|
||
"max 10770.000000 86160.000000 400.000000 \n",
|
||
"\n",
|
||
" purchase_count total_price \n",
|
||
"count 68800.000000 68800.000000 \n",
|
||
"mean 3.290029 944.593729 \n",
|
||
"std 88.071870 12118.394731 \n",
|
||
"min 0.000000 0.000000 \n",
|
||
"25% 0.000000 0.000000 \n",
|
||
"50% 1.000000 9.000000 \n",
|
||
"75% 2.000000 132.000000 \n",
|
||
"max 22934.000000 940874.200000 \n",
|
||
"Statistiques Descriptives company 8\n",
|
||
" average_price average_price_basket average_ticket_basket \\\n",
|
||
"count 129198.000000 129198.000000 129198.000000 \n",
|
||
"mean 18.409977 38.492520 2.258036 \n",
|
||
"std 19.159059 71.136628 5.270858 \n",
|
||
"min -20.000000 -1545.000000 1.000000 \n",
|
||
"25% 0.000000 0.000000 1.000000 \n",
|
||
"50% 15.000000 20.000000 2.000000 \n",
|
||
"75% 28.461538 52.500000 2.000000 \n",
|
||
"max 390.000000 7618.227273 750.000000 \n",
|
||
"\n",
|
||
" purchase_count total_price \n",
|
||
"count 197376.000000 197376.000000 \n",
|
||
"mean 4.637448 130.336075 \n",
|
||
"std 96.228665 2791.899946 \n",
|
||
"min 0.000000 -36124.000000 \n",
|
||
"25% 0.000000 0.000000 \n",
|
||
"50% 1.000000 0.000000 \n",
|
||
"75% 2.000000 75.000000 \n",
|
||
"max 40272.000000 702080.290000 \n",
|
||
"Statistiques Descriptives company 9\n",
|
||
" average_price average_price_basket average_ticket_basket \\\n",
|
||
"count 102710.000000 102710.000000 102710.000000 \n",
|
||
"mean 60.312171 62.384177 1.042402 \n",
|
||
"std 50.018101 52.009984 0.268064 \n",
|
||
"min -291.670000 -291.670000 1.000000 \n",
|
||
"25% 41.500000 42.350000 1.000000 \n",
|
||
"50% 59.000000 61.070000 1.000000 \n",
|
||
"75% 74.550000 77.710000 1.000000 \n",
|
||
"max 1116.500000 1216.950000 23.000000 \n",
|
||
"\n",
|
||
" purchase_count total_price \n",
|
||
"count 181134.000000 181134.000000 \n",
|
||
"mean 1.021354 63.476966 \n",
|
||
"std 1.805412 129.781944 \n",
|
||
"min 0.000000 -291.670000 \n",
|
||
"25% 0.000000 0.000000 \n",
|
||
"50% 1.000000 0.000000 \n",
|
||
"75% 1.000000 80.000000 \n",
|
||
"max 273.000000 14343.950000 \n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"for company in sport_comp:\n",
|
||
" print(f'Statistiques Descriptives company {company}')\n",
|
||
" company_data = customer_sport[customer_sport['number_company'] == company][['average_price', 'average_price_basket',\n",
|
||
" 'average_ticket_basket', 'purchase_count', 'total_price']]\n",
|
||
" print(company_data.describe())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"id": "5058d3c9-73a0-4e01-881e-4d2423f0d291",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"customer_sport[\"already_purchased\"] = customer_sport[\"purchase_count\"] > 0"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"id": "848963c9-6129-4106-80b5-76bf814b70d1",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def mailing_consent(customer_sport):\n",
|
||
" df_graph = customer_sport.groupby([\"number_company\", \"already_purchased\"])[\"opt_in\"].mean().reset_index()\n",
|
||
" # Création du barplot groupé\n",
|
||
" fig, ax = plt.subplots(figsize=(10, 6))\n",
|
||
" \n",
|
||
" categories = df_graph[\"number_company\"].unique()\n",
|
||
" bar_width = 0.35\n",
|
||
" bar_positions = np.arange(len(categories))\n",
|
||
" \n",
|
||
" # Grouper les données par label et créer les barres groupées\n",
|
||
" for label in df_graph[\"already_purchased\"].unique():\n",
|
||
" label_data = df_graph[df_graph['already_purchased'] == label]\n",
|
||
" values = [label_data[label_data['number_company'] == category]['opt_in'].values[0]*100 for category in categories]\n",
|
||
" \n",
|
||
" label_printed = \"purchased\" if label else \"no purchase\"\n",
|
||
" ax.bar(bar_positions, values, bar_width, label=label_printed)\n",
|
||
" \n",
|
||
" # Mise à jour des positions des barres pour le prochain groupe\n",
|
||
" bar_positions = [pos + bar_width for pos in bar_positions]\n",
|
||
" \n",
|
||
" # Ajout des étiquettes, de la légende, etc.\n",
|
||
" ax.set_xlabel('Numero de compagnie')\n",
|
||
" ax.set_ylabel('Part de consentement (%)')\n",
|
||
" ax.set_title('Part de consentement au mailing selon les compagnies')\n",
|
||
" ax.set_xticks([pos + bar_width / 2 for pos in np.arange(len(categories))])\n",
|
||
" ax.set_xticklabels(categories)\n",
|
||
" ax.legend()\n",
|
||
" \n",
|
||
" # Affichage du plot\n",
|
||
" plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"id": "b78ef715-c645-4625-a128-4f5b49e5339d",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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KSAgQLGxsVq+fLlWrFihnj176pNPPtHatWuVkpIiBwcH7dixw+J2P0ny8PB4YG0AAAB4+mSJEaWoqCgVKFBATZv+3+cJBQUFydfX1/zcjfTPLV1r165VSEiIPcp8YpQuXVonTpywGE07cOCArly5olKlSt133y1btpj/nZSUpB07dqhkyZKS/pl84+rVq7p+/bp5m927dz+wnvLly+vUqVP6888/bbyS/7N+/Xr16dNHTZo0UZkyZeTs7Ky///7bYhtXV1e9+OKLmjhxotasWaPNmzdr3759qlSpkpKTkxUfH69ixYpZvFIDOQAAAPBvdh9RSklJUVRUlDp16qScOf+vHJPJpLCwMEVERCg4OFjBwcGKiIiQm5ub2rVrZ8eKs7569eqpfPnyat++vSZMmKCkpCT17NlToaGhqlKlyn33/eKLLxQcHKxSpUpp/PjxunTpkrp27SpJqlq1qtzc3PTBBx/onXfe0bZt2xQdHf3AekJDQ1WzZk298sorioyMVLFixfTHH3/IZDKpUaNG6bqmYsWKacaMGapSpYoSEhL0/vvvW4xURUdHKzk52VzjjBkz5OrqqsKFC8vb21vt27dXx44d9dlnn6lSpUr6+++/tWrVKpUrV05NmjRJVw0AACBrChz0q71LyFDHxjR98EbIdHYPSitWrNCJEyfMf4z/24ABA3Tz5k317NlTly5dUtWqVbVs2TJ5enpmel1Pcgc1mUyaP3++3nnnHdWsWVM5cuRQo0aN9Pnnnz9w3zFjxmjs2LHatWuXihYtqp9//ln58uWTJOXNm1ffffed3n//fU2bNk316tVTeHi4unXr9sDj/vjjj+rfv7/atm2r69evq1ixYhozZky6r2n69Onq1q2bKlWqpEKFCikiIsJiVrzcuXNrzJgx6tu3r5KTk1WuXDn98ssv8vb2lvTPqOXIkSPVr18/nT59Wt7e3qpevTohCQAAAHdlMqwfOslmEhIS5OXlpStXrihXrlwW627duqWjR48qKChILi4udqowazh27JiCgoK0a9cuVaxY0d7l2B19AwCAJwcjSkiv+2UDa1niGSUAAAAAyEoISgAAAABgxe7PKCFrCAwMTDP1NwAAAPC0YkQJAAAAAKwQlAAAAADACkEJAAAAAKwQlAAAAADACkEJAAAAAKwQlAAAAADACtOD30u412M815XHd65HZDKZ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AACsEJQAAAAAwApBCQAAAACsEJQAAAAAwApBCQAAAACsEJQAAAAAwApBCQAAAACsEJQAAAAAwApBCQAAAACsEJQAAAAAwApBCQAAAACsEJQAAAAAwApBCQAAAACs2D0onT59Wh06dJC3t7fc3NxUsWJF7dixw7zeMAyFh4fL399frq6uqlWrlvbv32/HigEAAABkd3YNSpcuXVKNGjXk6OioxYsX68CBA/rss8+UO3du8zbjxo1TZGSkJk2apO3bt8vX11f169fX1atX7Vc4AAAAgGwtpz1PPnbsWAUEBCgqKsrcFhgYaP63YRiaMGGChgwZopYtW0qSYmJi5OPjo5kzZ6p79+6Pu2QAAAAATwG7jigtWLBAVapU0WuvvaYCBQqoUqVK+uqrr8zrjx49qri4ODVo0MDc5uzsrNDQUG3atOmux7x9+7YSEhIsXgAAAABgC7sGpb/++kuTJ09WcHCwli5dqh49eqhPnz769ttvJUlxcXGSJB8fH4v9fHx8zOusjR49Wl5eXuZXQEBA5l4EAAAAgGzHrkEpJSVFlStXVkREhCpVqqTu3bvrrbfe0uTJky22M5lMFsuGYaRpSzV48GBduXLF/Dp58mSm1Q8AAAAge7JrUPLz81Pp0qUt2kqVKqUTJ05Iknx9fSUpzehRfHx8mlGmVM7OzsqVK5fFCwAAAABsYdegVKNGDcXGxlq0/fnnnypcuLAkKSgoSL6+vlq+fLl5fWJiotauXauQkJDHWisAAACAp4ddZ7177733FBISooiICLVq1Urbtm3TtGnTNG3aNEn/3HIXFhamiIgIBQcHKzg4WBEREXJzc1O7du3sWToAAACAbMyuQem5557TTz/9pMGDB2v48OEKCgrShAkT1L59e/M2AwYM0M2bN9WzZ09dunRJVatW1bJly+Tp6WnHygEAAABkZybDMAx7F5GZEhIS5OXlpStXrvC8EgAAQDYUOOhXe5eQoY6NaWrvErItW7KBXZ9RAgAAAICsiKAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFYISgAAAABghaAEAAAAAFbsGpTCw8NlMpksXr6+vub1hmEoPDxc/v7+cnV1Va1atbR//347VgwAAADgaZDT1h2OHTum9evX69ixY7px44by58+vSpUqqXr16nJxcbG5gDJlymjFihXmZQcHB/O/x40bp8jISEVHR6t48eIaOXKk6tevr9jYWHl6etp8LgAAAABIj3QHpZkzZ2rixInatm2bChQooIIFC8rV1VUXL17UkSNH5OLiovbt22vgwIEqXLhw+gvImdNiFCmVYRiaMGGChgwZopYtW0qSYmJi5OPjo5kzZ6p79+7pPgcAAAAA2CJdt95VrlxZkZGR6tChg44dO6a4uDjt2LFDGzZs0IEDB5SQkKCff/5ZKSkpqlKlin744Yd0F3Do0CH5+/srKChIbdq00V9//SVJOnr0qOLi4tSgQQPzts7OzgoNDdWmTZvuebzbt28rISHB4gUAAAAAtkhXUBoxYoR+++039e7dW4UKFUqz3tnZWbVq1dKUKVN08OBBBQYGpuvkVatW1bfffqulS5fqq6++UlxcnEJCQnThwgXFxcVJknx8fCz28fHxMa+7m9GjR8vLy8v8CggISFctAAAAAJAqXbfeNW3aNN0HzJcvn/Lly5eubRs3bmz+d7ly5VS9enUVLVpUMTExqlatmiTJZDJZ7GMYRpq2fxs8eLD69u1rXk5ISCAsAQAAALCJzZM5/Nuvv/6qNWvWKDk5WTVq1NArr7zySMW4u7urXLlyOnTokFq0aCFJiouLk5+fn3mb+Pj4NKNM/+bs7CxnZ+dHqgMAAADA0+2hg9JHH32kefPmqWnTpjIMQ++9955Wr16tSZMmPXQxt2/f1sGDB/XCCy8oKChIvr6+Wr58uSpVqiRJSkxM1Nq1azV27NiH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n1cmk0m9evWyd2l4giUlJenDDz9UUFCQXF1dVaRIEQ0fPlwpKSn2Lg1PuKtXryosLEyFCxeWq6urQkJCtH37dnuX9dTK8tODI2sqU6aMVqxYYV52cHCwYzXIDi5duqQaNWqodu3aWrx4sQoUKKAjR44od+7c9i4NT7Dt27crOTnZvPz777+rfv36eu211+xYFZ50Y8eO1ZQpUxQTE6MyZcrot99+U5cuXeTl5aV3333X3uXhCfbmm2/q999/14wZM+Tv76/vvvtO9erV04EDB1SwYEF7l/fUYXpw2Cw8PFzz58/X7t277V0KspFBgwZp48aNWr9+vb1LQTYWFhamhQsX6tChQzKZTPYuB0+oZs2aycfHR99884257ZVXXpGbm5tmzJhhx8rwJLt586Y8PT31888/q2nTpub2ihUrqlmzZho5cqQdq3s6cesdHsqhQ4fk7++voKAgtWnTRn/99Ze9S8ITbsGCBapSpYpee+01FShQQJUqVdJXX31l77KQjSQmJuq7775T165dCUl4JP/5z3+0cuVK/fnnn5KkPXv2aMOGDWrSpImdK8OTLCkpScnJyXJxcbFod3V11YYNG+xU1dONoASbVa1aVd9++62WLl2qr776SnFxcQoJCdGFCxfsXRqeYH/99ZcmT56s4OBgLV26VD169FCfPn307bff2rs0ZBPz58/X5cuX1blzZ3uXgifcwIED1bZtW5UsWVKOjo6qVKmSwsLC1LZtW3uXhieYp6enqlevrhEjRujMmTNKTk7Wd999p61bt+rs2bP2Lu+pxK13eGTXr19X0aJFNWDAAPXt29fe5eAJ5eTkpCpVqmjTpk3mtj59+mj79u3avHmzHStDdtGwYUM5OTnpl19+sXcpeMLNnj1b77//vj755BOVKVNGu3fvVlhYmCIjI9WpUyd7l4cn2JEjR9S1a1etW7dODg4Oqly5sooXL66dO3fqwIED9i7vqcNkDnhk7u7uKleunA4dOmTvUvAE8/PzU+nSpS3aSpUqpR9//NFOFSE7OX78uFasWKF58+bZuxRkA++//74GDRqkNm3aSJLKlSun48ePa/To0QQlPJKiRYtq7dq1un79uhISEuTn56fWrVsrKCjI3qU9lbj1Do/s9u3bOnjwoPz8/OxdCp5gNWrUUGxsrEXbn3/+qcKFC9upImQnUVFRKlCggMUD0sDD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qllMUlG9enWLbXbs2KHo6GhzLR4eHmrYsKFSUlJ09OjRux539+7dqlu37j3PmTNnTlWtWtXc5u3trRIlSujgwYPmNjc3NxUtWtTifQsMDJSHh4dFW+r7dq/6q1evbnHc1atXq379+ipYsKA8PT3VsWNHXbhwwXwrYWxsrJ5//nmLY1gvS//c5vfvZ5D8/PzS1JJq586dMgxDxYsXt3gf165da/E1BYCnSU57FwAAeHg1a9ZUw4YN9cEHH6hz584W63LkyCHDMCza/n3rWCpHR0eLZZPJdNe2lJQUSVJKSoqeffZZff/992mOlT9/fvO//x2IJMkwjHvOynevduv67yYlJUXdu3dXnz590qwrVKjQXfdxdXW95/HudU7r+m193+4n9bjHjx9XkyZN1KNHD40YMUJ58+bVhg0b9MYbb5i/dnd7H+9Wsy21pKSkyMHBQTt27JCDg4PFun8HPwB4mhCUAOAJN2bMGFWsWNE8YUKq/PnzKy4uzuIP6927dz/y+SpXrqw5c+aoQIECypUrV7r3K126tGJiYnT9+nVziNq4caNy5MiRpvZ/7zN//nyLti1btqSpZ//+/SpWrFi6aylfvrxWrlypLl263PWcSUlJ2rp1q0JCQiRJFy5c0J9//qlSpUql+xz3Yl3/li1bVLJkSUnSb7/9pqSkJH322WfmUb65c+dabF+yZElt27bNou233357pJoqVaqk5ORkxcfH64UXXnikYwFAdsGtdwDwhCtXrpzat2+fZva0WrVq6fz58xo3bpyOHDmiL774QosXL37k87Vv31758uXTSy+9pPXr1+vo0aNau3at3n333ftOLNG+fXu5uLioU6dO+v3337V69Wq98847ev311+Xj43PXfXr06KEjR46ob9++io2N1cyZMxUdHW2xzcCBA7V582b16tVLu3fv1qFDh7RgwQK9884796xl6NChmjVrloYOHaqDBw9q3759GjdunCQpODhYL730kt566y1t2LBBe/bsUYcOHVSwYEG99NJLtr9hVjZu3Khx48bpzz//1BdffKEffvhB7777riSpaNGiSkpK0ueff66//vpLM2bM0JQpUyz2f+edd7Ro0SJFRkbq0KFDmjp1qhYvXvxIn6FVvHhxtW/fXh07dtS8efN09OhRbd++XWPHjtWiRYse6XoB4ElFUAKAbGDEiBFpbr8qVaqUvvzyS33xxReqUKGCtm3bpv79+z/yudzc3LRu3ToVKlRILVu2VKlSpdS1a1fdvHnzviNMbm5uWrp0qS5evKjnnntOr776qurWratJkybdc59ChQrpxx9/1C+//KIKFSpoypQpioiIsNimfPnyWrt2rQ4dOqQXXnhBlSpV0kcffSQ/P797HrdWrVr64YcftGDBAlWsWFF16tTR1q1bzeujoqL07LPPqlmzZqpevboMw9CiRYvS3M72MPr166cdO3aoUqVKGjFihD777DM1bNhQklSxYkVFRkZq7NixKlu2rL7//vs0U8DXqFFDU6ZMUWRkpCpUqKAlS5bovffek4uLyyPVFRUVpY4dO6pfv34qUaKEXnzxRW3dulUBAQGPdFwAeFKZjPTcAA4AAB5ZYGCgwsLCLD6/KCO89dZb+uOPP7R+/foMPS4APM14RgkAgCfMp59+qvr168vd3V2LFy9WTEyMvvzyS3uXBQDZCkEJAIAnzLZt2zRu3DhdvXpVRYoU0cSJE/Xmm2/auywAyFa49Q4AAAAArDCZAwAAAABYISgBAAAAgBWCEgAAAABYISgBAAAAgBWCEgAAAABYISgBAAAAgBWCEgAAAABYISgBAAAAgJX/Byy+I/noW8qgAAAAAElFTkSuQmCC",
|
||
"text/plain": [
|
||
"<Figure size 1000x600 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"mailing_consent(customer_sport)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 19,
|
||
"id": "d8071891-e6f5-4d93-b039-9e99c20ec4b0",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def gender_bar(customer_sport):\n",
|
||
" company_genders = customer_sport.groupby(\"number_company\")[[\"gender_male\", \"gender_female\", \"gender_other\"]].mean().reset_index()\n",
|
||
" # Création du barplot\n",
|
||
" plt.bar(company_genders[\"number_company\"], company_genders[\"gender_male\"], label = \"Homme\")\n",
|
||
" plt.bar(company_genders[\"number_company\"], 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 sport\")\n",
|
||
" plt.legend()\n",
|
||
" \n",
|
||
" # Affichage du barplot\n",
|
||
" plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"id": "2fc30f1d-cf64-4efb-9442-4d97bb50b29f",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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8otISEgQ3t7ewsHBQfz777+afkOHDhXm5uaiQYMGYsmSJSIlJUUMHz5cABDTp08XdevWFatWrRLJycmiW7duAoA4fPiwZv6iz567u7sICwsTv/76q1ixYoVwcXER7u7u4ubNm5q+sbGxIjo6Wvz8888iNTVVrFmzRjRt2lTUq1dP63vm119/FSYmJuK1114TP/74o1i/fr145ZVXhKenp3jyz0vR+92yZUvx/fffi6SkJPHaa68JU1NTcfr0aZ06//t+leXz+Lw+9/r8Xs6aNUsAEB4eHuL9998XycnJYtGiRcLGxkb4+vpqbdt33nlHABDjxo0TW7duFcuWLRNVqlQR7u7uWp/7du3aCScnJ+Hu7i6++OILsXPnTpGamvrU75CXAcNNBXbt2jXx6quvCgACgDAzMxOBgYEiOjpa3L59W9MvKytLmJqaivfee09r/tu3b4uqVauKfv36adrUarXo2rWrcHR0FH///bdo2LChqF+/vrhz546mT3BwsKhRo4bIy8vTWt64ceOEpaWluHHjRok1//rrrwKAWLJkiVb7/Pnzdf7g6Luebt26iWbNmj1ja+maM2eOACBSUlKe2k+fcFO/fn3h6+srHj16pDVvt27dhJubm1CpVEKI//viHjt2rFa/hQsXCgAiOztb09aoUSPRrl07nXpK+3qnTp0qFAqFOHr0qFZ7x44dtV7P3bt3hZOTk+jevbtWP5VKJZo2bSpatmz51PXos12Lwo2Pj48oLCzUtP/xxx8CgPj2229LnLewsFDcuXNH2NjYaH2O+vfvL6ysrEROTo5W3/r165c63IwaNUrY2tqK8+fPa/X79NNPBQCt/xg86cyZM0KpVIq33nqrxD43b94UVlZWomvXrlrtWVlZwsLCQgwaNEjTNnToUAFAbNiwQdP26NEjUaVKFQFA6w/X9evXhVKpFBEREZq2os9ez549tda1d+9eAUDMmzev2BrVarV49OiROH/+vNZ/fIQQokWLFsLd3V0UFBRo2m7fvi0qV65cbLhxdXUV+fn5mracnBxhYmIioqOjdeoser/K+nl8Xp97fX4vi8LNxIkTtdrXrVsnAIivv/5aCCFEZmZmsd8TBw8eFADEBx98oGlr166dACC2b9+us76SvkNeBtwtVYFVrlwZu3fvxqFDh7BgwQL06NED//77L6ZPnw4fHx/NEHJycjIK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JCsMNy+ZDRs2oFGjRrCwsICnpyc+++wzrec9PT0xb948hIaGwtbWFh4eHvjpp59w9epV9OjRA7a2tvDx8cHhw4c188THx8PR0RFbtmxBvXr1YG1tjT59+uDu3btYs2YNPD09UalSJbz33ntQqVSa+R4+fIgpU6agevXqsLGxwSuvvIJdu3Y9r01BREQyxXDzEklLS0O/fv0wYMAA/PXXX4iKisKMGTMQHx+v1W/x4sVo3bo10tPTERISgiFDhiA0NBSDBw/GkSNHULt2bYSGhkIIoZnn3r17+Pzzz/Hdd99h69at2LVrF3r16oWkpCQkJSVh7dq1WLFiBX744QfNPMOHD8fevXvx3Xff4c8//0Tfvn3RuXNnnDx58nltEiIikiEecyMjW7Zsga2trVbbf0dKFi1ahPbt22PGjBkAgLp16yIjIwOffPIJhg0bpunXtWtXjBo1CgAwc+ZMxMbGokWLFujbty8AYOrUqQgICMCVK1dQtWpVAI+vOxMbG4tatWoBAPr06YO1a9fiypUrsLW1RcOGDREUFISdO3eif//+OH36NL799ltcvHgR1apVAwBMnjwZW7duxerVq/HRRx9Je/FRDtL6v8yi8oxdARFRuWK4kZGgoCDExsZqtR08eBCDBw8GAGRmZqJHjx5az7du3RoxMTFQqVSaK/42adJE87yrqysAwMfHR6ctNzdXE26sra01waaoj6enp1bYcnV11dw+4ciRIxBCoG7dulr1FBQU8OrQRERUJgw3MmJjY4PatWtrtV28eFHzsxBC5yJ4/921VMTMzEzzc1H/4trUanWx8xT1Ka6taB61Wg2lUom0tDSd2yg8OfpEREQkBcPNS6Rhw4bYs2ePVtu+fftQt27d536fJl9fX6hUKuTm5qJNmzbPdd1ERCRvDDcvkUmTJqFFixaYO3cu+vfvj/379+N///sfli5d+txrqVu3Lt566y2Ehobis88+g6+vL65du4YdO3bAx8cHXbt2fe41ERGRPPBsqZdI8+bN8f333+O7775D48aNMXPmTMyZM0frYOLnafXq1QgNDcWkSZNQr149vPHGGzh48CDc3d2NUg8REcmDQhR30IWM5efnw8HBAXl5ebC3t9d67sGDBzh79iy8vLxgaWlppArpaUp8j3i2lP54thQRVUBP+/v9JI7cEBERkaww3BAREZGsMNwQERGRrDDcEBERkaww3BAREZGsMNwQERGRrDDcEBERkaww3BAREZGsMNwQERGRrDDcEBERkazwxpn6et6X95d4ifxhw4ZhzZo1Ou0nT55E7dq1DVUVERHRC8/oIzdLly7V3CfIz88Pu3fvLrHvsGHDoFAodB6NGjV6jhW/uDp37ozs7Gyth5eXl7HLIiIieq6MGm4SExMRHh6OyMhIpKeno02bNujSpQuysrKK7b9kyRKtP9wXLlyAk5MT+vbt+5wrfzFZWFigatWqWg+lUonNmzfDz88PlpaW8Pb2xuzZs1FYWKiZT6FQYPny5ejWrRusra3RoEED7N+/H6dOncJrr70GGxsbBAQE4PTp05p5oqKi0KxZM8TFxaFmzZqwtbXFmDFjoFKpsHDhQlStWhUuLi6YP3++Vo15eXl455134OLiAnt7e7z++us4duzYc9tGREQkf0YNN4sWLcKIESMwcuRINGjQADExMXB3d0dsbGyx/R0cHLT+cB8+fBg3b97E8OHDn3PlFUdycjIGDx6M8ePHIyMjA8uXL0d8fLxO6Jg7dy5CQ0Nx9OhR1K9fH4MGDcKoUaMwffp0HD58GAAwbtw4rXlOnz6NX3/9FVu3bsW3336LuLg4hISE4OLFi0hNTcXHH3+MDz/8EAcOHAAACCEQEhKCnJwcJCUlIS0tDc2bN0f79u1x48aN57NBiIhI9ox2zM3Dhw+RlpaGadOmabV36tQJ+/bt02sZq1atQocOHeDh4VEeJVY4W7Zsga2trWa6S5cuuHLlCqZNm4ahQ4cCALy9vTF37lxMmTIFs2bN0vQdPnw4+vXrBwCYOnUqAgICMGPGDAQHBwMAJkyYoBMi1Wo14uLiYGdnh4YNGyIoKAgnTpxAUlISTExMUK9ePXz88cfYtWsXWrVqhZ07d+Kvv/5Cbm4uLCwsAACffvopNm3ahB9++AHvvPNOuW4fIiJ6ORgt3Fy7dg0qlQqurq5a7a6ursjJyXnm/NnZ2fj111/xzTffPLVfQUEBCgoKNNP5+fmlK7gCCAoK0hr1srGxQe3atXHo0CGtkRqVSoUHDx7g3r17sLa2BgA0adJE83zRe+Lj46PV9uDBA+Tn58Pe3h4A4OnpCTs7O60+SqUSJiYmWm25ubkAgLS0NNy5cweVK1fWqvv+/ftau7yIiIjKwuhnSykUCq1pIYROW3Hi4+Ph6OiIN99886n9oqOjMXv27LKUWGEUhZn/UqvVmD17Nnr16qXT39LSUvOzmZmZ5uei7V9cm1qtLnaeoj7FtRXNo1ar4ebmhl27dunU4ujo+LSXRkREpDejhRtnZ2colUqdUZrc3Fyd0ZwnCSEQFxeHIUOGwNzc/Kl9p0+fjoiICM10fn4+3N3dS194BdO8eXOcOHHihTgdvHnz5sjJyYGpqSk8PT2NXQ4REcmU0cKNubk5/Pz8kJKSgp49e2raU1JS0KNHj6fOm5qailOnTmHEiBHPXI+FhYXm+I6X0cyZM9GtWze4u7ujb9++MDExwZ9//om//voL8+bNe661dOjQAQEBAXjzzTfx8ccfo169erh8+TKSkpLw5ptvwt/f/7nWQ0RE8mTUs6UiIiLw1VdfIS4uDpmZmZg4cSKysrIwevRoAI9HXUJDQ3XmW7VqFV555RU0btz4eZdc4QQHB2PLli1ISUlBixYt0KpVKyxatMgoB2ErFAokJSWhbdu2CAsLQ926dTFgwACcO3fumaN1RERE+lIIIYQxC1i6dCkWLlyI7OxsNG7cGIsXL0bbtm0BPL5o37lz57SO0cjLy4ObmxuWLFmCt99+W/L68vPz4eDggLy8PM2BsUUePHiAs2fPai4qSC+eEt+j530F6YpM4tWviYheBE/7+/0kox9QPHbsWIwdO7bY5+Lj43XaHBwccO/evXKuioiI6An8T5T+jPyfKKPffoGIiIjIkBhuiIiISFYYboiIiEhWGG6KYeRjrOkp+N4QEdGzMNz8R9HVdXnA8our6L158krIRERERYx+ttSLRKlUwtHRUXMvJGtra71uBUHlTwiBe/fuITc3F46OjlAqlcYuiYiIXlAMN0+oWrUqAGgCDr1YHB0dNe8RERFRcRhunqBQKODm5gYXFxc8evTI2OXQf5iZmXHEhoiInonhpgRKpZJ/SImIiCogHlBMREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESyYmrsAoiISKIoB2NXUHFE5Rm7AjICjtwQERGRrDDcEBERkaww3BAREZGsMNwQERGRrDDcEBERkaww3BAREZGsMNwQERGRrDDcEBERkayU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EREBKMXIzd27dzXHuDg5OeHq1asAHl/c78iRI5KW1b9/f8TExGDOnDlo1qwZfv/9dyQlJcHDwwMAkJ2drXXNm+XLl6OwsBDvvvsu3NzcNI8JEyZIfRlEREQkU5JHburVq4cTJ07A09MTzZo1w/Lly+Hp6Ylly5aV6n5TY8eOxdixY4t9Lj4+Xmt6165dkpdPRERELxfJ4SY8PByXL18G8PhmmsHBwVi3bh3Mzc11wggRERHR8yY53Lz11luan319fXHu3DkcP34cNWvWhLOzs0GLIyIiIpJK72Nu7t27h3fffRfVq1eHi4sLBg0ahGvXrsHa2hrNmzdnsCEiIqIXgt7hZtasWYiPj0dISAgGDBiAlJQUjBkzpjxrIyIiIpJM791SGzduxKpVqzBgwAAAwODBg9G6dWuoVCoolcpyK5CIiIhICr1Hbi5cuIA2bdpoplu2bAlTU1PNwcVERERELwK9w41KpYK5ublWm6mpKQoLCw1eFBEREVFp6b1bSgiBYcOGwcLCQtP24MEDjB49GjY2Npq2jRs3GrZCIiIiIgn0DjdDhw7VaRs8eLBBiyEiIiIqK73DzerVq8uzDiIiIiKDkHxvKSIiIqIXGcMNERERyQrDDREREckKww0RERHJCsMNERERyQrDDREREckKww0RERHJCsMNERERyQrDDREREckKww0RERHJCsMNERERyQrDDREREckKww0RERHJCsMNERERyQrDDREREckKww0RERHJCsMNERERyQrDDREREckKww0RERHJCsMNERERyQrDDREREckKww0RERHJCsMNERERyQrDDREREckKww0RERHJCsMNERERyYrRw83SpUvh5eUFS0tL+Pn5Yffu3SX2zc7OxqBBg1CvXj2YmJggPDz8+RVKREREFYJRw01iYiLCw8MRGRmJ9PR0tGnTBl26dEFWVlax/QsKClClShVERkaiadOmz7laIiIiqgiMGm4WLVqEESNGYOTIkWjQoAFiYmLg7u6O2NjYYvt7enpiyZIlCA0NhYODw3OuloiIiCoCo4Wbhw8fIi0tDZ06ddJq79SpE/bt22ekqoiIiKiiMzXWiq9duwaVSgVXV1etdldXV+Tk5BhsPQUFBSgoKNBM5+fnG2zZRERE9OIx+gHFCoVCa1oIodNWFtHR0XBwcNA83N3dDbZsIiIievEYLdw4OztD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",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"gender_bar(customer_sport)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"id": "4b3bb641-814b-4679-9a67-4eca87a920a6",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def country_bar(customer_sport):\n",
|
||
" company_country_fr = customer_sport.groupby(\"number_company\")[\"country_fr\"].mean().reset_index()\n",
|
||
" # Création du barplot\n",
|
||
" plt.bar(company_country_fr[\"number_company\"], 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 sport\")\n",
|
||
" \n",
|
||
" # Affichage du barplot\n",
|
||
" plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"id": "01258674-6b98-49e4-93f4-f4185964999f",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHGCAYAAACIDqqPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABHeklEQVR4nO3dd3QU9f7/8deSSkhBAgkBQxKk96ZAEJESEBFQkarSvSB4EUIRRAS5IIKK6FcBC1VQEUEURCEXkQsCUqRKBGkJJQFDC81Akvn9wcn+XDeB3WTDhuH5OCfnsJ/9zHzeMzu7+2LaWgzDMAQAAGAShdxdAAAAgCsRbgAAgKkQbgAAgKkQbgAAgKkQbgAAgKkQbgAAgKkQbgAAgKkQbgAAgKkQbgAAgKkQbnBHuHTpkipVqqSOHTsqMzPT3eUAAAowwk0+mDt3riwWi3x9fZWQkGD3/MMPP6xq1arlat6fffaZpk2blu1zFotF48aNy9V8XS1rHRw9etTa1rNnT0VGRtr0e/3117Vs2bJbzu+5555TaGioFixYoEKFcr/ZRkZGqmfPnrmePr/8s66jR4/KYrFo7ty5+TruzbYnV7pdy/NPFotFL7zwwm0dEwXfTz/9JIvFop9++ilfx3HXdn873a7PEGcRbvJRWlqaXnnlFZfO82Yb0qZNm9S3b1+XjudKY8aM0ddff23T5ki4+eCDD7R7925988038vHxyccKC46wsDBt2rRJbdq0yddxCuoHE5Cf6tSpo02bNqlOnTruLuWOV1A/Qwg3+eiRRx7RZ599pl27dt2W8Ro0aKB77733toyVG/fdd59q167t9HQDBw7Ub7/9pqJFi7q+qALKx8dHDRo0UIkSJdxdCmA6gYGBatCggQIDA91dyh3rypUr7i7hpgg3+WjEiBEKDg7WSy+9dMu+H3zwgR566CGFhISoSJEiql69uqZMmaLr169b+zz88MP67rvvlJCQIIvFYv3Lkt1hqb1796p9+/a655575Ovrq1q1amnevHk2fbJ20X7++ecaPXq0SpUqpcDAQLVo0UL79++36RsXF6f27dvr3nvvla+vr8qVK6d+/fopJSXllsv4z8NSFotFly9f1rx586zL8vDDD1ufT05OVr9+/XTvvffK29tbUVFReu2115Senn7Lsa5fv64RI0aoZMmS8vPz04MPPqgtW7Zk29fRcWbMmKGaNWvK399fAQEBqlSpkl5++eVb1pKWlqbx48ercuXK8vX1VXBwsJo2baqNGzfmOE1Ou7P/+OMPdevWTSEhIfLx8VHlypX1wQcf2PRx9PW81faU2+U9efKkOnXqpICAAAUFBalz585KTk7Otu+2bdvUrl07FStWTL6+vqpdu7a+/PLLW44hObdeP/30U1WuXFl+fn6qWbOmVqxYYfP8wYMH1atXL5UvX15+fn4qXbq02rZtqz179tjN6/fff9cjjzwiPz8/FS9eXP3799fy5cvtDnPkdAj04YcfttnOJSk1NVXDhg1TVFSUvL29Vbp0aQ0ePFiXL192aF388MMPat68uYKCguTn56fKlStr0qRJNn2+/fZbNWzYUH5+fgoICFBMTIw2bdpk02fcuHGyWCzavXu3OnbsqKCgIBUrVkyxsbFKT0/X/v379cgjjyggIECRkZGaMmWKzfRZ296CBQsUGxurkiVLqnDhwmrSpIl27Nhh03fbtm3q0qWLIiMjVbhwYUVGRqpr167ZHsrfsGGDGjZsKF9fX5UuXVpjxozRJ598YnfoOzIyUo899ph++OEH1alTR4ULF1alSpU0e/bsbOv852GpvGyPt2u7v9X7MuuUgLi4OPXq1UvFihVTkSJF1LZtWx0+fNhufrNnz1bNmjXl6+urYsWK6YknnlB8fLxNn549e8rf31979uxRy5YtFRAQoObNm9/yM8SdPN1dgJkFBATolVde0Ysvvqgff/xRzZo1y7HvoUOH1K1bN+uH265duzRx4kT9/vvv1jfm9OnT9a9//UuHDh2yO7yTnf379ys6OlohISF67733FBwcrAULFqhnz546deqURowYYdP/5ZdfVqNGjfTJJ58oNTVVL730ktq2bav4+Hh5eHhY62zYsKH69u2roKAgHT16VFOnTtWDDz6oPXv2yMvLy+H1s2nTJjVr1kxNmzbVmDFjJMn6P6nk5GQ98MADKlSokF599VXdd9992rRpkyZMmKCjR49qzpw5N533c889p/nz52vYsGGKiYnR3r179eSTT+rixYs2/Rwd54svvtCAAQP073//W2+99ZYKFSqkgwcPat++fTetIz09Xa1bt9b69es1ePBgNWvWTOnp6dq8ebMSExMVHR3t8Prat2+foqOjVaZMGb399tsqWbKkVq1apUGDBiklJUVjx4616X+r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pKSkJPn4+GjDhg06fPiwqlSp4rIiAQAAHOX0YamYmBiNGjVKFy5csLadP39eo0aNUtu2bSXdCEAzZsxwXZUAAAAOcnrPzdtvv62HHnpIERERql27tiRp586dCg0N1YIFCyRJpUuXVq9evVxbKQAAgAOcDjelS5fW7t27tXDhQu3atUuFCxdWr1691LVrV3l5eeVHjQAAAA5zOtxIN36C4V//+perawEAAMizXIWbAwcO6KefftLp06eVmZlp89yrr77qksIAAAByw+lw8/HHH+v5559X8eLFVbJkSVksFutzFouFcAMAANzK6XAzYcIETZw4US+99FJ+1AMAAJAnTl8Kfu7cOXXs2DE/agEAAMgzp8NNx44dtXr16vyoBQAAIM+cPixVrlw5jRkzRps3b1b16tXtLv8eNGiQy4oDAABwltPh5qOPPpK/v7/WrVundevW2TxnsVgINwAAwK2cDjdHjhzJjzoAAABcwulzbgAAAAqyXN3E7/jx4/r222+VmJioa9eu2Tw3depUlxQGAACQG06HmzVr1qhdu3aKiorS/v37Va1aNR09elSGYahOnTr5USMAAIDDnD4sNWrUKA0dOlR79+6Vr6+vlixZomPHjqlJkybc/wYAALid0+EmPj5ePXr0kCR5enrq6tWr8vf31/jx4zV58mSXFwgAAOAMp8NNkSJFlJaWJkkqVaqUDh06ZH0uJSXFdZUBAADkgtPn3DRo0EA///yzqlSpojZt2mjo0KHas2ePli5dqgYNGuRHjQAAAA5zOtxMnTpVly5dkiSNGzdOly5d0qJFi1SuXDm98847Li8QAADAGU4dlsrIyNCxY8cUHh4uSfLz89P06dO1e/duLV26VBEREU4XMH36dEVFRcnX11d169bV+vXrb9o/LS1No0ePVkREhHx8fHTfffdp9uzZTo8LAADMyak9Nx4eHmrVqpXi4+N1zz335HnwRYsWafDgwZo+fboaNWqkDz/8UK1bt9a+fftUpkyZbKfp1KmTTp06pVmzZqlcuXI6ffq00tPT81wLAAAwB6cPS1WvXl2HDx9WVFRUngefOnWq+vTpo759+0qSpk2bplWrVmnGjBmaNGmSXf8ffvhB69at0+HDh1WsWDFJUmRkZJ7rAAAA5uH01VITJ07UsGHDtGLFCiUlJSk1NdXmz1HXrl3T9u3b1bJlS5v2li1b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RTVlyhTVqFFD169f16pVqzRw4ED9/vvv7i4RgImx5waAyw0YMEAWi0VbtmzRU089pQoVKqhq1aqKjY3V5s2bJUmJiYlq3769/P39FRgYqE6dOunUqVPWeYwbN061atXS7NmzVaZMGfn7++v5559XRkaGpkyZopIlSyokJEQTJ060GdtisWjGjBlq3bq1ChcurKioKC1evNimz0svvaQKFSrIz89PZcuW1ZgxY3T9+nW7sT/99FNFRkYqKChIXbp00cWLFyVJ8+fPV3BwsNLS0mzm26FDB3Xv3t2l6xKA8wg3AFzq7Nmz+uGHHzRw4EAVKVLE7vmiRYvKMAw9/vjjOnv2rNatW6e4uDgdOnRInTt3tul76NAhff/99/rhhx/0+eefa/bs2WrTpo2OHz+udevWafLkyXrllVesgSnLmDFj1KFDB+3atUvPPPOMunbtqvj4eOvzAQEBmjt3rvbt26d3331XH3/8sd555x27sZctW6YVK1ZoxYoVWrdund544w1JUseOHZWRkaFvv/3W2j8lJUUrVqzgV5mBgsDNP9wJwGR++eUXQ5KxdOnSHPusXr3a8PDwMBITE61tv/32myHJ2LJli2EYhjF27FjDz8/PSE1NtfZp1aqVERkZaWRkZFjbKlasaEyaNMn6WJLRv39/m/Hq169vPP/88znWM2XKFKNu3brWx9mNPXz4cKN+/frWx88//7zRunVr6+Np06YZZcuWNTIzM3McB8DtwTk3AFzKMAxJNw4P5SQ+Pl7h4eEKDw+3tlWpUkVFixZVfHy87r//fklSZGSkAgICrH1CQ0Pl4eGhQoUK2bSdPn3aZv4NGza0e7xz507r46+++krTpk3TwYMHdenSJaWnpyswMNBmmn+OHRYWZjPOc889p/vvv18nTpxQ6dKlNWfOHPXs2fOmyw3g9uCwFACXKl++vCwWi81hoH8yDCPbEPDPdi8vL5vnLRZLtm2ZmZm3rCtrvps3b1aXLl3UunVrrVixQjt27NDo0aN17do1m/63Gqd27dqqWbOm5s+fr19//VV79uxRz549b1kHgPxHuAHgUsWKFVOrVq30wQcf6PLly3bPnz9/XlWqVFFiYqKOHTtmbd+3b58uXLigypUr57mGf56Ds3nzZlWqVEmS9PPPPysiIkKjR49WvXr1VL58eSUkJORqnL59+2rOnDmaPXu2WrRoYbMnCoD7EG4AuNz06dOVkZGhBx54QEuWLNEff/yh+Ph4vffee2rYsKFatGihGjVq6Omnn9avv/6qLVu2qHv37mrSpInq1auX5/EXL16s2bNn68CBAxo7dqy2bNmiF154QZJUrlw5JSYm6osvvtChQ4f03nvv6euvv87VOE8//bROnDihjz/+WL17985z3QBcg3ADwOWioqL066+/qmnTpho6dKiqVaummJgYrVmzRjNmzJDFYtGyZct0zz336KGHHlKLFi1UtmxZLVq0yCXjv/baa/riiy9Uo0YNzZs3TwsXLlSVKlUkSe3bt9eQIUP0wgsvqFatWtq4caPGjBmTq3ECAwPVoUMH+fv76/HHH3dJ7QDyzmJknf0HACZgsVj09ddf37awERMTo8qVK+u99967LeMBuDWulgKAXDh79qxWr16tH3/8Ue+//767ywHwN4QbAMiFOnXq6Ny5c5o8ebIqVqzo7nIA/A2HpQAAgKlwQjEAADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADCV/wd6A7A6lR7SLwAAAABJRU5ErkJggg==",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"country_bar(customer_sport)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 33,
|
||
"id": "1336c230-2e02-4559-90ac-a43bbb65b1c6",
|
||
"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",
|
||
" 'number_company', 'already_purchased'],\n",
|
||
" dtype='object')"
|
||
]
|
||
},
|
||
"execution_count": 33,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"customer_sport.columns"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "43d63ea3-75f4-4356-a7e9-35905d86baa5",
|
||
"metadata": {},
|
||
"source": [
|
||
"### 2. campaigns_information"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 23,
|
||
"id": "8d116e34-cdd6-4ef9-8622-474da79f79ef",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Nombre de lignes de la table : 463098\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"customer_id 0\n",
|
||
"nb_campaigns 0\n",
|
||
"nb_campaigns_opened 0\n",
|
||
"time_to_open 178826\n",
|
||
"number_company 0\n",
|
||
"dtype: int64"
|
||
]
|
||
},
|
||
"execution_count": 23,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"print(\"Nombre de lignes de la table : \",campaigns_sport.shape[0])\n",
|
||
"campaigns_sport.isna().sum()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"id": "724d3c33-c219-4212-b8b6-dd78481674cb",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def lazy_customer_plot(campaigns_sport_kpi):\n",
|
||
" company_lazy_customers = campaigns_sport_kpi.groupby(\"number_company\")[\"no_campaign_opened\"].mean().reset_index()\n",
|
||
" # Création du barplot\n",
|
||
" plt.bar(company_lazy_customers[\"number_company\"], 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 sport\")\n",
|
||
" \n",
|
||
" # Affichage du barplot\n",
|
||
" plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"id": "e513f308-3a9c-40ed-99d5-ed420bd67384",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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lv7LJIc0Pz8/nD59Gl5eXqhduza++eYbeHl5YfHixXB3d9dFjUQvxR8tzfFHi4jov0FySBsxYgQyMzMBAJMnT0Z4eDhWr14NuVyOFStWaLs+IiIiIqMkOaT17NlT+f/BwcG4dOkS/v33X1SpUgUVKlTQanFERERExqrMz+60trZGnTp1tFELEREREf2P5FtwEBEREZHuMaQRERERGSCGNCIiIiIDJDmkZWRkQAih1i6EQEZGhlaKIiIiIjJ2kkOat7c3bty4odZ+69YteHt7a6UoIiIiImMnOaQJISCTydTa79+/D0tLS60URURERGTsNL4Fx6hRowAAMpkMEydOhLW1tfI9hUKBP//8E7Vr19Z6gURERETGSOOQlpaWBuDZkbS//voLcrlc+Z5cLketWrUwZswY7VdIREREZIQ0Dmm7du0CAPTr1w9ffvkl7OzsdFYUERERkbGTdE3a06dPsWrVKqSnp+uqHiIiIiKCxJBmZmYGT09PKBQKXdVDRERERChF785PP/0U48ePx61bt3RRDxERERGhFA9YX7BgAc6dO4eKFSvC09MTNjY2Ku8fPXpUa8URERERGSvJIe3dd9/VQRlERERE9DzJIW3y5Mm6qIOIiIiInlOqB6zfuXMH3333ncq1aUePHsXVq1e1WhwRERGRsZJ8JO3EiRNo0aIFHBwccOnSJQwcOBCOjo745ZdfkJ6ejoSEBF3USURERGRUJB9JGzVqFPr164ezZ8+qPKuzdevW+O2337RaHBEREZGxkhzSDh06hA8++ECtvVKlSsjKytJKUURERETGTnJIs7S0RG5urlr76dOn4ezsrJWiiIiIiIyd5JAWGRmJuLg4PHnyBAAgk8mQkZGBcePGoVOnTlovkIiIiMgYSQ5ps2fPxo0bN+Di4oJHjx4hNDQUVatWhZ2dHaZPn66LGomIiIiMjuTenfb29vj999+xc+dOHD16FAUFBahTpw5atGihi/qIiIiIjJLkkHbp0iV4eXmhWbNmaNasmS5qIiIiIjJ6kk93+vj44K233sI333zDh6wTERER6YjkkHb48GGEhIRg2rRpqFixIiIjI7FmzRrk5eXpoj4iIiIioyQ5pNWpUweff/45MjIysHnzZri4uOCDDz6Ai4sLoqOjdVEjERERkdEp1bM7gWe33ggLC8O3336L7du3w8fHBytXrtRmbURE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Q9u2bdGkSRM4OTkhKSlJ6wUSERERGSPJIS08PFz5/z4+Pjh58iRu3bqF8uXLK3t4EhEREVHZSL4mbcWKFXj06JFKm6OjIwMaERERkRZJDmnjx4+Hq6sr+vfvj3379umiJiIiIiKjJzmkXblyBatWrcLt27cRFhaG6tWrY+bMmcjKytJFfURERERGSXJIMzU1Rfv27ZGcnIzLly/j/fffx+rVq1GlShW0b98ev/76KwoKCnRRKxEREZHRkBzSnufi4oLGjRsjJCQEJiYm+Ouvv9CvXz+88cYbfPoAERERURmUKqRdv34ds2fPRs2aNfH2228jNzcXGzduxMWLF3Ht2jV07NgRffv21XatREREREZD8i042rVrh61bt8LX1xcDBw5Enz594OjoqHzfysoKo0ePxty5c7VaKBEREZExkRzSXFxcsGfPHoSEhJQ4jLu7Oy5evFimwoiIiIiMmeSQtnTp0pcOI5PJ4OnpWaqCiIiIiKgUIQ0AHjx4gD179iAjIwP5+fkq7w0bNkwrhREREREZM8khLS0tDW3atMHDhw/x4MEDODo64ubNm7C2toaLiwtDGhEREZEWSO7dOXLkSLRr1w63bt2ClZUVDhw4gPT0dNStWxezZ8/WRY1ERERERkdySDt27BhGjx4NU1NTmJqaIi8vDx4eHpg1axY++eQTXdRIREREZHQkhzRzc3Plw9RdXV2RkZEBAHBwcFD+PxERERGVjeRr0oKDg3H48GH4+voiLCwMkyZNws2bN/H9998jMDBQFzUSERERGR3JR9I+++wzuLu7AwCmTp0KJycnDBo0CNnZ2ViyZInWCyQiIiIyRpKPpNWrV0/5/87OzkhJSdFqQURERERUxgesExEREZFuaHwkLSwsTNlhAAB27typk4KIiIiISEJI69evnw7LICIiIqLnaRzS+vbtq8s6iIiIiOg5pXp2JwDk5+cjOzsbBQUFKu1VqlQpc1FERERExk5ySDtz5gz69++Pffv2qbQLISCTyaBQKLRWHBEREZGxkhzSoqKiYGZmho0bN8Ld3V2lMwERERERaYfkkHbs2DEcOXIE1atX10U9RERERIRS3CetRo0auHnzpi5qISIiIqL/kRzSZs6cibFjx2L37t3IyclBbm6uyh8RERERlZ3k050tWrQAADRv3lylnR0HiIiIiLRHckjbtWuXLuogIiIi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rsofERERkaGTHNKEEJDJZGrtV65ckXR06+bNm1AoFHB1dVVpd3V1RVZWltSyShQfH6/ygHgPDw+tTZuIiIhIVzS+BUdwcDBkMhlkMhmaN28OM7P/H1WhUODixYt45513JBdQNPCVFAJLa/z48Rg1apTydW5uLoMaERERGTyNQ9q7774LADh27BjCw8Nha2urfE8ul8PLywudOnXSeMYVKlSAqamp2lGz7OxstaNrZWFhYQELCwutTY+IiIjoVdA4pE2ePBkKhQKenp4IDw+Hu7t7mWYsl8tRt25dpKamokOHDsr21NRUREZGlmnaRERERP91kp44YGpqipiYGJw6dUorMx81ahR69+6NevXqISQkBEuWLEFGRgZiYmIAPDtVefXqVZVeo8eOHQMA3L9/Hzdu3MCxY8cgl8tRo0YNrdREREREZAgkPxYqMDAQFy5cgLe3d5ln3rVrV+Tk5CAuLg6ZmZkICAhASkoKPD09ATy7eW3Re6YFBwcr///IkSP44Ycf4OnpiUuXLpW5HiIiIiJDITmkTZ8+HWPGjMHUqVNRt25d2NjYqLwv9XmegwcPxuDBg4t9b8WKFWptQghJ0yciIiL6L5Ic0gp7cLZv316lF2Zhr0yFQqG96oiIiIiMlOSQtmvXLl3UQURERETPkRzSQkNDdVEHERERET1Hckgr9PDhQ2RkZCA/P1+lPSgoqMxFERERERk7ySHtxo0biIqKwubNm4t9n9ekEREREZWd5Gd3jhgxArdv38aBAwdgZWWFLVu2YOXKlahWrRrWr1+vixqJiIiIjI7kI2k7d+7Er7/+ivr168PExASenp5o2bIl7O3tER8fj4iICF3USURERGRUJB9Je/DgAVxcXAAAjo6OuHHjBoBnN7k9evSodqsjIiIiMlKSQ5qfnx9Onz4NAKhduza++eYbXL16FYsXLy7z8zyJiIiI6BnJpztHjBiBa9euAXj20PXw8HCsXr0acrm82CcEEBEREZF0kkNaz549lf8fHByMS5cu4d9//0WVKlVQoUIFrRZHREREZKw0Pt358OFDDBkyBJUqVYKLiwt69OiBmzdvwtraGnXq1GFAIyIiItIijUPa5MmTsWLFCkRERKBbt25ITU3FoEGDdFkbERERkdHS+HRncnIyli5dim7dugEAevXqhcaNG0OhUMDU1FRnBRIREREZI42PpF2+fBlNmjRRvn7zzTdhZmam7ERARERERNqjcUhTKBSQy+UqbWZmZnj69KnWiyIiIiIydhqf7hRCoF+/frCwsFC2PX78GDExMbCxsVG2JScna7dCIiIiIiOkcUjr27evWluvXr20WgwRERERPaNxSFu+fLku6yAiIiKi50h+LBQRERER6R5DGhEREZEBYkgjIiIiMkAMaUREREQGiCGNiIiIyAAxpBEREREZIIY0IiIiIgPEkEZERERkgBjSiIiIiAwQQxoRERGRAWJIIyIiIjJADGlEREREBoghjYiIiMgAMaQRERERGSCGNCIiIiIDxJBGREREZIAY0oiIiIgMEEMaERERkQFiSCMiIiIyQAxpRERERAaIIY2IiIjIADGkERERERkghjQiIiIiA8SQRkRERGSAGNKIiIiIDBBDGhEREZEBYkgjIiIiMkAMaUREREQGiCGNiIiIyAAxpBEREREZIIY0IiIiIgPEkEZERERkgBjSiIiIiAwQQxoRERGRAWJIIyIiIjJADGlEREREBkjvIW3hwoXw9vaGpaUl6tati717975w+D179qBu3bqwtLSEj48PFi9e/IoqJSIiInp19BrSkpKSMGLECEyYMAFpaWlo0qQJWrdujYyMjGKHv3jxItq0aYMmTZogLS0Nn3zyCYYNG4a1a9e+4sqJiIiIdEuvIW3OnDno378/BgwYAH9/f8ybNw8eHh5YtGhRscMvXrwYVapUwbx58+Dv748BAwYgOjoas2fPfsWVExEREemW3kJafn4+jhw5glatWqm0t2rVCvv27St2nP3796sNHx4ejsOHD+PJkyc6q5WIiIjoVTPT14xv3rwJhUIBV1dXlXZXV1dkZWUVO05WVlaxwz99+hQ3b96Eu7u72jh5eXnIy8tTvr579y4AIDc3t6yLUKyCvIc6me7rSJufAde75rje9YPrXT+43vVDF7+xhdMUQmh92oZKbyGtkEwmU3kthFBre9nwxbUXio+PR2xsrFq7h4eH1FJJyxzm6bsC48T1rh9c7/rB9a4fulzv9+7dg4ODg+5mYED0FtIqVKgAU1NTtaNm2dnZakfLCrm5uRU7vJmZGZycnIodZ/z48Rg1apTydUFBAW7dugUnJ6cXhsHXSW5uLjw8PHD58mXY29vruxyjwHWuH1zv+sH1rh/Gtt6FELh37x4qVqyo71JeGb2FNLlc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",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"lazy_customer_plot(campaigns_sport_kpi)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 31,
|
||
"id": "1b7ac0f0-903e-45ae-8f44-dc37ed36eafc",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def campaigns_effectiveness(customer_sport, Train=False):\n",
|
||
" if not Train:\n",
|
||
" customer_sport[\"already_purchased\"] = customer_sport[\"purchase_count\"]>0\n",
|
||
"\n",
|
||
" nb_customers_purchasing = customer_sport[customer_sport[\"already_purchased\"]].groupby([\"number_company\",\"already_purchased\"])[\"customer_id\"].count().reset_index()\n",
|
||
" nb_customers_no_purchase = customer_sport[~customer_sport[\"already_purchased\"]].groupby([\"number_company\",\"already_purchased\"])[\"customer_id\"].count().reset_index()\n",
|
||
"\n",
|
||
" plt.bar(nb_customers_purchasing[\"number_company\"], nb_customers_purchasing[\"customer_id\"]/1000, label = \"has purchased\")\n",
|
||
" plt.bar(nb_customers_no_purchase[\"number_company\"], nb_customers_no_purchase[\"customer_id\"]/1000, \n",
|
||
" bottom = nb_customers_purchasing[\"customer_id\"]/1000, label = \"has not purchased\")\n",
|
||
" \n",
|
||
" \n",
|
||
" # Ajout de titres et d'étiquettes\n",
|
||
" plt.xlabel('Company')\n",
|
||
" plt.ylabel(\"Nombre de clients (en milliers)\")\n",
|
||
" plt.title(\"Nombre de clients ayant acheté ou été ciblés par des mails pour les compagnies de sport\")\n",
|
||
" plt.legend()\n",
|
||
" \n",
|
||
" # Affichage du barplot\n",
|
||
" plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"id": "3e05edab-fb8a-423b-b0ae-94e36eeeb3cd",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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3t6eT9wlIiIiogKNLQH5dOvWrTzVv3v37keKhIiIiIhIPUwC8umLL75Ajx49cOLEiRzrJCUlYf78+fDy8sKGDRs+YXRERERERKrYHSifLl26hHHjxqF+/frQ09ODv78/HB0dYWhoiCdPnuDixYu4cOEC/P39MXHiRAQHB8sdMhERERFpOT4nQENSU1Oxbds26Sm/L1++RNGiReHn54d69erBy8tL7hA/CJ8TUIDwOQFERKQmPieA3octARpiaGiIZs2aoVmzZnKHQkRERESUK94TQERERESkZZgEEBERERFpGSYBRERERERahkkAEREREZGWYRJARERERKRlmARo0JIlS/DXX39Jr8PCwmBpaYlq1arh5s2bMkZGRERERPQfJgEaNG7cOBgZGQEAjh49ilmzZmHChAkoWrQoBg4cKHN0RERERERv8DkBGnT79m2ULl0aALBp0ya0aNECPXv2REBAAGrWrClvcERERERE/48tARpkamqKR48eAQB27dqFwMBAAG8eJPby5Us5QyMiIiIikrAlQIOCgoLQvXt3+Pn54e+//0bDhg0BABcuXICrq6u8wRERERER/T+2BGjQb7/9hqpVq+LBgwdYv349bGxsAACnTp1C27ZtZY6OiIiIiOgNtgRoUHJyMmbMmIEiRZRzq4iICNy+fVumqIiIiIiIlLElQIPc3Nzw8OFDlfLHjx/Dzc1NhoiIiIiIiFQxCdAgIUS25c+fP4ehoeEnjoaIiIiIKHvsDqQBgwYNAgAoFAqMGDECxsbG0rSMjAwcP34cvr6+MkVHRERERKSMSYAGnD59GsCbloBz585BX19fmqavr48KFSpg8ODBcoVHRERERKSESYAG7N+/HwDQpUsXTJ8+Hebm5jJHRERERESUMyYBGrRo0SK5QyAiIiIiei8mARqUkpKCX3/9FXv37kViYiIyMzOVpl+/fl2myIiIiIiI/sMkQIO6d++OqKgodOjQAQ4ODlAoFHKHRERERESkgkmABm3fvh1//fUXAgIC5A6FiIiIiChHfE6ABllZWcHa2lruMIiIiIiIcsUkQINGjx6NESNG4MWLF3KHQkRERESUI3YH0qDJkyfjn3/+gZ2dHVxdXaGnp6c0PTY2VqbIiIiIiIj+wyRAg5o2bSp3CERERERE78UkQIPCw8PlDoGIiIiI6L14T4CGPX36FAsWLMDQoUPx+PFjAG+6Ad29e1fmyIiIiIiI3mBLgAadPXsWgYGBsLCwwI0bN9CjRw9YW1tj48aNuHnzJpYuXSp3iEREREREbAnQpEGDBqFz5864evUqDA0NpfLg4GAcPHhQxsiIiIiIiP7DJECDYmJi8P3336uUOzk5ISEhQYaIiIiIiIhUMQnQIENDQyQnJ6uUX7lyBba2tjJERERERESkikmABjVp0gSjRo3C69evAQAKhQK3bt3CTz/9hObNm8scHRERERHRG0wCNGjSpEl48OABihUrhpcvX6JGjRooXbo0zMzMMHbsWLnDIyIiIiICwNGBNMrc3ByHDx/Gvn37EBsbi8zMTFSsWBGBgYFyh0ZEREREJGES8BHUrl0btWvXljsMIiIiIqJsMQnIpxkzZqBnz54wNDTEjBkzcq07YMCATxQVEREREVHOFEIIIXcQnzM3NzecPHkSNjY2cHNzy7GeQqHA9evXP2FkmpGcnAwLCwskJSXB3NxcszOPsNDs/Aq7iCS5IyAios/ERz1/U6HAloB8io+Pz/b/REREREQFFUcHIiIiIiLSMmwJyKdBgwapXXfKlCkfMRIiIiIiIvUwCcin06dPq1VPoVB85EiIiIiIiNTDJCCf9u/fL3cIRERERER5wnsCNCgpKQmPHz9WKX/8+DGSk5NliIiIiIiISBWTAA1q06YNVq9erVK+du1atGnTRoaIiIiIiIhUMQnQoOPHj6NWrVoq5TVr1sTx48dliIiIiIiISBWTAA1KS0tDenq6Svnr16/x8uVLGSIiIiIiIlLFJECDvvjiC8ybN0+lfO7cuahUqZIMERERERERqeLoQBo0duxYBAYG4syZM6hTpw4AYO/evYiJicGuXbtkjo6IiIiI6A22BGhQQEAAjh49CmdnZ6xduxZbtmxB6dKlcfbsWXz99ddyh0dEREREBIAtARrn6+uLFStWyB0GEREREVGO2BJARERERKRlmAQQEREREWkZJgFERERERFqGSQARERERkZZhEvARXLt2DTt37pQeECaEyPM8xo8fjy+++AJmZmYoVqwYmjZtiitXrijVEUIgIiICjo6OMDIyQs2aNXHhwgWlOmlpaejfvz+KFi0KExMTfPPNN7hz586HrxwRERERffaYBGjQo0ePEBgYCHd3dzRo0AD3798HAHTv3h2hoaF5mldUVBT69u2LY8eOYffu3UhPT0fdunWRkpIi1ZkwYQKmTJmCWbNmISYmBvb29ggKCsKzZ8+kOiEhIdi4cSNWr16Nw4cP4/nz52jUqBEyMjI0s9JERERE9NlhEqBBAwcOhK6uLm7dugVjY2OpvHXr1tixY0ee5rVjxw507twZ5cuXR4UKFbBo0SLcunULp06dAvCmFWDatGkYNmwYmjVrBi8vLyxZsgQvXrzAypUrAQBJSUn4/fffMXnyZAQGBsLPzw/Lly/HuXPnsGfPHs2tOBERERF9VpgEaNCuXbsQGRmJ4sWLK5WXKVMGN2/ezNe8k5KSAADW1tYAgPj4eCQkJKBu3bpSHQMDA9SoUQPR0dEAgFOnTuH169dKdRwdHeHl5SXVeVdaWhqSk5OV/oiIiIiocGESoEEpKSlKLQBZHj58CAMDgw+erxACgwYNwldffQUvLy8AQEJCAgDAzs5Oqa6dnZ00LSEhAfr6+rCyssqxzrvGjx8PCwsL6c/Z2fmD4yYiIiKigolJgAZVr14dS5culV4rFApkZmZi4sSJqFWr1gfPt1+/fjh79ixWrVqlMk2hUCi9FkKolL0rtzpDhw5FUlKS9Hf79u0PjpuIiIiICiZduQMoTCZOnIiaNWvi5MmTePXqFcLCwnDhwgU8fvwYR44c+aB59u/fH5s3b8bBgweVuhnZ29sDePNrv4ODg1SemJgotQ7Y29vj1atXePLkiVJrQGJiIqpVq5bt8gwMDPLVakFEVKBEWMgdwecjIknuCIjoE2JLgAaVK1cOZ8+eReXKlREUFISUlBQ0a9YMp0+fRqlSpfI0LyEE+vXrhw0bNmDfvn1wc3NTmu7m5gZ7e3vs3r1bKnv16hWioqKkC/xKlSpBT09Pqc79+/dx/vz5HJMAIiIiIir82BKgYfb29hg5cmS+59O3b1+sXLkSf/75J8zMzKQ+/BYWFjAyMoJCoUBISAjGjRuHMmXKoEyZMhg3bhyMjY3Rrl07qW63bt0QGhoKGxsbWFtbY/DgwfD29kZgYGC+YyQiIiKizxOTgHw6e/as2nV9fHzUrjtnzhwAQM2aNZXKFy1ahM6dOwMAwsLC8PLlS/Tp0wdPnjxBlSpVsGvXLpiZmUn1p06dCl1dXbRq1QovX75EnTp1sHjxYujo6KgdCxEREREVLgrxIY+zJUmRIkWgUChUbrbN2qxvl32OD+hKTk6GhYUFkpKSYG5urtmZs69u3rC/LlHe8TijPh5jCpWPev6mQoH3BORTfHw8rl+/jvj4eKxfvx5ubm6YPXs24uLiEBcXh9mzZ6NUqVJYv3693KESEREREQFgd6B8c3Fxkf7fsmVLzJgxAw0aNJDKfHx84OzsjOHDh6Np06YyREhEREREpIwtARp07tw5lVF8gDcj+Vy8eFGGiIiIiIiIVDEJ0CBPT0+MGTMGqampUllaWhrGjBkDT09PGSMjIiIiIvoPuwNp0Ny5c9G4cWM4OzujQoUKAIAzZ85AoVBg69atMkdHRERERPQGkwANqly5MuLj47F8+XJcvnwZQgi0bt0a7dq1g4mJidzhEREREREBYBKgccbGxujZs6fcYRARERER5Yj3BBARERERaRm2BBAREZFm8SFt6uND2kgmbAkgIiIiItIyTAKIiIiIiLQMkwANe/r0KRYsWIChQ4fi8ePHAIDY2FjcvXtX5siIiIiIiN7gPQEadPbsWQQGBsLCwgI3btxAjx49YG1tjY0bN+LmzZtYunSp3CESEREREbElQJMGDRqEzp074+rVqzA0NJTKg4ODcfDgQRkjIyIiIiL6D5MADYqJicH333+vUu7k5ISEhAQZIiIiIiIiUsUkQIMMDQ2RnJysUn7lyhXY2trKEBERERERkSomARrUpEkTjBo1Cq9fvwYAKBQK3Lp1Cz/99BOaN28uc3RERERERG8wCdCgSZMm4cGDByhWrBhevnyJGjVqoHTp0jAzM8PYsWPlDo+IiIiICABHB9Ioc3NzHD58GPv27UNsbCwyMzNRsWJFBAYGyh0aEREREZGESYCGpKenw9DQEHFxcahduzZq164td0hERERERNlidyAN0dXVhYuLCzIyMuQOhYiIiIgoV0wCNOiXX35RelIwEREREVFBxO5AGjRjxgxcu3YNjo6OcHFxgYmJidL02NhYmSIjIiIiIvoPkwANatq0qdwhEBERERG9F5MADQoPD5c7BCIiIiKi92IS8BGcPHkSly5dgkKhgKenJypVqiR3SEREREREEiYBGnTnzh20bdsWR44cgaWlJQDg6dOnqFatGlatWgVnZ2d5AyQiIiIiAkcH0qiuXbvi9evXuHTpEh4/fozHjx/j0qVLEEKgW7ducodHRERERASALQEadejQIURHR8PDw0Mq8/DwwMyZMxEQECBjZERERERE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JICIiIiISMswCSAiIiIi0jJMAoiIiIiItAyTACIiIiIiLcMkgIiIiIhIyzAJICIiIiLSMnxiMJG24UPa8oYPaSMiokKILQFERERERFqGLQEkG9fUlXKH8Fm5IXcAREREVGiwJYCIiIiISMswCSAiIiIi0jJMAoiIiIiItAyTACIiIiIiLcMkgIiIiIhIy3B0ICKiT4HPZ1Afn81ARPTRsSWAiIiIiEjLMAkgIiIiItIyTAKIiIiIiLQMkwAiIiIiIi3DJICIiIiISMswCSAiIiIi0jJMAoiIiIiItAyTACIiIiIiLcMkgIiIiIhIyzAJICIiIiLSMkwCiIiIiIi0DJMAIiIiIiItwySAiIiIiEjLMAkgIiIiItIyTAKIiIiIiLQMkwAiIiIiIi3DJICIiIiISMswCSAiIiIi0jJMAoiIiIiItAyTACIiIiIiLcMkgIiIiIhIy+jKHQARkTZwTV0pdwifjRtyB0BEpAXYEkBEREREpGWYBBARERERaRkmAUREREREWoZJABERERGRluGNwURahjeo5s0NuQMgIiL6CNgSQERERESkZZgEEBERERFpGSYBRERERERahkkAEREREZGWYRJARERERKRlmAQQEREREWkZJgFERERERFqGSQARERERkZZhEkBEREREpGWYBBARERERaRkmAUREREREWoZJABERERGRlmESQERERESkZZgEEBERERFpGSYBRERERERahkkAEREREZGWYRJARERERKRlmAQQEREREWkZJgFERERERFqGSYAWmD17Ntzc3GBoaIhKlSrh0KFDcodERERERDJiElDIrVmzBiEhIRg2bBhOnz6Nr7/+GsHBwbh165bcoRERERGRTJgEFHJTpkxBt27d0L17d3h6emLatGlwdnbGnDlz5A6NiIiIiGTCJKAQe/XqFU6dOoW6desqldetWxfR0dEyRUVEREREctOVOwD6eB4+fIiMjAzY2dkpldvZ2SEhISHb96SlpSEtLU16nZSUBABITk7WeHyZaS80Ps/CTFP7gNs9b7jdPz1NHm+43dXH7S6Pj3F+fXu+QoiPMn/6/DEJ0AIKhULptRBCpSzL+PHjMXLkSJVyZ2fnjxIbqc9imtwRaCdu90+P21we3O7y+Njb/dmzZ7CwsPi4C6HPEpOAQqxo0aLQ0dFR+dU/MTFRpXUgy9ChQzFo0CDp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",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"campaigns_effectiveness(customer_sport)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "5d08698b-e3ab-4038-ad26-990297520d43",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Evolution des Commandes"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 35,
|
||
"id": "93fd7b09-690d-490f-8a59-01be25da7445",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Index(['ticket_id', 'customer_id', 'purchase_id', 'event_type_id',\n",
|
||
" 'supplier_name', 'purchase_date', 'amount', 'is_full_price',\n",
|
||
" 'name_event_types', 'name_facilities', 'name_categories', 'name_events',\n",
|
||
" 'name_seasons', 'start_date_time', 'end_date_time', 'open'],\n",
|
||
" dtype='object')"
|
||
]
|
||
},
|
||
"execution_count": 35,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"products_sport.columns"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 41,
|
||
"id": "2f5e32e1-224f-4cc4-a5c3-c4d5857df83c",
|
||
"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_company</th>\n",
|
||
" <th>no_campaign_opened</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>5_160516</td>\n",
|
||
" <td>26</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>0 days 01:30:27</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>False</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>5_160517</td>\n",
|
||
" <td>73</td>\n",
|
||
" <td>49.0</td>\n",
|
||
" <td>2 days 01:30:16.909090909</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>False</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>5_160518</td>\n",
|
||
" <td>25</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaT</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>True</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>5_160519</td>\n",
|
||
" <td>46</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>0 days 09:31:47.250000</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>False</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>5_160520</td>\n",
|
||
" <td>35</td>\n",
|
||
" <td>9.0</td>\n",
|
||
" <td>1 days 14:34:51.571428571</td>\n",
|
||
" <td>5</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",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>463093</th>\n",
|
||
" <td>9_1720340</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaT</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>True</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>463094</th>\n",
|
||
" <td>9_1720352</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0 days 08:30:32</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>False</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>463095</th>\n",
|
||
" <td>9_1720353</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>NaT</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>True</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>463096</th>\n",
|
||
" <td>9_1720354</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0 days 00:00:05</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>False</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>463097</th>\n",
|
||
" <td>9_1720355</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0 days 00:19:39</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>False</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>463098 rows × 6 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" customer_id nb_campaigns nb_campaigns_opened \\\n",
|
||
"0 5_160516 26 2.0 \n",
|
||
"1 5_160517 73 49.0 \n",
|
||
"2 5_160518 25 0.0 \n",
|
||
"3 5_160519 46 5.0 \n",
|
||
"4 5_160520 35 9.0 \n",
|
||
"... ... ... ... \n",
|
||
"463093 9_1720340 1 0.0 \n",
|
||
"463094 9_1720352 1 1.0 \n",
|
||
"463095 9_1720353 1 0.0 \n",
|
||
"463096 9_1720354 1 1.0 \n",
|
||
"463097 9_1720355 1 1.0 \n",
|
||
"\n",
|
||
" time_to_open number_company no_campaign_opened \n",
|
||
"0 0 days 01:30:27 5 False \n",
|
||
"1 2 days 01:30:16.909090909 5 False \n",
|
||
"2 NaT 5 True \n",
|
||
"3 0 days 09:31:47.250000 5 False \n",
|
||
"4 1 days 14:34:51.571428571 5 False \n",
|
||
"... ... ... ... \n",
|
||
"463093 NaT 9 True \n",
|
||
"463094 0 days 08:30:32 9 False \n",
|
||
"463095 NaT 9 True \n",
|
||
"463096 0 days 00:00:05 9 False \n",
|
||
"463097 0 days 00:19:39 9 False \n",
|
||
"\n",
|
||
"[463098 rows x 6 columns]"
|
||
]
|
||
},
|
||
"execution_count": 41,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"campaigns_sport"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 53,
|
||
"id": "b917f58e-fb8c-485b-808c-a53c04745833",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def sale_dynamics(products_sport, campaigns_sport_brut):\n",
|
||
" # Mois du premier achat\n",
|
||
" purchase_min = products_sport.groupby(['customer_id'])['purchase_date'].min().reset_index()\n",
|
||
" purchase_min.rename(columns = {'purchase_date' : 'first_purchase_event'}, inplace = True)\n",
|
||
" purchase_min['first_purchase_event'] = pd.to_datetime(purchase_min['first_purchase_event'])\n",
|
||
" purchase_min['first_purchase_month'] = pd.to_datetime(purchase_min['first_purchase_event'].dt.strftime('%Y-%m'))\n",
|
||
"\n",
|
||
" # Mois du premier mails\n",
|
||
" first_mail_received = campaigns_sport_brut.groupby('customer_id')['sent_at'].min().reset_index()\n",
|
||
" first_mail_received.rename(columns = {'sent_at' : 'first_email_reception'}, inplace = True)\n",
|
||
" first_mail_received['first_email_reception'] = pd.to_datetime(first_mail_received['first_email_reception'])\n",
|
||
" first_mail_received['first_email_month'] = pd.to_datetime(first_mail_received['first_email_reception'].dt.strftime('%Y-%m'))\n",
|
||
"\n",
|
||
" # Fusion \n",
|
||
" known_customer = pd.merge(purchase_min[['customer_id', 'first_purchase_month']], \n",
|
||
" first_mail_received[['customer_id', 'first_email_month']], on = 'customer_id', how = 'outer')\n",
|
||
"\n",
|
||
" # Mois à partir duquel le client est considere comme connu\n",
|
||
"\n",
|
||
" known_customer['known_date'] = pd.to_datetime(known_customer[['first_email_month', 'first_purchase_month']].min(axis = 1), utc = True, format = 'ISO8601')\n",
|
||
"\n",
|
||
" # Nombre de commande par mois\n",
|
||
" purchases_count = pd.merge(products_sport[['customer_id', 'purchase_id', 'purchase_date']].drop_duplicates(), known_customer[['customer_id', 'known_date']], on = ['customer_id'], how = 'inner')\n",
|
||
" purchases_count['is_customer_known'] = purchases_count['purchase_date'] > purchases_count['known_date'] + pd.DateOffset(months=1)\n",
|
||
" purchases_count['purchase_date_month'] = pd.to_datetime(purchases_count['purchase_date'].dt.strftime('%Y-%m'))\n",
|
||
" purchases_count = purchases_count[purchases_count['customer_id'] != 1]\n",
|
||
" \n",
|
||
" # Nombre de commande par mois par type de client\n",
|
||
" nb_purchases_graph = purchases_count.groupby(['purchase_date_month', 'is_customer_known'])['purchase_id'].count().reset_index()\n",
|
||
" nb_purchases_graph.rename(columns = {'purchase_id' : 'nb_purchases'}, inplace = True)\n",
|
||
" \n",
|
||
" nb_purchases_graph_2 = purchases_count.groupby(['purchase_date_month', 'is_customer_known'])['customer_id'].nunique().reset_index()\n",
|
||
" nb_purchases_graph_2.rename(columns = {'customer_id' : 'nb_new_customer'}, inplace = True)\n",
|
||
"\n",
|
||
" # Graphique en nombre de commande\n",
|
||
" purchases_graph = nb_purchases_graph\n",
|
||
" \n",
|
||
" purchases_graph_used = purchases_graph[purchases_graph[\"purchase_date_month\"] >= datetime(2021,3,1)]\n",
|
||
" purchases_graph_used_0 = purchases_graph_used[purchases_graph_used[\"is_customer_known\"]==False]\n",
|
||
" purchases_graph_used_1 = purchases_graph_used[purchases_graph_used[\"is_customer_known\"]==True]\n",
|
||
" \n",
|
||
" \n",
|
||
" # Création du barplot\n",
|
||
" plt.bar(purchases_graph_used_0[\"purchase_date_month\"], purchases_graph_used_0[\"nb_purchases\"], width=12, label = \"Nouveau client\")\n",
|
||
" plt.bar(purchases_graph_used_0[\"purchase_date_month\"], purchases_graph_used_1[\"nb_purchases\"], \n",
|
||
" bottom = purchases_graph_used_0[\"nb_purchases\"], width=12, label = \"Ancien client\")\n",
|
||
" \n",
|
||
" \n",
|
||
" # commande pr afficher slt\n",
|
||
" plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%b%y'))\n",
|
||
" \n",
|
||
" \n",
|
||
" # Ajout de titres et d'étiquettes\n",
|
||
" plt.xlabel('Mois')\n",
|
||
" plt.ylabel(\"Nombre d'achats\")\n",
|
||
" plt.title(\"Nombre d'achats - Sport\")\n",
|
||
" plt.legend()\n",
|
||
" \n",
|
||
" # Affichage du barplot\n",
|
||
" plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 54,
|
||
"id": "7f0275ec-5cc5-436c-8d50-5263fd8a6945",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAHFCAYAAADv8c1wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABc3ElEQVR4nO3deVhVVfs38O+RGYQj86AgpEIq4IClSCbKpCFqWqYYjmmJSpY8lpmP1OOQs6Zlag6UA1YO5RBiKhriiKKiZGY4JYgJgiKTsN4//LFfDyBu8OA54PdzXefKs/Z99r7XYRu3a6+9tkIIIUBEREREVWqg6QSIiIiI6gIWTUREREQysGgiIiIikoFFExEREZEMLJqIiIiIZGDRRERERCQDiyYiIiIiGVg0EREREcnAoomIiIhIBhZNRFpq7dq1UCgUMDQ0xJUrVyps9/X1hbu7uwYyA4YNG4aGDRtq5NhPolAoEBUVJb0v+x5rS1RUFBQKBf7991+17XPDhg1YtGiR2vZXXUIIxMTEoEuXLrCxsYGhoSGaNGmCoKAgfPvttxrLKzExEVFRUbhz547GcqDnG4smIi1XWFiITz/9VNNp0DOk6aJp8uTJGDRoEFq2bIlvv/0Wv/76K6ZPnw5bW1v8/PPPGssrMTERn332GYsm0hhdTSdARFXr0aMHNmzYgMjISLRp00bT6Tw1IQQKCgpgZGSk6VSoEvn5+Vi0aBGGDBmCFStWqGwbNmwYSktLNZKToaHhMz8uUXkcaSLScpMmTYKlpSU++uijJ8YWFBRg8uTJcHFxgb6+Pho3boyxY8dW+Je5s7MzevXqhR07dqBdu3YwMjJCy5YtsWPHDgAPL2m1bNkSJiYmePnll3HixIlKj3fu3Dn4+fnBxMQE1tbWGDduHO7fv68So1AoMG7cOHzzzTdo2bIlDAwMEB0dDQC4ePEiQkNDYWNjAwMDA7Rs2RJfffWVrO8lNzcXo0aNgqWlJRo2bIgePXrgzz//lPXZTZs2ITAwEPb29lLfP/74Y+Tl5VWIPXr0KEJCQmBpaQlDQ0M0a9YMEyZMqBB38+ZNDBo0CEqlEra2thgxYgRycnJUYr766iu8+uqrsLGxgYmJCTw8PDBnzhwUFxdLMb6+vti5cyeuXLkChUIhvcosW7YMbdq0QcOGDWFqaooXX3wRn3zyiax+y5GXl4fCwkLY29tXur1Bg///a+Py5ctQKBSYM2cOZsyYAScnJxgaGqJDhw7Yu3dvhc8mJCTAz88PpqamMDY2RufOnbFz506VmLLLqXFxcRgxYgSsra1hbGyMyZMn4z//+Q8AwMXFRfpe4uPj1dZ3oicSRKSV1qxZIwCI48ePi8WLFwsAYu/evdL2rl27itatW0vvS0tLRVBQkNDV1RVTp04VcXFxYt68ecLExES0a9dOFBQUSLFNmzYVTZo0Ee7u7mLjxo1i165domPHjkJPT0/897//FT4+PmLLli1i69atwtXVVdja2or79+9Lnx86dKjQ19cXTk5OYsaMGSIuLk5ERUUJXV1d0atXL5V+ABCNGzcWnp6eYsOGDWLfvn0iJSVFnDt3TiiVSuHh4SG+++47ERcXJyZOnCgaNGggoqKiqvxuSktLRbdu3YSBgYF0/GnTpokXXnhBABDTpk2r8vP/+9//xMKFC8XOnTtFfHy8+Oabb4SLi4vo1q2bSlxsbKzQ09MTnp6eYu3atWLfvn1i9erVYuDAgVLMtGnTBADh5uYm/vvf/4o9e/aIBQsWCAMDAzF8+HCV/X3wwQdi2bJlIjY2Vuzbt08sXLhQWFlZqcSdO3dO+Pj4CDs7O3H48GHpJYQQGzduFADE+PHjRVxcnPjtt9/EN998IyIiIqrsb3U1b95cmJqaivnz54vU1FRRWlpaaVxaWpoAIBwdHcUrr7wiNm/eLH788Ufx0ksvCT09PZGYmCjFxsfHCz09PeHl5SU2bdoktm3bJgIDA4VCoRAxMTFSXNl537hxYzF69Gjx66+/ip9++klcvnxZjB8/XgAQW7Zskb6XnJwctfadqCosmoi01KNFU2FhoXjhhRdEhw4dpF9g5Yum2NhYAUDMmTNHZT+bNm0SAMSKFSuktqZNmwojIyNx/fp1qS05OVkAEPb29iIvL09q37ZtmwAgfvnlF6lt6NChAoBYvHixyrFmzJghAIiEhASpDYBQKpUiKytLJTYoKEg0adKkwi+9cePGCUNDwwrxj/r111+rPP6TiqZHlZaWiuLiYnHgwAEBQJw+fVra1qxZM9GsWTORn5//2M+XFU3lv/fw8HBhaGj42IKjpKREFBcXi++++07o6Oio9Dc4OFg0bdq0wmfGjRsnGjVqJLtvNXXs2DHh5OQkAAgAwtTUVPTq1Ut89913Kv0pK5ocHBxUvqPc3FxhYWEh/P39pbZOnToJGxsbcffuXantwYMHwt3dXTRp0kTab9l5P2TIkAp5zZ07VwAQaWlptdBroifj5TmiOkBfXx/Tp0/HiRMn8MMPP1Qas2/fPgAP55086s0334SJiUmFyyVt27ZF48aNpfctW7YE8PDykLGxcYX2yu7gGzx4sMr70NBQAMD+/ftV2rt37w5zc3PpfUFBAfbu3YvXX38dxsbGePDggfR67bXXUFBQgCNHjlTaz0f3/7jjP8nff/+N0NBQ2NnZQUdHB3p6eujatSsAIDU1FQDw559/4tKlSxg5cqSs+TS9e/dWee/p6YmCggJkZmZKbadOnULv3r1haWkpHXfIkCEoKSmRdWnx5Zdfxp07dzBo0CD8/PPPsu/YKykpUfmOnzQv6aWXXsJff/2F2NhYfPLJJ/D29sbevXsxZMgQ9O7dG0IIlfh+/fqpfEempqYICQnBwYMHUVJSgry8PBw9ehRvvPGGyl2XOjo6CAsLw/Xr13HhwgWVffbv319W34ieJRZNRHXEwIED0b59e0yZMkVlDkyZ27dvQ1dXF9bW1irtCoUCdnZ2uH37tkq7hYWFynt9ff0q2wsKClTadXV1YWlpqdJmZ2cn5fKo8vNjbt++jQcPHmDJkiXQ09NTeb322msAUGVBUNbXxx2/Kvfu3UOXLl1w9OhRTJ8+HfHx8Th+/Di2bNkC4OGkYwC4desWAKBJkyZP3CeACrkYGBio7O/q1avo0qUL/vnnHyxevBi///47jh8/Ls3hKourSlhYGFavXo0rV66gf//+sLGxQceOHbFnz54qP+fn56fyHY8YMeKJx9LT00NQUBBmzJiB3bt349q1a/D19cWOHTvw66+/qsRW9r3b2dmhqKgI9+7dQ3Z2NoQQlc6TcnBwAPDkc4ZIG/DuOaI6QqFQYPbs2QgICKhwVxPw8Jf2gwcPcOvWLZXCSQiBjIwMvPTSS2rN58GDB7h9+7ZKsZCRkSHlUj73R5mbm0ujDGPHjq10/y4uLo89dllfH3f8quzbtw83btxAfHy8NLoEoMJk+bLv8Pr160/cpxzbtm1DXl4etmzZgqZNm0rtycnJ1drP8OHDMXz4cOTl5eHgwYOYNm0aevXqhT///FNlv49avnw57t69K723srKqdv6WlpaYMGEC4uPjkZKSIhW3QOXfe0ZGBvT19dGwYUPo6uqiQYMGSE9PrxB348aNSnOqzbW1iGqKI01EdYi/vz8CAgLw+eef4969eyrb/Pz8AADr1q1Tad+8eTPy8vKk7eq0fv16lfcbNmwA8PASX1WMjY3RrVs3nDp1Cp6enujQoUOFV/nC61HdunWr8vhVKftlXDYSVGb58uUq711dXdGsWTOsXr0ahYWFT9xvTY4rhMDKlSsrxBoYGDxx5MnExAQ9e/bElClTUFRUhHPnzj021s3NTeW7dXZ2fmxscXFxhVGfMmWXLstGh8ps2bJFZSTy7t272L59O7p06QIdHR2YmJigY8eO2LJli0q/SktLsW7dOjRp0gSurq5V9heoOHpH9KxxpImojpk9eza8vLyQmZmJ1q1bS+0BAQEICgrCRx99hNzcXPj4+ODMmTOYNm0a2rVrh7CwMLXmoa+vj/nz5+PevXt46aWXkJiYiOnTp6Nnz5545ZVXnvj5xYsX45VXXkGXLl0wZswYODs74+7du/jrr7+wfft2aY5WZQIDA/Hqq69i0qRJyMvLQ4cOHXDo0CF8//33Tzxu586dYW5ujvfeew/Tpk2Dnp4e1q9fj9OnT1eI/eqrrxASEoJOnTrhgw8+gJOTE65evYrdu3dXKNieJCAgAPr6+hg0aBAmTZqEgoICLFu2DNnZ2RViPTw8sGXLFixbtgxeXl5o0KABOnTogFGjRsHIyAg+Pj6wt7dHRkYGZs2aBaVSqbaRxJycHDg7O+PNN9+Ev78/HB0dce/ePcTHx2Px4sVo2bIl+vXrp/IZHR0dBAQE4MMPP0RpaSlmz56N3NxcfPbZZ1LMrFmzEBAQgG7duiEyMhL6+vr4+uuvkZKSgo0bN8oaWfLw8ADw8NwZOnQo9PT04ObmBlNTU7X0neiJNDsPnYge59G758oLDQ0VAFTunhNCiPz8fPHRRx+Jpk2bCj09PWFvby/GjBkjsrOzVeKaNm0qgoODK+wXgBg7dqxKW9kdUnPnzpXahg4dKkxMTMSZM2eEr6+vMDIyEhYWFmLMmDHi3r17T9zno/seMWKEaNy4sdDT0xPW1taic+fOYvr06VV+N0IIcefOHTFixAjRqFEjYWxsLAICAsQff/wh6+65xMRE4e3tLYyNjYW1tbV45513xMmTJwUAsWbNGpXYw4cPi549ewqlUikMDAxEs2bNxAcffCBtL7t77tatWyqfK/v5PXqn1/bt20WbNm2EoaGhaNy4sfjPf/4j3Qm4f/9+KS4rK0u88cYbolGjRkKhUIiy/1VHR0eLbt26CVtbW6Gvry8cHBzEgAEDxJkzZ574fclVWFgo5s2bJ3r27CmcnJyEgYGBMDQ0FC1bthSTJk0St2/flmLLzo3Zs2eLzz77TDRp0kTo6+uLdu3aid27d1fY9++//y66d+8uTExMhJGRkejUqZPYvn17pd9bZee9EEJMnjxZODg4iAYNGlT43ohqm0KIcrdBEBERyXD58mW4uLhg7ty5iIyM1HQ6RLWOc5qIiIiIZGDRRERERCQDL88RERERycCRJiIiIiIZWDQRERERycCiiYiIiEgGLm6pRqWlpbhx4wZMTU35CAAiIqI6QgiBu3fvwsHBAQ0aPH48iUWTGt24cQOOjo6aToOIiIhq4Nq1a1U+pJtFkxqVLeV/7do1mJmZaTgbIiIikiM3NxeOjo5PfCQPiyY1KrskZ2ZmxqKJiIiojnnS1BpOBCciIiKSgUUTERERkQwsmoiIiIhk4JwmIiLSCiUlJSguLtZ0GlQP6enpQUdH56n3w6KJiIg0SgiBjIwM3LlzR9OpUD3WqFEj2NnZPdU6iiyaiIhIo8oKJhsbGxgbG3NxYFIrIQTu37+PzMxMAIC9vX2N98WiiYiINKakpEQqmCwtLTWdDtVTRkZGAIDMzEzY2NjU+FIdJ4ITEZHGlM1hMjY21nAmVN+VnWNPM2+ORRMREWkcL8lRbVPHOcaiiYiIiEgGFk1ERERUaxQKBbZt2wYAuHz5MhQKBZKTkzWaU01xIjgREWkl5493PtPjXf4iuFrxw4YNQ3R0NGbNmoWPP/5Yat+2bRtef/11CCHUnWKd5+joiPT0dFhZWal1vwqFAlu3bkXfvn3Vut/yONJERERUQ4aGhpg9ezays7M1nUqdoKOjAzs7O+jq1s0xGxZNRERENeTv7w87OzvMmjWryrjNmzejdevWMDAwgLOzM+bPn6+y/dFLWGUaNWqEtWvXAgC8vb1VRrMA4NatW9DT08P+/fsBAEVFRZg0aRIaN24MExMTdOzYEfHx8VL87du3MWjQIDRp0gTGxsbw8PDAxo0bVfbp7OyMRYsWqbS1bdsWUVFRVfZv9erVUv/s7e0xbty4SuMquzx3/vx5vPbaa2jYsCFsbW0RFhaGf//9V9ru6+uLiIgITJo0CRYWFrCzs1PJx9nZGQDw+uuvQ6FQSO9rA4smIiKiGtLR0cHMmTOxZMkSXL9+vdKYpKQkDBgwAAMHDsTZs2cRFRWFqVOnSgWRHIMHD8bGjRtVLvlt2rQJtra26Nq1KwBg+PDhOHToEGJiYnDmzBm8+eab6NGjBy5evAgAKCgogJeXF3bs2IGUlBSMHj0aYWFhOHr0aM2/AADLli3D2LFjMXr0aJw9exa//PILmjdvLuuz6enp6Nq1K9q2bYsTJ04gNjYWN2/exIABA1TioqOjYWJigqNHj2LOnDn4/PPPsWfPHgDA8ePHAQBr1qxBenq69L421M3xMaIyUcrHtOc82zyI6Ln1+uuvo23btpg2bRpWrVpVYfuCBQvg5+eHqVOnAgBcXV1x/vx5zJ07F8OGDZN1jLfeegsffPABEhIS0KVLFwDAhg0bEBoaigYNGuDSpUvYuHEjrl+/DgcHBwBAZGQkYmNjsWbNGsycORONGzdGZGSktM/x48cjNjYWP/74Izp27Fjj/k+fPh0TJ07E+++/L7W99NJLsj67bNkytG/fHjNnzpTaVq9eDUdHR/z5559wdXUFAHh6emLatGkAgBYtWmDp0qXYu3cvAgICYG1tDeD/PyalNnGkiYiI6CnNnj0b0dHROH/+fIVtqamp8PHxUWnz8fHBxYsXUVJSImv/1tbWCAgIwPr16wEAaWlpOHz4MAYPHgwAOHnyJIQQcHV1RcOGDaXXgQMHcOnSJQAPV1+fMWMGPD09YWlpiYYNGyIuLg5Xr16tcb8zMzNx48YN+Pn51ejzSUlJ2L9/v0rOL774IgBIeQMPi6ZH2dvbS49FeZY40kRERPSUXn31VQQFBeGTTz6pMHokhKiwsGL5O+sUCkWFtvIrVw8ePBjvv/8+lixZgg0bNqB169Zo06YNAKC0tBQ6OjpISkqq8IiQhg0bAgDmz5+PhQsXYtGiRfDw8ICJiQkmTJiAoqIiKbZBgwZPzONRZY8nqanS0lKEhIRg9uzZFbY9+ow4PT09lW0KhQKlpaVPdeyaYNFERESkBl988QXatm0rXVIq06pVKyQkJKi0JSYmwtXVVSpwrK2tkZ6eLm2/ePEi7t+/r/KZvn374t1330VsbCw2bNiAsLAwaVu7du1QUlKCzMxM6fJdeb///jv69OmDt99+G8DDguXixYto2bKlFFM+j9zcXKSlpT22z6ampnB2dsbevXvRrVu3x8Y9Tvv27bF582Y4Ozs/1R11enp6skftngYvzxEREamBh4cHBg8ejCVLlqi0T5w4EXv37sX//vc//Pnnn4iOjsbSpUtV5hd1794dS5cuxcmTJ3HixAm89957FUZXTExM0KdPH0ydOhWpqakIDQ2Vtrm6umLw4MEYMmQItmzZgrS0NBw/fhyzZ8/Grl27AADNmzfHnj17kJiYiNTUVLz77rvIyMhQOUb37t3x/fff4/fff0dKSgqGDh36xIfbRkVFYf78+fjyyy9x8eJFnDx5ssJ38Dhjx45FVlYWBg0ahGPHjuHvv/9GXFwcRowYUa0iqKxwy8jIqNXlHzReNP3zzz94++23YWlpCWNjY7Rt2xZJSUnSdiEEoqKi4ODgACMjI/j6+uLcuXMq+ygsLMT48eNhZWUFExMT9O7du8JdDNnZ2QgLC4NSqYRSqURYWBju3LmjEnP16lWEhITAxMQEVlZWiIiIUBm2JCIiqsr//ve/Cpe32rdvjx9++AExMTFwd3fHf//7X3z++ecql/Hmz58PR0dHvPrqqwgNDUVkZGSlDzEePHgwTp8+jS5dusDJyUll25o1azBkyBBMnDgRbm5u6N27N44ePQpHR0cAwNSpU9G+fXsEBQXB19cXdnZ2FRaDnDx5Ml599VX06tULr732Gvr27YtmzZpV2eehQ4di0aJF+Prrr9G6dWv06tVLumPvSRwcHHDo0CGUlJQgKCgI7u7ueP/996FUKtGggfwSZf78+dizZw8cHR3Rrl072Z+rLoXQ4JKl2dnZaNeuHbp164YxY8bAxsYGly5dgrOzs/RDmj17NmbMmIG1a9fC1dUV06dPx8GDB3HhwgWYmpoCAMaMGYPt27dj7dq1sLS0xMSJE5GVlaVybbdnz564fv06VqxYAQAYPXo0nJ2dsX37dgAPJ8i1bdsW1tbWmD9/Pm7fvo2hQ4eiX79+sivm3NxcKJVK5OTkwMzMTN1fF1WGd88R1WkFBQVIS0uDi4sLDA0NNZ0O1WNVnWuyf38LDfroo4/EK6+88tjtpaWlws7OTnzxxRdSW0FBgVAqleKbb74RQghx584doaenJ2JiYqSYf/75RzRo0EDExsYKIYQ4f/68ACCOHDkixRw+fFgAEH/88YcQQohdu3aJBg0aiH/++UeK2bhxozAwMBA5OTmy+pOTkyMAyI4nNZhmVvmLiOqE/Px8cf78eZGfn6/pVKieq+pck/v7W6OX53755Rd06NABb775JmxsbNCuXTusXLlS2p6WloaMjAwEBgZKbQYGBujatSsSExMBPLxdsbi4WCXGwcEB7u7uUszhw4ehVCpV1qHo1KkTlEqlSoy7u7u0vgUABAUFobCwUOVyIRERET2fNFo0/f3331i2bBlatGiB3bt347333kNERAS+++47AJAmqNna2qp8ztbWVtqWkZEBfX19mJubVxljY2NT4fg2NjYqMeWPY25uDn19/QoT5coUFhYiNzdX5UVERET1k0aXHCgtLUWHDh2klUDbtWuHc+fOYdmyZRgyZIgUV9n6FuXbyisfU1l8TWIeNWvWLHz22WdV5kFERET1g0ZHmuzt7dGqVSuVtpYtW0qrk5Yth15+pCczM1MaFbKzs0NRUVGFWwzLx9y8ebPC8W/duqUSU/442dnZKC4urjACVWby5MnIycmRXteuXZPVbyIiIqp7NFo0+fj44MKFCyptf/75J5o2bQoAcHFxgZ2dnfRQPuDhU5wPHDiAzp07AwC8vLygp6enEpOeno6UlBQpxtvbGzk5OTh27JgUc/ToUeTk5KjEpKSkqCzqFRcXBwMDA3h5eVWav4GBAczMzFReREREVD9p9PLcBx98gM6dO2PmzJkYMGAAjh07hhUrVkjLAigUCkyYMAEzZ85EixYt0KJFC8ycORPGxsbSol5KpRIjR47ExIkTYWlpCQsLC0RGRsLDwwP+/v4AHo5e9ejRA6NGjcLy5csBPFxyoFevXnBzcwMABAYGolWrVggLC8PcuXORlZWFyMhIjBo1isUQERERabZoeumll7B161ZMnjwZn3/+OVxcXLBo0SLpAYQAMGnSJOTn5yM8PBzZ2dno2LEj4uLipDWaAGDhwoXQ1dXFgAEDkJ+fDz8/P6xdu1ZlFdP169cjIiJCusuud+/eWLp0qbRdR0cHO3fuRHh4OHx8fGBkZITQ0FDMmzfvGXwTREREpO00urhlfcPFLTWAi1sS1Wlc3JKeFXUsbqnxx6gQAXhY/JR/ERERnJ2dsWjRIo3m4OvriwkTJkjvtSEnTdDo5TkiIqLHetb/eKrhCHViYiK6dOmCgIAAxMbGqjkp4Pjx4zAxMVH7fp9GbeTk6+uLtm3banUxxpEmIiKip7B69WqMHz8eCQkJ0pI56mRtbV3pw3s1SRtzehZYNBEREdVQXl4efvjhB4wZMwa9evXC2rVrVbbHx8dDoVBg79696NChA4yNjdG5c+cKy+2UPVbM0NAQVlZW6Nevn7St/KWwnJwcjB49GjY2NjAzM0P37t1x+vRpaXtUVBTatm2L77//Hs7OzlAqlRg4cCDu3r1bZV8OHTqErl27wtjYGObm5ggKCqqwBmJt5TRs2DAcOHAAixcvhkKhgEKhwOXLl6vMVxNYNBEREdXQpk2b4ObmBjc3N7z99ttYs2YNKru/asqUKZg/fz5OnDgBXV1djBgxQtq2c+dO9OvXD8HBwTh16pRUYFVGCIHg4GBkZGRg165dSEpKQvv27eHn54esrCwp7tKlS9i2bRt27NiBHTt24MCBA/jiiy8e24/k5GT4+fmhdevWOHz4MBISEhASEoKSkpInfgfqyGnx4sXw9vbGqFGjkJ6ejvT0dDg6Oj7x2M8a5zQRERHV0KpVq/D2228DAHr06IF79+5h79690jqBZWbMmIGuXbsCAD7++GMEBwejoKAAhoaGmDFjBgYOHKjyWK42bdpUerz9+/fj7NmzyMzMhIGBAQBg3rx52LZtG3766SeMHj0awMPHlK1du1ZanicsLAx79+7FjBkzKt3vnDlz0KFDB3z99ddSW+vWrWV9B+rISalUQl9fH8bGxtLTQLQRR5qIiIhq4MKFCzh27BgGDhwIANDV1cVbb72F1atXV4j19PSU/mxvbw/g4eO+gP8/yiNHUlIS7t27B0tLSzRs2FB6paWl4dKlS1Kcs7OzynqG9vb20vEqU50cnlVO2ogjTURERDWwatUqPHjwAI0bN5bahBDQ09NDdnY2zM3NpXY9PT3pz2UPgS8tLQUAGBkZyT5maWkp7O3tER8fX2Fbo0aNKj1e2THLjleZ6uTwrHLSRiyaiIiIqunBgwf47rvvMH/+fOlJE2X69++P9evXY9y4cbL25enpib1792L48OFPjG3fvj0yMjKgq6sLZ2fnmqReZQ6PXiKUS1056evry5pDpUm8PEdERFRNO3bsQHZ2NkaOHAl3d3eV1xtvvIFVq1bJ3te0adOwceNGTJs2DampqTh79izmzJlTaay/vz+8vb3Rt29f7N69G5cvX0ZiYiI+/fRTnDhxosb9mTx5Mo4fP47w8HCcOXMGf/zxB5YtW4Z///33iZ9VV07Ozs44evQoLl++jH///VcrR6FYNBEREVXTqlWr4O/vD6Wy4gKc/fv3R3JyMk6ePClrX76+vvjxxx/xyy+/oG3btujevTuOHj1aaaxCocCuXbvw6quvYsSIEXB1dcXAgQNx+fJl2Nra1rg/rq6uiIuLw+nTp/Hyyy/D29sbP//8M3R1n3xBSl05RUZGQkdHB61atYK1tXWtrHn1tPjsOTXis+eeQmUr/8pZnZfPniOq0/jsOXpW+Ow5IiIiomeERRMRERGRDCyaiIiIiGRg0UREREQkA4smIiLSON6TRLVNHecYiyYiItKYslWi79+/r+FMqL4rO8fKr0xeHVwRnIiINEZHRweNGjWSnkFmbGwsPWaESB2EELh//z4yMzPRqFEj6Ojo1HhfLJqIiEijyp5qX9ce3kp1S6NGjaRzraZYNBERkUYpFArY29vDxsYGxcXFmk6H6iE9Pb2nGmEqw6KJiIi0go6Ojlp+sRHVFk4EJyIiIpKBRRMRERGRDCyaiIiIiGRg0UREREQkA4smIiIiIhlYNBERERHJwKKJiIiISAYWTUREREQysGgiIiIikoFFExEREZEMLJqIiIiIZGDRRERERCQDiyYiIiIiGVg0EREREcnAoomIiIhIBhZNRERERDKwaCIiIiKSgUUTERERkQwsmoiIiIhkYNFEREREJAOLJiIiIiIZWDQRERERycCiiYiIiEgGFk1EREREMmi0aIqKioJCoVB52dnZSduFEIiKioKDgwOMjIzg6+uLc+fOqeyjsLAQ48ePh5WVFUxMTNC7d29cv35dJSY7OxthYWFQKpVQKpUICwvDnTt3VGKuXr2KkJAQmJiYwMrKChERESgqKqq1vhMREVHdovGRptatWyM9PV16nT17Vto2Z84cLFiwAEuXLsXx48dhZ2eHgIAA3L17V4qZMGECtm7dipiYGCQkJODevXvo1asXSkpKpJjQ0FAkJycjNjYWsbGxSE5ORlhYmLS9pKQEwcHByMvLQ0JCAmJiYrB582ZMnDjx2XwJREREpPV0NZ6Arq7K6FIZIQQWLVqEKVOmoF+/fgCA6Oho2NraYsOGDXj33XeRk5ODVatW4fvvv4e/vz8AYN26dXB0dMRvv/2GoKAgpKamIjY2FkeOHEHHjh0BACtXroS3tzcuXLgANzc3xMXF4fz587h27RocHBwAAPPnz8ewYcMwY8YMmJmZPaNvg4iIiLSVxkeaLl68CAcHB7i4uGDgwIH4+++/AQBpaWnIyMhAYGCgFGtgYICuXbsiMTERAJCUlITi4mKVGAcHB7i7u0sxhw8fhlKplAomAOjUqROUSqVKjLu7u1QwAUBQUBAKCwuRlJRUe50nIiKiOkOjI00dO3bEd999B1dXV9y8eRPTp09H586dce7cOWRkZAAAbG1tVT5ja2uLK1euAAAyMjKgr68Pc3PzCjFln8/IyICNjU2FY9vY2KjElD+Oubk59PX1pZjKFBYWorCwUHqfm5srt+tERERUx2i0aOrZs6f0Zw8PD3h7e6NZs2aIjo5Gp06dAAAKhULlM0KICm3llY+pLL4mMeXNmjULn332WZW5EBERUf2g8ctzjzIxMYGHhwcuXrwozXMqP9KTmZkpjQrZ2dmhqKgI2dnZVcbcvHmzwrFu3bqlElP+ONnZ2SguLq4wAvWoyZMnIycnR3pdu3atmj0mIiKiukKriqbCwkKkpqbC3t4eLi4usLOzw549e6TtRUVFOHDgADp37gwA8PLygp6enkpMeno6UlJSpBhvb2/k5OTg2LFjUszRo0eRk5OjEpOSkoL09HQpJi4uDgYGBvDy8npsvgYGBjAzM1N5ERERUf2k0ctzkZGRCAkJgZOTEzIzMzF9+nTk5uZi6NChUCgUmDBhAmbOnIkWLVqgRYsWmDlzJoyNjREaGgoAUCqVGDlyJCZOnAhLS0tYWFggMjISHh4e0t10LVu2RI8ePTBq1CgsX74cADB69Gj06tULbm5uAIDAwEC0atUKYWFhmDt3LrKyshAZGYlRo0axECIiIiIAGi6arl+/jkGDBuHff/+FtbU1OnXqhCNHjqBp06YAgEmTJiE/Px/h4eHIzs5Gx44dERcXB1NTU2kfCxcuhK6uLgYMGID8/Hz4+flh7dq10NHRkWLWr1+PiIgI6S673r17Y+nSpdJ2HR0d7Ny5E+Hh4fDx8YGRkRFCQ0Mxb968Z/RNEBERkbZTCCGEppOoL3Jzc6FUKpGTk8MRquqKUlbSllOzz8n9LBEREeT//taqOU1ERERE2opFExEREZEMLJqIiIiIZGDRRERERCQDiyYiIiIiGVg0EREREcnAoomIiIhIBhZNRERERDKwaCIiIiKSgUUTERERkQwsmoiIiIhkYNFEREREJAOLJiIiIiIZWDQRERERycCiiYiIiEgGFk1EREREMrBoIiIiIpJBV9MJEFEdF6WspC3n2edBRFTLONJEREREJAOLJiIiIiIZWDQRERERycCiiYiIiEgGFk1EREREMrBoIiIiIpKBRRMRERGRDCyaiIiIiGRg0UREREQkA4smIiIiIhlYNBERERHJwKKJiIiISAYWTUREREQysGgiIiIikoFFExEREZEMLJqIiIiIZGDRRERERCQDiyYiIiIiGapdNEVHR2Pnzp3S+0mTJqFRo0bo3Lkzrly5otbkiIiIiLRFtYummTNnwsjICABw+PBhLF26FHPmzIGVlRU++OADtSdIREREpA10q/uBa9euoXnz5gCAbdu24Y033sDo0aPh4+MDX19fdedHREREpBWqPdLUsGFD3L59GwAQFxcHf39/AIChoSHy8/PVmx0RERGRlqj2SFNAQADeeecdtGvXDn/++SeCg4MBAOfOnYOzs7O68yMiIqLyopSPac95tnk8Z6o90vTVV1/B29sbt27dwubNm2FpaQkASEpKwqBBg9SeIBEREZE2qPZIU25uLr788ks0aKBab0VFReHatWtqS4yIiIhIm1R7pMnFxQX//vtvhfasrCy4uLioJSkiIiIibVPtokkIUWn7vXv3YGho+NQJEREREWkj2ZfnPvzwQwCAQqHAf//7XxgbG0vbSkpKcPToUbRt21btCRIRERFpA9kjTadOncKpU6cghMDZs2el96dOncIff/yBNm3aYO3atTVOZNasWVAoFJgwYYLUJoRAVFQUHBwcYGRkBF9fX5w7d07lc4WFhRg/fjysrKxgYmKC3r174/r16yox2dnZCAsLg1KphFKpRFhYGO7cuaMSc/XqVYSEhMDExARWVlaIiIhAUVFRjftDRERE9Yvskab9+/cDAIYPH47FixfDzMxMbUkcP34cK1asgKenp0r7nDlzsGDBAqxduxaurq6YPn06AgICcOHCBZiamgIAJkyYgO3btyMmJgaWlpaYOHEievXqhaSkJOjo6AAAQkNDcf36dcTGxgIARo8ejbCwMGzfvh3Aw5Gy4OBgWFtbIyEhAbdv38bQoUMhhMCSJUvU1k8iIiKqu6o9p2nNmjVqLZju3buHwYMHY+XKlTA3N5fahRBYtGgRpkyZgn79+sHd3R3R0dG4f/8+NmzYAADIycnBqlWrMH/+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AgAAkyZNQn5+PsLDw5GdnY2OHTsiLi4Opqam0j4WLlwIXV1dDBgwAPn5+fDz88PatWuho6Mjxaxfvx4RERHSXXa9e/fG0qVLpe06OjrYuXMnwsPD4ePjAyMjI4SGhmLevHlq6ysRERHVbdUumsqcOHECqampUCgUaNmyZZWXsR5n1apVVW5XKBSIiopCVFTUY2MMDQ2xZMkSLFmy5LExFhYWWLduXZXHcnJywo4dO6qMISIioudXtYum69evY9CgQTh06BAaNWoEALhz5w46d+6MjRs38g4yIiIiqpeqPRF8xIgRKC4uRmpqKrKyspCVlYXU1FQIITBy5MjayJGIiIhI46o90vT7778jMTFRmkQNPFxracmSJfDx8VFrckRERETaotojTU5OTtLDeh/14MEDNG7cWC1JEREREWmbahdNc+bMwfjx43HixAkIIQA8nBT+/vvv824zIiIiqrdkXZ4zNzdXeZxIXl4eOnbsCF3dhx9/8OABdHV1MWLECLWu40RERESkLWQVTYsWLarlNIiIiIi0m6yiaejQobWdBxFR7eJqzUT0lGq8uGVmZiYyMzNRWlqq0u7p6fnUSRERERFpm2oXTUlJSRg6dKi0NtOjFAoFSkpK1JYcERERkbaodtE0fPhwuLq6YtWqVbC1tVWZIE5ERERUX1W7aEpLS8OWLVvQvHnz2siHiIiISCtVe50mPz8/nD59ujZyISIiItJa1R5p+vbbbzF06FCkpKTA3d0denp6Ktt79+6ttuSIiIiItEW1i6bExEQkJCTg119/rbCNE8GJiIiovqr25bmIiAiEhYUhPT0dpaWlKi8WTERERFRfVbtoun37Nj744APY2trWRj5EREREWqnaRVO/fv2wf//+2siFiIiISGtVe06Tq6srJk+ejISEBHh4eFSYCB4REaG25IiIiIi0RY3unmvYsCEOHDiAAwcOqGxTKBQsmoiIiKheqtHilkRERETPmxo/sBeA9Ow5PkqFnhtRykracp59HkTqwnNa8/gzqDOqPREcAL777jt4eHjAyMgIRkZG8PT0xPfff6/u3IiIiIi0RrVHmhYsWICpU6di3Lhx8PHxgRAChw4dwnvvvYd///0XH3zwQW3kSUT1TWX/ugb4L2wi0lrVLpqWLFmCZcuWYciQIVJbnz590Lp1a0RFRbFoIiIionqp2pfn0tPT0blz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",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"sale_dynamics(products_sport, campaigns_sport_brut)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "23b35899-728c-4674-bbbc-157643c16abe",
|
||
"metadata": {},
|
||
"source": [
|
||
"# 3 - Caractéristiques Démographiques"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 98,
|
||
"id": "b1bb86c5-3f40-4d5c-bef0-d6e8693c6b5e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"bdc2324-data/5/5customersplus.csv\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Index(['id', 'lastname', 'firstname', 'birthdate', 'email', 'street_id',\n",
|
||
" 'created_at', 'updated_at', 'civility', 'is_partner', 'extra',\n",
|
||
" 'deleted_at', 'reference', 'gender', 'is_email_true', 'extra_field',\n",
|
||
" 'identifier', 'opt_in', 'structure_id', 'note', 'profession',\n",
|
||
" 'language', 'mcp_contact_id', 'need_reload', 'last_buying_date',\n",
|
||
" 'max_price', 'ticket_sum', 'average_price', 'fidelity',\n",
|
||
" 'average_purchase_delay', 'average_price_basket',\n",
|
||
" 'average_ticket_basket', 'total_price', 'preferred_category',\n",
|
||
" 'preferred_supplier', 'preferred_formula', 'purchase_count',\n",
|
||
" 'first_buying_date', 'last_visiting_date', 'zipcode', 'country', 'age',\n",
|
||
" 'tenant_id'],\n",
|
||
" dtype='object')"
|
||
]
|
||
},
|
||
"execution_count": 98,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"directory_path = '5'\n",
|
||
"file_name = \"5customersplus.csv\"\n",
|
||
"file_path = \"bdc2324-data\" + \"/\" + directory_path + \"/\" + file_name\n",
|
||
"print(file_path)\n",
|
||
"with fs.open(file_path, mode=\"rb\") as file_in:\n",
|
||
" customersplus = pd.read_csv(file_in, sep=\",\")\n",
|
||
" \n",
|
||
"customersplus.columns"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 95,
|
||
"id": "8adba9cc-e257-4c57-8149-c9af48c12b6f",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def load_customer_brut_dataset(directory_path):\n",
|
||
" file_name = str(directory_path) + \"customersplus.csv\"\n",
|
||
" print(file_name)\n",
|
||
" file_path = \"bdc2324-data\" + \"/\" + str(directory_path) + \"/\" + file_name\n",
|
||
" print(file_path)\n",
|
||
" with fs.open(file_path, mode=\"rb\") as file_in:\n",
|
||
" customersplus = pd.read_csv(file_in, sep=\",\")\n",
|
||
" return customersplus"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 99,
|
||
"id": "4c8f511b-2740-4b8d-bd99-d0ecf7d64e74",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def percent_of_na(company, column):\n",
|
||
" df = load_customer_brut_dataset(company)\n",
|
||
" if column in df.columns:\n",
|
||
" na_percentage = df[column].isna().mean() * 100\n",
|
||
" non_na_percentage = 100 - na_percentage\n",
|
||
" \n",
|
||
" labels = ['Valeurs Manquantes', 'Non-Valeurs Manquantes']\n",
|
||
" sizes = [na_percentage, non_na_percentage]\n",
|
||
" colors = ['#ff9999','#66b3ff']\n",
|
||
" explode = (0.1, 0)\n",
|
||
" \n",
|
||
" plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)\n",
|
||
" plt.axis('equal') \n",
|
||
" plt.title('Pourcentage de Valeurs Manquantes : {}'.format(column))\n",
|
||
" #plt.show()\n",
|
||
" else:\n",
|
||
" print(f\"The column {column} doesn't exist for the company {company}\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 100,
|
||
"id": "1ca50118-a32d-4dda-8fdf-92443f0f5196",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n",
|
||
"5customersplus.csv\n",
|
||
"bdc2324-data/5/5customersplus.csv\n"
|
||
]
|
||
},
|
||
{
|
||
"ename": "KeyboardInterrupt",
|
||
"evalue": "",
|
||
"output_type": "error",
|
||
"traceback": [
|
||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
|
||
"Cell \u001b[0;32mIn[100], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m company \u001b[38;5;129;01min\u001b[39;00m customer_sport[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnumber_company\u001b[39m\u001b[38;5;124m'\u001b[39m]:\n\u001b[0;32m----> 2\u001b[0m \u001b[43mpercent_of_na\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcompany\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mprofession\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n",
|
||
"Cell \u001b[0;32mIn[99], line 2\u001b[0m, in \u001b[0;36mpercent_of_na\u001b[0;34m(company, column)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mpercent_of_na\u001b[39m(company, column):\n\u001b[0;32m----> 2\u001b[0m df \u001b[38;5;241m=\u001b[39m \u001b[43mload_customer_brut_dataset\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcompany\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m column \u001b[38;5;129;01min\u001b[39;00m df\u001b[38;5;241m.\u001b[39mcolumns:\n\u001b[1;32m 4\u001b[0m na_percentage \u001b[38;5;241m=\u001b[39m df[column]\u001b[38;5;241m.\u001b[39misna()\u001b[38;5;241m.\u001b[39mmean() \u001b[38;5;241m*\u001b[39m \u001b[38;5;241m100\u001b[39m\n",
|
||
"Cell \u001b[0;32mIn[95], line 7\u001b[0m, in \u001b[0;36mload_customer_brut_dataset\u001b[0;34m(directory_path)\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28mprint\u001b[39m(file_path)\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m fs\u001b[38;5;241m.\u001b[39mopen(file_path, mode\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrb\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m file_in:\n\u001b[0;32m----> 7\u001b[0m customersplus \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread_csv\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfile_in\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msep\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m,\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m customersplus\n",
|
||
"File \u001b[0;32m/opt/mamba/lib/python3.11/site-packages/pandas/io/parsers/readers.py:1024\u001b[0m, in \u001b[0;36mread_csv\u001b[0;34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, date_format, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, encoding_errors, dialect, on_bad_lines, delim_whitespace, low_memory, memory_map, float_precision, storage_options, dtype_backend)\u001b[0m\n\u001b[1;32m 1011\u001b[0m kwds_defaults \u001b[38;5;241m=\u001b[39m _refine_defaults_read(\n\u001b[1;32m 1012\u001b[0m dialect,\n\u001b[1;32m 1013\u001b[0m delimiter,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1020\u001b[0m dtype_backend\u001b[38;5;241m=\u001b[39mdtype_backend,\n\u001b[1;32m 1021\u001b[0m )\n\u001b[1;32m 1022\u001b[0m kwds\u001b[38;5;241m.\u001b[39mupdate(kwds_defaults)\n\u001b[0;32m-> 1024\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_read\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfilepath_or_buffer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwds\u001b[49m\u001b[43m)\u001b[49m\n",
|
||
"File \u001b[0;32m/opt/mamba/lib/python3.11/site-packages/pandas/io/parsers/readers.py:624\u001b[0m, in \u001b[0;36m_read\u001b[0;34m(filepath_or_buffer, kwds)\u001b[0m\n\u001b[1;32m 621\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m parser\n\u001b[1;32m 623\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m parser:\n\u001b[0;32m--> 624\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mparser\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnrows\u001b[49m\u001b[43m)\u001b[49m\n",
|
||
"File \u001b[0;32m/opt/mamba/lib/python3.11/site-packages/pandas/io/parsers/readers.py:1921\u001b[0m, in \u001b[0;36mTextFileReader.read\u001b[0;34m(self, nrows)\u001b[0m\n\u001b[1;32m 1914\u001b[0m nrows \u001b[38;5;241m=\u001b[39m validate_integer(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnrows\u001b[39m\u001b[38;5;124m\"\u001b[39m, nrows)\n\u001b[1;32m 1915\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 1916\u001b[0m \u001b[38;5;66;03m# error: \"ParserBase\" has no attribute \"read\"\u001b[39;00m\n\u001b[1;32m 1917\u001b[0m (\n\u001b[1;32m 1918\u001b[0m index,\n\u001b[1;32m 1919\u001b[0m columns,\n\u001b[1;32m 1920\u001b[0m col_dict,\n\u001b[0;32m-> 1921\u001b[0m ) \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_engine\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread\u001b[49m\u001b[43m(\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m# type: ignore[attr-defined]\u001b[39;49;00m\n\u001b[1;32m 1922\u001b[0m \u001b[43m \u001b[49m\u001b[43mnrows\u001b[49m\n\u001b[1;32m 1923\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1924\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m:\n\u001b[1;32m 1925\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclose()\n",
|
||
"File \u001b[0;32m/opt/mamba/lib/python3.11/site-packages/pandas/io/parsers/c_parser_wrapper.py:234\u001b[0m, in \u001b[0;36mCParserWrapper.read\u001b[0;34m(self, nrows)\u001b[0m\n\u001b[1;32m 232\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m 233\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlow_memory:\n\u001b[0;32m--> 234\u001b[0m chunks \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_reader\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread_low_memory\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnrows\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 235\u001b[0m \u001b[38;5;66;03m# destructive to chunks\u001b[39;00m\n\u001b[1;32m 236\u001b[0m data \u001b[38;5;241m=\u001b[39m _concatenate_chunks(chunks)\n",
|
||
"File \u001b[0;32mparsers.pyx:838\u001b[0m, in \u001b[0;36mpandas._libs.parsers.TextReader.read_low_memory\u001b[0;34m()\u001b[0m\n",
|
||
"File \u001b[0;32mparsers.pyx:921\u001b[0m, in \u001b[0;36mpandas._libs.parsers.TextReader._read_rows\u001b[0;34m()\u001b[0m\n",
|
||
"File \u001b[0;32mparsers.pyx:1083\u001b[0m, in \u001b[0;36mpandas._libs.parsers.TextReader._convert_column_data\u001b[0;34m()\u001b[0m\n",
|
||
"File \u001b[0;32mparsers.pyx:1456\u001b[0m, in \u001b[0;36mpandas._libs.parsers._maybe_upcast\u001b[0;34m()\u001b[0m\n",
|
||
"File \u001b[0;32m/opt/mamba/lib/python3.11/site-packages/numpy/core/multiarray.py:1131\u001b[0m, in \u001b[0;36mputmask\u001b[0;34m(a, mask, values)\u001b[0m\n\u001b[1;32m 1082\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1083\u001b[0m \u001b[38;5;124;03m copyto(dst, src, casting='same_kind', where=True)\u001b[39;00m\n\u001b[1;32m 1084\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1126\u001b[0m \n\u001b[1;32m 1127\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m 1128\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m (dst, src, where)\n\u001b[0;32m-> 1131\u001b[0m \u001b[38;5;129m@array_function_from_c_func_and_dispatcher\u001b[39m(_multiarray_umath\u001b[38;5;241m.\u001b[39mputmask)\n\u001b[1;32m 1132\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mputmask\u001b[39m(a, \u001b[38;5;241m/\u001b[39m, mask, values):\n\u001b[1;32m 1133\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1134\u001b[0m \u001b[38;5;124;03m putmask(a, mask, values)\u001b[39;00m\n\u001b[1;32m 1135\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1171\u001b[0m \n\u001b[1;32m 1172\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m 1173\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m (a, mask, values)\n",
|
||
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAnQAAAGZCAYAAAAAW6wOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+IElEQVR4nO3dd5hU5f3+8Xu2V8qyBVikCIIiUryoAtJCUEEFRBCUrhJLTKJEIYJYMCqKJSaKBVDBngAKBFEpBr+09SdCsEBQQAEpC9KWXbY9vz90xpndmd3ZNmfOzPt1XVzsnPo5Z6fc8zznOeswxhgBAADAtiKsLgAAAABVQ6ADAACwOQIdAACAzRHoAAAAbI5ABwAAYHMEOgAAAJsj0AEAANgcgQ4AAMDmCHQAAAA2R6CDV6+88oocDofrX1RUlBo1aqTx48dr//79VpcXUH/961+1ZMkSq8uotD179sjhcOiVV16p8rbee+89ORwOzZkzx+cyH330kRwOh5588km/tztu3Dg1bdq0yvUF2tq1a12vEV/nt2/fvnI4HLY8vpqwfv163X///Tp+/LjVpQSVVatWqWPHjkpMTJTD4bDkPceur0P8jECHMs2fP18bNmzQRx99pJtuuklvvvmmevbsqZycHKtLCxi7B7rqNHDgQNWvX1/z5s3zucz8+fMVHR2t0aNHB7AyayUnJ2vu3Lmlpu/evVtr165VrVq1LKgqOK1fv14PPPAAgc6NMUbDhw9XdHS03n//fW3YsEG9evUKeB3Tp0/X4sWLA75fVA8CHcrUpk0bde3aVX369NGMGTN09913a/fu3QENOLm5ueJPDgeHqKgojRkzRllZWdq+fXup+cePH9fixYt11VVXKS0tzYIKK6agoECFhYVV3s6IESP06aef6n//+5/H9Hnz5ikzM1Pdu3ev8j5gH8YY5ebm+r38gQMHdOzYMQ0ZMkT9+vVT165dVbdu3Rqs0LvmzZurQ4cOAd8vqgeBDhXStWtXSdLevXslSXl5eZo6daqaNWummJgYZWZm6rbbbiv17dvhcOj+++8vtb2mTZtq3LhxrsfOrt4PP/xQEyZMUFpamhISEnT27FlJ0htvvKFu3bopKSlJSUlJat++famWkY8//lj9+vVTrVq1lJCQoO7du2vVqlUey9x///1yOBz68ssvNXLkSNWuXVsZGRmaMGGCTpw44VF3Tk6OXn31VVfXWu/evSVJR44c0a233qrWrVsrKSlJ6enp6tu3r9atW1fqOPft26dhw4YpOTlZderU0fXXX6+srCyvXXWfffaZrrrqKqWkpCguLk4dOnTQO++84/N34u7AgQMaPny4kpOTVbt2bY0YMUIHDx70umxl9zNx4kRJP7fElfTmm28qLy9PEyZMkCT94x//0KWXXqr09HQlJibqoosu0qxZs1RQUFDufowxeu6559S+fXvFx8erbt26GjZsmL777juP5Uo+h5x69+7t+l1Jv3aPLliwQHfddZcyMzMVGxurXbt26cyZM5o8ebKaNWumuLg4paSkqGPHjnrzzTfLrVOS+vfvr3POOcej5bK4uFivvvqqxo4dq4iI0m+1/p6b3r17q02bNsrKylLPnj2VkJCgc889V48++qiKi4s9lv3mm2902WWXKSEhQampqfrd736npUuXyuFwaO3atRU+Z3l5ebrrrrvUvn171a5dWykpKerWrZvee++9Uus6HA7dfvvtWrBggS644AIlJCSoXbt2WrZsmWuZ+++/X3/+858lSc2aNXO9ptxre/vtt9WtWzclJiYqKSlJAwYM0JYtWzz29d133+m6665Tw4YNFRsbq4yMDPXr109ffPFFqboqa9y4cUpKStKXX36pfv36KTExUWlpabr99tt15swZr8c+Z84cXXDBBYqNjdWrr74qSfr000/Vr18/JScnKyEhQZdccomWL1/ucU4aNWokSbrnnntKdc//73//06hRo5Senq7Y2FhdcMEF+sc//uGx/+LiYs2cOVOtWrVSfHy86tSpo7Zt2+qZZ55xLXPkyBHdfPPNOueccxQbG6u0tDR1795dH3/8sccxl+xy9fc9vmnTpho0aJA++OADXXzxxYqPj9f5559fZms+qleU1QXAXnbt2iVJSktLkzFGgwcP1qpVqzR16lT17NlT27Zt04wZM7RhwwZt2LBBsbGxldrPhAkTNHDgQC1YsEA5OTmKjo7Wfffdp4ceekhDhw7VXXfdpdq1a2v79u2ucClJCxcu1JgxY3T11Vfr1VdfVXR0tF544QUNGDBAK1euVL9+/Tz2c80112jEiBGaOHGi/vvf/2rq1KmS5HoT2rBhg/r27as+ffpo+vTpkuTqPjt27JgkacaMGapfv75Onz6txYsXq3fv3lq1apXrgzEnJ0d9+vTRsWPH9Nhjj6lFixb64IMPNGLEiFLHvWbNGl122WXq0qWL5syZo9q1a+utt97SiBEjdObMGa8fwk65ubn6zW9+owMHDuiRRx5Ry5YttXz58mrfT8uWLdWjRw8tXLhQjz76qKKjo13z5s+fr8zMTA0YMECS9O2332rUqFGuD4OtW7fq4Ycf1jfffFPuG/2kSZP0yiuv6I477tBjjz2mY8eO6cEHH9Qll1yirVu3KiMjo8z1fZk6daq6deumOXPmKCIiQunp6brzzju1YMECzZw5Ux06dFBOTo62b9+uo0eP+rXNiIgIjRs3TnPnztXMmTMVGRmpDz/8UPv27dP48eP1hz/8odQ6FTk3Bw8e1PXXX6+77rpLM2bM0OLFizV16lQ1bNhQY8aMkSQdOnRIvXr1UnR0tJ577jllZGTo9ddf1+23316p8yRJZ8+e1bFjxzR58mRlZmYqPz9fH3/8sYYOHar58+e79u20fPlyZWVl6cEHH1RSUpJmzZqlIUOGaMeOHTr33HN144036tixY3r22We1aNEiNWjQQJLUunVrST9f3jBt2jSNHz9e06ZNU35+vh5//HH17NlTmzdvdi13xRVXqKioSLNmzVLjxo2VnZ2t9evXl9uNu2fPHjVr1kxjx47165rSgoICXXHFFZo0aZKmTJmi9evXa+bMmdq7d6+WLl3qseySJUu0bt063Xfffapfv77S09P1ySefqH///mrbtq3mzp2r2NhYPffcc7ryyiv15ptvasSIEbrxxhvVrl07DR06VL///e81atQo1/vmV199pUsuuUSNGzfW7NmzVb9+fa1cuVJ33HGHsrOzNWPGDEnSrFmzdP/992vatGm69NJLVVBQoG+++cbjfIwePVqff/65Hn74YbVs2VLHjx/X559/XuZzvKLv8Vu3btVdd92lKVOmKCMjQy+//LImTpyoFi1a6NJLLy33fKOKDODF/PnzjSSzceNGU1BQYE6dOmWWLVtm0tLSTHJysjl48KD54IMPjCQza9Ysj3XffvttI8m8+OKLrmmSzIwZM0rtp0mTJmbs2LGl9jtmzBiP5b777jsTGRlprr/+ep815+TkmJSUFHPllVd6TC8qKjLt2rUznTt3dk2bMWOG19pvvfVWExcXZ4qLi13TEhMTPWr0pbCw0BQUFJh+/fqZIUOGuKb/4x//MJLMihUrPJafNGmSkWTmz5/vmnb++eebDh06mIKCAo9lBw0aZBo0aGCKiop87v/55583ksx7773nMf2mm26q1v0Y8+vvadGiRa5p27dvN5LMvffe63WdoqIiU1BQYF577TUTGRlpjh075po3duxY06RJE9fjDRs2GElm9uzZHtv44YcfTHx8vLn77rtd00o+h5x69eplevXq5Xq8Zs0aI8lceumlpZZt06aNGTx4cJnH7I1zm++++6757rvvjMPhMMuWLTPGGHPttdea3r17G2OMGThwoMfxlVTWuenVq5eRZDZt2uSxTuvWrc2AAQNcj++55x7jcDjMF1984bFc//79jSSzZs0a1zR/z1lJzuf4xIkTTYcOHTzmSTIZGRnm5MmTrmkHDx40ERER5pFHHnFNe/zxx40ks3v3bo/1v//+exMVFWV+//vfe0w/deqUqV+/vhk+fLgxxpjs7GwjyTz99NM+6/Rlz549JjIy0kyYMKHcZceOHWskmWeeecZj+sMPP2wkmU8//dQ1TZKpXbu2x+/NGGO6du1q0tPTzalTp1zTCgsLTZs2bUyjRo1c7zO7d+82kszjjz/usf6AAQNMo0aNzIkTJzym33777SYuLs61v0GDBpn27duXeTxJSUnmj3/8Y7nH7P48rch7fJMmTUxcXJzZu3eva1pubq5JSUkxkyZNKnO/qB50uaJMXbt2VXR0tJKTkzVo0CDVr19fK1asUEZGhlavXi1JpVpzrr32WiUmJpbq5qyIa665xuPxRx99pKKiIt12220+11m/fr2OHTumsWPHqrCw0PWvuLhYl112mbKyskoN5rjqqqs8Hrdt21Z5eXk6fPiwX3XOmTNHF198seLi4hQVFaXo6GitWrVKX3/9tWuZTz75RMnJybrssss81h05cqTH4127dumbb77R9ddfL0kex3DFFVfoxx9/1I4dO3zWsmbNGiUnJ5c6plGjRlXrfiS5unXdW5LmzZsnh8Oh8ePHu6Zt2bJFV111lerVq6fIyEhFR0drzJgxKioq0s6dO31uf9myZXI4HLrhhhs86qtfv77atWvn0UVXUSWfW5LUuXNnrVixQlOmTNHatWsrdP2TU7NmzdS7d2/NmzdPR48e1XvvvefqevamIuemfv366ty5s8e0tm3berROr1mzRhdeeKHatWvnsVzJ339Fvfvuu+revbuSkpJcz/G5c+d6PMed+vTpo+TkZNfjjIwMpaene9Tpy8qVK1VYWKgxY8Z4/M7j4uLUq1cv1+88JSVFzZs31+OPP64nn3xSW7ZsKdX17EuTJk1UWFjodQCLL87XiZPzfK5Zs8Zjet++fT2ue8vJydGmTZs0bNgwJSUluaZHRkZq9OjR2rdvX5mvs7y8PK1atUpDhgxRQkJCqddpXl6eNm7cKOnn5+/WrVt16623auXKlTp58mSp7XXu3FmvvPKKZs6cqY0bN/p12UNF3+Pbt2+vxo0bux7HxcWpZcuWfv3+UXUEOpTptddeU1ZWlrZs2aIDBw5o27Ztrgu8jx49qqioqFIXvzscDtWvX9/v7ipvnF0xTkeOHJEk17Um3hw6dEiSNGzYMEVHR3v8e+yxx2SMcXWTOtWrV8/jsbP7wJ8P9CeffFK33HKLunTpon/961/auHGjsrKydNlll3msf/ToUa/dgyWnOeufPHlyqfpvvfVWSVJ2drbPenztp379+tW6H0lKSEjQddddpw8++EAHDx5UYWGhFi5cqF69eql58+aSpO+//149e/bU/v379cwzz2jdunXKyspyXf9T1jk+dOiQjDHKyMgoVePGjRvLra8sJZ9bkvS3v/1N99xzj5YsWaI+ffooJSVFgwcPLjXIoTwTJ07U0qVL9eSTTyo+Pl7Dhg3zulxFz03J56n083O15POs5O9aKv37r4hFixZp+PDhyszM1MKFC7VhwwZlZWVpwoQJysvLK7W8P3X64nxedurUqdTv/O2333b9zh0Oh1atWqUBAwZo1qxZuvjii5WWlqY77rhDp06dqvSxehMVFVXqmJzns+T7W8nn1U8//SRjjNfnW8OGDb1uw93Ro0dVWFioZ599ttT5uOKKKyT9+jqdOnWqnnjiCW3cuFGXX3656tWrp379+umzzz5zbe/tt9/W2LFj9fLLL6tbt25KSUnRmDFjfF5j66yhIu/xVfn9o+q4hg5luuCCC9SxY0ev8+rVq6fCwkIdOXLE4wVvjNHBgwfVqVMn17TY2FjXwAZ3vt7QHA6Hx2Pn9vft26dzzjnH6zqpqamSpGeffdY1eKOkyl535c3ChQvVu3dvPf/88x7TS36o1KtXT5s3by61fsk3Umf9U6dO1dChQ73us1WrVj7rCdR+nCZOnKiXXnpJr732mlq2bKnDhw9r9uzZrvlLlixRTk6OFi1apCZNmrim+3PhempqqhwOh9atW+f1Okz3aXFxcV6fW9nZ2a5jdVfyuSVJiYmJeuCBB/TAAw/o0KFDrta6K6+8Ut9880259ToNHTpUt912mx599FHddNNNio+P97pcVc6NL/Xq1fP64extmr/nbOHChWrWrJnefvttj/Pmbd2qcu73n//8p8c58aZJkyauVradO3fqnXfe0f3336/8/Pwy75FYUYWFhTp69KhHUHGez5LhpeTzqm7duoqIiNCPP/5YarsHDhyQJK/PT/f1na15vnommjVrJunn4HnnnXfqzjvv1PHjx/Xxxx/rL3/5iwYMGKAffvjBNUjm6aef1tNPP63vv/9e77//vqZMmaLDhw/rgw8+8Lr9irzHw3q00KHSnAMMFi5c6DH9X//6l3JycjwGIDRt2lTbtm3zWG716tU6ffq0X/v67W9/q8jIyFLhyV337t1Vp04dffXVV+rYsaPXfzExMf4enouvb5gOh6NU2Ni2bZs2bNjgMa1Xr146deqUVqxY4TH9rbfe8njcqlUrnXfeedq6davP+t27s0rq06ePTp06pffff99j+htvvFGt+3Hq0qWL2rRpo/nz52v+/PmqXbu2R3em8wPO/RwZY/TSSy+Vu+1BgwbJGKP9+/d7re+iiy5yLevtubVz585yu419ycjI0Lhx4zRy5Ejt2LGj1IjGssTHx+u+++7TlVdeqVtuucXnclU5N7706dNHX375pbZu3eoxveTvX/L/nDkcDsXExHiElYMHD3od5eovX63gAwYMUFRUlL799lufz0tvWrZsqWnTpumiiy7S559/Xum6fHn99dc9HjvPp/toYG8SExPVpUsXLVq0yONYi4uLtXDhQjVq1EgtW7b0uX5CQoL69OmjLVu2qG3btl7Ph7cWsTp16mjYsGG67bbbdOzYMe3Zs6fUMo0bN9btt9+u/v37l3nOKvIeD+vRQodK69+/vwYMGKB77rlHJ0+eVPfu3V0joDp06OBxY9nRo0dr+vTpuu+++9SrVy999dVX+vvf/67atWv7ta+mTZvqL3/5ix566CHl5ua6bjXy1VdfKTs7Ww888ICSkpL07LPPauzYsTp27JiGDRum9PR0HTlyRFu3btWRI0fKDIS+XHTRRVq7dq2WLl2qBg0aKDk5Wa1atdKgQYP00EMPacaMGerVq5d27NihBx98UM2aNfO4t9nYsWP11FNP6YYbbtDMmTPVokULrVixQitXrpQkj1tavPDCC7r88ss1YMAAjRs3TpmZmTp27Ji+/vprff7553r33Xd91jlmzBg99dRTGjNmjB5++GGdd955+ve//+3aj7uq7MfdhAkTdOedd2rHjh2aNGmSR4tU//79FRMTo5EjR+ruu+9WXl6enn/+ef3000/lbrd79+66+eabNX78eH322We69NJLlZiYqB9//FGffvqpLrroIldgGj16tG644Qbdeuutuuaaa7R3717NmjWrQvfB69KliwYNGqS2bduqbt26+vrrr7VgwQJ169ZNCQkJfm9HkqulpCxVOTe+/PGPf9S8efM0cOBAzZw50zXK1VsLo7/nbNCgQVq0aJFuvfVWDRs2TD/88IMeeughNWjQoMLd0U7OMP7MM89o7Nixio6OVqtWrdS0aVM9+OCDuvfee/Xdd9/psssuU926dXXo0CFt3rzZ1Yq6bds23X777br22mt13nnnKSYmRqtXr9a2bds0ZcqUMve9d+9eNW/eXGPHjvXrOrqYmBjNnj1bp0+fVqdOnVyjXC+//HL16NGj3PUfeeQR9e/fX3369NHkyZMVExOj5557Ttu3b9ebb77ptbXY3TPPPKMePXqoZ8+euuWWW9S0aVOdOnVKu3bt0tKlS13XuF155ZVq06aNOnbsqLS0NO3du1dPP/20mjRpovPOO08nTpxQnz59NGrUKJ1//vlKTk5WVlaWPvjgA5+t9FLF3uMRBKwbj4Fg5hzFmJWVVeZyubm55p577jFNmjQx0dHRpkGDBuaWW24xP/30k8dyZ8+eNXfffbc555xzTHx8vOnVq5f54osvfI5y9bXf1157zXTq1MnExcWZpKQk06FDB4/Rm8YY88knn5iBAwealJQUEx0dbTIzM83AgQPNu+++61rGOcr1yJEjXo/bfQTeF198Ybp3724SEhKMJNcowLNnz5rJkyebzMxMExcXZy6++GKzZMmSUiPFjPl5BN/QoUNNUlKSSU5ONtdcc43597//7XVU6tatW83w4cNNenq6iY6ONvXr1zd9+/Y1c+bM8f2L+MW+ffvMNddc47Gf9evXlxrlWtX9OB05csTExMQYSWbz5s2l5i9dutS0a9fOxMXFmczMTPPnP//ZrFixotSoS2/nzBhj5s2bZ7p06WISExNNfHy8ad68uRkz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",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"for company in customer_sport['number_company']:\n",
|
||
" percent_of_na(company, 'profession')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "97326d89-d6f9-4e8f-9395-5c81def3831a",
|
||
"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
|
||
}
|