BDC-team-1/Sport/Descriptive_statistics/stat_desc_sport.ipynb
2024-03-06 10:56:52 +00:00

1435 lines
220 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

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

{
"cells": [
{
"cell_type": "code",
"execution_count": 6,
"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"
]
},
{
"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": 7,
"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": 5,
"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 = 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_information = display_databases(directory_path, file_name = \"campaigns_information\", datetime_col = ['opened_at', 'sent_at', 'campaign_sent_at'])\n",
" df_products_purchased_reduced = display_databases(directory_path, file_name = \"products_purchased_reduced\", datetime_col = ['purchase_date'])\n",
" df_target_information = display_databases(directory_path, file_name = \"target_information\")\n",
" \n",
" df_campaigns_kpi = campaigns_kpi_function(campaigns_information = df_campaigns_information) \n",
" df_tickets_kpi = tickets_kpi_function(tickets_information = df_products_purchased_reduced)\n",
" df_customerplus_clean = customerplus_kpi_function(customerplus_clean = df_customerplus_clean_0)\n",
"\n",
" \n",
"# creation de la colonne Number compagnie, qui permettra d'agréger les résultats\n",
" df_tickets_kpi[\"number_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_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 = pd.concat([campaigns_sport, df_campaigns_kpi], 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": "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/v37VaRIEUlSWFiYgoODtWLFCvv8GzduaPXq1apevbpLawEAAFmT02HnmWeesZ8zI906hJSU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3VTwQdm6datOnz6tKlWq2NsSExO1Zs0affLJJ9q3b5+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+6wM23atAwsAwAAIGNwB2UAAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0A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NVJQUJC++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": 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": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHFCAYAAAAOmtghAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABVPElEQVR4nO3deVhU5f8+8HsY9l1EEBVZ3BdUBE0wNXJBRTP3JUVFyyVTRHOJVNzCrBTrk7gkImZFplkaieRC7imiLaC54wLiCq4oM8/vD3/Mt3FA58DgyPF+Xddccp55zjnvOTMMt8/ZFEIIASIiIiKZMDF2AURERESGxHBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcFPBHTx4ED179kTNmjVhYWEBV1dXBAQEYNKkScYuTTKFQoGoqChjl6Hjybp27doFhUKBXbt2let6ly5divj4+HJdB/D8Xs9/nTt3DgqFAp9++ulzWydVDPHx8VAoFDh37ly5rscYn/vn7Xl9h7yIGG4qsF9++QWBgYHIz8/HwoULsW3bNixZsgStW7dGYmKiscuTrebNm2P//v1o3rx5ua7nZf5iopdXSEgI9u/fDzc3N2OXUuG9zN8hpsYugEpv4cKF8PLyQnJyMkxN/++tHDBgABYuXGjEyuTN3t4erVq1MnYZRLJUpUoVVKlSxdhlVGj37t2DtbW1scswKo7cVGDXr1+Hs7OzVrApYmKi+9YmJiYiICAANjY2sLW1RXBwMNLT0zXP79mzB2ZmZpg8ebLWfEXDxKtWrdK0nTx5EoMGDYKLiwssLCzQoEEDfPnll3rVnZ+fj7fffhuVK1eGra0tOnfujH///bfYvvqsR61WY968eahXrx6srKzg6OiIJk2aYMmSJc+s5datW5g0aRK8vb1hYWEBFxcXdO3aFcePHy9xnpKGsw8fPow33ngDTk5OsLS0hK+vL77//nutPkXbcufOnRgzZgycnZ1RuXJl9OrVC5cvX9b08/T0xD///IPU1FQoFAooFAp4enqW+fUeP34cnTt3hrW1NZydnTF69Gjcvn272L6//fYb2rdvD3t7e1hbW6N169bYvn37M9cBSNuuixYtgpeXF2xtbREQEIADBw5oPX/48GEMGDAAnp6esLKygqenJwYOHIjz58/rLOvAgQNo3bo1LC0tUa1aNUyfPh0rV67U2c1R0i5QT09PDBs2TKstJycHo0aNQo0aNWBubg4vLy/Mnj0bhYWFem2Lb775BgEBAbC1tYWtrS2aNWum9bsEAHFxcWjatCksLS3h5OSEnj17IjMzU6vPsGHDYGtri+PHjyM4OBg2NjZwc3PDggULNK/91VdfhY2NDerWrYs1a9ZozV/02UtJScHw4cPh5OQEGxsbdO/eHWfOnNHqm5KSgh49eqBGjRqwtLRE7dq1MWrUKFy7dk3n9f30009o0qQJLCws4O3tjSVLliAqKgoKhUKrn0KhwLhx47B27Vo0aNAA1tbWaNq0KbZs2VJsnU/ulirL5/F5fO71+b0s2i7p6eno1asX7O3t4eDggMGDB+Pq1as6y1u4cCHq16+v+R0KDQ3FxYsXtfq99tpraNy4MX7//XcEBgbC2toaYWFhT/0OeSkIqrBGjhwpAIj33ntPHDhwQDx8+LDEvvPnzxcKhUKEhYWJLVu2iI0bN4qAgABhY2Mj/vnnH02/BQsWCADip59+EkII8ffffwtra2sxePBgTZ9//vlHODg4CB8fH5GQkCC2bdsmJk2aJExMTERUVNRTa1ar1SIoKEhYWFiI+fPni23btolZs2YJb29vAUDMmjVL8nqio6OFUqkUs2bNEtu3bxdbt24VMTExz6wlPz9fNGrUSNjY2Ig5c+aI5ORksWHDBjFhwgSxY8cOTb8n69q5c6cAIHbu3Klp27FjhzA3Nxdt2rQRiYmJYuvWrWLYsGECgFi9erWm3+rVqwUA4e3tLd577z2RnJwsvvrqK1GpUiURFBSk6XfkyBHh7e0tfH19xf79+8X+/fvFkSNHyvR6c3JyhIuLi6hevbpYvXq1SEpKEm+99ZaoWbOmzutZu3atUCgU4s033xQbN24UmzdvFt26dRNKpVL89ttvZd6uZ8+eFQCEp6en6Ny5s9i0aZPYtGmT8PHxEZUqVRK3bt3SLG/9+vVi5syZ4scffxSpqaniu+++E+3atRNVqlQRV69e1fT7559/hLW1tWjYsKH49ttvxU8//SSCg4M1r+/s2bMlvqdFPDw8xNChQzXT2dnZwt3dXXh4eIjly5eL3377TcydO1dYWFiIYcOGPXU7CCHEjBkzBADRq1cvsX79erFt2zaxaNEiMWPGDE2fjz76SAAQAwcOFL/88otISEgQ3t7ewsHBQfz777+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": "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": [
"campaigns_sport[\"no_campaign_opened\"] = pd.isna(campaigns_sport[\"time_to_open\"])\n",
"company_lazy_customers = campaigns_sport.groupby(\"number_company\")[\"no_campaign_opened\"].mean().reset_index()\n",
"\n",
"def lazy_customer_plot(campaigns_sport):\n",
" company_lazy_customers = campaigns_sport.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)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "038423ec-d095-4297-8ea8-42d205da510b",
"metadata": {},
"outputs": [],
"source": [
"def "
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "264dd0f3-721b-4ddb-9e7c-0d21c6c0ddeb",
"metadata": {},
"outputs": [],
"source": [
"def display_databases(directory_path, file_name):\n",
" \"\"\"\n",
" This function returns the file from s3 storage \n",
" \"\"\"\n",
" file_path = \"projet-bdc2324-team1\" + \"/Generalization/\" + directory_path + \"/\" + file_name + \".csv\"\n",
" print(\"File path : \", file_path)\n",
" with fs.open(file_path, mode=\"rb\") as file_in:\n",
" df = pd.read_csv(file_in, sep=\",\") \n",
" return df "
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "f0cfdd97-5ba2-4209-b827-d10ef0e80262",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"File path : projet-bdc2324-team1/Generalization/musique/Test_set.csv\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_439/3124665301.py:8: DtypeWarning: Columns (20,29,39) have mixed types. Specify dtype option on import or set low_memory=False.\n",
" df = pd.read_csv(file_in, sep=\",\")\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>customer_id</th>\n",
" <th>nb_tickets</th>\n",
" <th>nb_purchases</th>\n",
" <th>total_amount</th>\n",
" <th>nb_suppliers</th>\n",
" <th>vente_internet_max</th>\n",
" <th>purchase_date_min</th>\n",
" <th>purchase_date_max</th>\n",
" <th>time_between_purchase</th>\n",
" <th>nb_tickets_internet</th>\n",
" <th>...</th>\n",
" <th>gender_label</th>\n",
" <th>gender_female</th>\n",
" <th>gender_male</th>\n",
" <th>gender_other</th>\n",
" <th>country_fr</th>\n",
" <th>has_tags</th>\n",
" <th>nb_campaigns</th>\n",
" <th>nb_campaigns_opened</th>\n",
" <th>time_to_open</th>\n",
" <th>y_has_purchased</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>10_1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10_2</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>10_3</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10_4</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>10_5</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>other</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1523683</th>\n",
" <td>14_6884748</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>male</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1523684</th>\n",
" <td>14_6884749</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>male</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1523685</th>\n",
" <td>14_6884750</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>male</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1523686</th>\n",
" <td>14_6884751</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>female</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1523687</th>\n",
" <td>14_6884753</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>...</td>\n",
" <td>male</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1523688 rows × 41 columns</p>\n",
"</div>"
],
"text/plain": [
" customer_id nb_tickets nb_purchases total_amount nb_suppliers \\\n",
"0 10_1 0.0 0.0 0.0 0.0 \n",
"1 10_2 0.0 0.0 0.0 0.0 \n",
"2 10_3 0.0 0.0 0.0 0.0 \n",
"3 10_4 0.0 0.0 0.0 0.0 \n",
"4 10_5 0.0 0.0 0.0 0.0 \n",
"... ... ... ... ... ... \n",
"1523683 14_6884748 0.0 0.0 0.0 0.0 \n",
"1523684 14_6884749 0.0 0.0 0.0 0.0 \n",
"1523685 14_6884750 0.0 0.0 0.0 0.0 \n",
"1523686 14_6884751 0.0 0.0 0.0 0.0 \n",
"1523687 14_6884753 0.0 0.0 0.0 0.0 \n",
"\n",
" vente_internet_max purchase_date_min purchase_date_max \\\n",
"0 0.0 NaN NaN \n",
"1 0.0 NaN NaN \n",
"2 0.0 NaN NaN \n",
"3 0.0 NaN NaN \n",
"4 0.0 NaN NaN \n",
"... ... ... ... \n",
"1523683 0.0 NaN NaN \n",
"1523684 0.0 NaN NaN \n",
"1523685 0.0 NaN NaN \n",
"1523686 0.0 NaN NaN \n",
"1523687 0.0 NaN NaN \n",
"\n",
" time_between_purchase nb_tickets_internet ... gender_label \\\n",
"0 NaN 0.0 ... other \n",
"1 NaN 0.0 ... other \n",
"2 NaN 0.0 ... other \n",
"3 NaN 0.0 ... other \n",
"4 NaN 0.0 ... other \n",
"... ... ... ... ... \n",
"1523683 NaN 0.0 ... male \n",
"1523684 NaN 0.0 ... male \n",
"1523685 NaN 0.0 ... male \n",
"1523686 NaN 0.0 ... female \n",
"1523687 NaN 0.0 ... male \n",
"\n",
" gender_female gender_male gender_other country_fr has_tags \\\n",
"0 0 0 1 NaN 0 \n",
"1 0 0 1 NaN 0 \n",
"2 0 0 1 NaN 0 \n",
"3 0 0 1 NaN 0 \n",
"4 0 0 1 NaN 0 \n",
"... ... ... ... ... ... \n",
"1523683 0 1 0 1.0 0 \n",
"1523684 0 1 0 1.0 0 \n",
"1523685 0 1 0 1.0 0 \n",
"1523686 1 0 0 1.0 0 \n",
"1523687 0 1 0 1.0 0 \n",
"\n",
" nb_campaigns nb_campaigns_opened time_to_open y_has_purchased \n",
"0 0.0 0.0 NaN NaN \n",
"1 0.0 0.0 NaN NaN \n",
"2 0.0 0.0 NaN NaN \n",
"3 0.0 0.0 NaN NaN \n",
"4 0.0 0.0 NaN NaN \n",
"... ... ... ... ... \n",
"1523683 0.0 0.0 NaN NaN \n",
"1523684 0.0 0.0 NaN NaN \n",
"1523685 0.0 0.0 NaN NaN \n",
"1523686 0.0 0.0 NaN NaN \n",
"1523687 0.0 0.0 NaN NaN \n",
"\n",
"[1523688 rows x 41 columns]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train = display_databases('musique', 'Test_set')\n",
"train"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "b6a6feb7-2557-4932-8038-24cd9b363665",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([nan])"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train['y_has_purchased'].unique()"
]
}
],
"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
}