From 286bd9cb859dc0f96f4bccd571c2e99ab6a6c541 Mon Sep 17 00:00:00 2001 From: arevelle-ensae Date: Mon, 4 Mar 2024 15:55:58 +0000 Subject: [PATCH 1/7] work on stat desc sport --- .../generate_dataset_DS.py | 14 - .../stat_desc_sport.ipynb | 1239 +++++++++++++++++ 2 files changed, 1239 insertions(+), 14 deletions(-) delete mode 100644 Sport/Descriptive_statistics/generate_dataset_DS.py create mode 100644 Sport/Descriptive_statistics/stat_desc_sport.ipynb diff --git a/Sport/Descriptive_statistics/generate_dataset_DS.py b/Sport/Descriptive_statistics/generate_dataset_DS.py deleted file mode 100644 index 889db77..0000000 --- a/Sport/Descriptive_statistics/generate_dataset_DS.py +++ /dev/null @@ -1,14 +0,0 @@ -import pandas as pd -import numpy as np -import os -import s3fs -import re -import warnings - -# Create filesystem object -S3_ENDPOINT_URL = "https://" + os.environ["AWS_S3_ENDPOINT"] -fs = s3fs.S3FileSystem(client_kwargs={'endpoint_url': S3_ENDPOINT_URL}) - -# Ignore warning -warnings.filterwarnings('ignore') - diff --git a/Sport/Descriptive_statistics/stat_desc_sport.ipynb b/Sport/Descriptive_statistics/stat_desc_sport.ipynb new file mode 100644 index 0000000..87ded22 --- /dev/null +++ b/Sport/Descriptive_statistics/stat_desc_sport.ipynb @@ -0,0 +1,1239 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "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": 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": 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 [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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
customer_idstreet_idstructure_idmcp_contact_idfidelitytenant_idis_partnerdeleted_atgenderis_email_true...purchase_countfirst_buying_datecountrygender_labelgender_femalegender_malegender_othercountry_frhas_tagsnumber_company
0[5, _, 6, 0, 0, 9, 7, 4, 5]1372685NaNNaN01771FalseNaN2True...0NaNafother0010.005
1[5, _, 6, 0, 1, 1, 2, 2, 8]1372685NaNNaN01771FalseNaN2True...0NaNafother0010.005
2[5, _, 6, 0, 5, 8, 9, 5, 0]1372685NaNNaN01771FalseNaN2True...0NaNafother0010.005
3[5, _, 6, 0, 6, 2, 4, 0, 4]1372685NaNNaN01771FalseNaN2True...0NaNafother0010.005
4[5, _, 2, 5, 0, 2, 1, 7]78785NaN11035.001771FalseNaN0True...0NaNfrfemale1001.005
\n", + "

5 rows × 29 columns

\n", + "
" + ], + "text/plain": [ + " customer_id street_id structure_id mcp_contact_id \\\n", + "0 [5, _, 6, 0, 0, 9, 7, 4, 5] 1372685 NaN NaN \n", + "1 [5, _, 6, 0, 1, 1, 2, 2, 8] 1372685 NaN NaN \n", + "2 [5, _, 6, 0, 5, 8, 9, 5, 0] 1372685 NaN NaN \n", + "3 [5, _, 6, 0, 6, 2, 4, 0, 4] 1372685 NaN NaN \n", + "4 [5, _, 2, 5, 0, 2, 1, 7] 78785 NaN 11035.0 \n", + "\n", + " fidelity tenant_id is_partner deleted_at gender is_email_true ... \\\n", + "0 0 1771 False NaN 2 True ... \n", + "1 0 1771 False NaN 2 True ... \n", + "2 0 1771 False NaN 2 True ... \n", + "3 0 1771 False NaN 2 True ... \n", + "4 0 1771 False NaN 0 True ... \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 has_tags number_company \n", + "0 0 1 0.0 0 5 \n", + "1 0 1 0.0 0 5 \n", + "2 0 1 0.0 0 5 \n", + "3 0 1 0.0 0 5 \n", + "4 0 0 1.0 0 5 \n", + "\n", + "[5 rows x 29 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": 55, + "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 spectacle\")\n", + " \n", + " # Affichage du barplot\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "db4494e7-6f65-4f7e-bf8c-8ec321d0b02d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJuElEQVR4nO3dd3zNd///8edBtghSEiEIYoZarZa2oVZTlKKqepmlWlq1alzaCjVqVHVy6TCqRnsVV6lZNKpRe9So0dqkdmKGJO/fH345X0dCc+TEiY/H/XY7t5vz/rzP5/M67zPy9P6MYzPGGAEAAFhUDncXAAAAkJUIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIO1lsypQpstls8vb21sGDB9Msr127tiIiItxQmdShQwflzp3bLdv+JzabTdHR0Xd1m7Vr11bt2rXveh0LFy68a8/VHeNavHhxNW7c+K5uE9nfgQMHZLPZNGXKlCzfljve9+5w7NgxRUdHa8uWLVm6nbv52rkKYecuSUxM1FtvveXuMuCkNWvWqHPnzlm6jYULF2rIkCFZug0guylUqJDWrFmjRo0aubsUyzh27JiGDBmS5WHnXkTYuUueeuopzZgxQ1u3bnV3KS5hjNHly5fdXUaWe+SRR1SkSBF3lwFYjpeXlx555BEVKFDA3aXgPkDYuUv69eunwMBA9e/f/x/7XrlyRQMHDlRYWJg8PT1VuHBhde/eXefOnXPol7p7YMGCBapSpYp8fHxUrlw5LViwQNL1XWjlypWTn5+fHn74YW3YsCHd7e3YsUN169aVn5+fChQooNdee02XLl1y6GOz2fTaa69p4sSJKleunLy8vDR16lRJ0t69e9WmTRsVLFhQXl5eKleunD799NMMjUtCQoK6dOmiwMBA5c6dW0899ZT27NmTbt/MbCclJUUff/yxKleuLB8fH+XNm1ePPPKIfvjhh9s+Lr3p77i4OHXt2lVFihSRp6enwsLCNGTIECUlJdn7pE7zjh07VuPGjVNYWJhy586tRx99VL/99pu9X4cOHezPwWaz2W8HDhyQJH333XeqUaOGAgIC5OvrqxIlSqhTp07/+Hyz47guXrxYVatWlY+Pj8qWLauvvvrKYfnJkyfVrVs3lS9fXrlz51bBggX15JNP6pdffkmzrmPHjqlVq1by9/dXQECAnn/+ef32229pptbT2zUpXR/34sWLO7RdvXpVw4YNU9myZeXl5aUCBQqoY8eOOnnyZIbGYu3atWrSpIkCAwPl7e2tkiVLqmfPng59Vq9erbp168rf31++vr6qWbOmfvzxR4c+qbu+V6xYYX8N8+TJo3bt2unixYuKi4tTq1atlDdvXhUqVEh9+/bVtWvX7I9Pfe+NHj1aw4cPV9GiReXt7a3q1atr+fLlDtvat2+fOnbsqPDwcPn6+qpw4cJq0qSJfv/99zTPb8eOHWrQoIF8fX1VoEABde/eXT/++KNsNpt+/vlnhzGPiIjQ+vXr9fjjj9vft++9955SUlLS1HnzrpB74fvknz6XP//8s2w2m6ZPn67evXsrODhYPj4+ioyM1ObNm9Osb8OGDXrmmWeUP39+eXt7q0qVKvr222/T9Dt69KhefvllhYaGytPTUyEhIWrZsqX+/vtv/fzzz3rooYckSR07drR/l6R+f23YsEGtW7dW8eLF5ePjo+LFi+uFF15I9/CK223ndjIzplnOIEtNnjzZSDLr1683H374oZFkli9fbl8eGRlpKlSoYL+fkpJiGjZsaHLlymXefvtts3TpUjN27Fjj5+dnqlSpYq5cuWLvW6xYMVOkSBETERFhZs6caRYuXGhq1KhhPDw8zDvvvGNq1apl5syZY+bOnWtKly5tgoKCzKVLl+yPb9++vfH09DRFixY1w4cPN0uXLjXR0dEmV65cpnHjxg7PQ5IpXLiwqVSpkpkxY4ZZsWKF2b59u9mxY4cJCAgwFStWNNOmTTNLly41ffr0MTly5DDR0dG3HZuUlBRTp04d4+XlZd/+4MGDTYkSJYwkM3jwYHvfzGzHGGPatm1rbDab6dy5s/nf//5nFi1aZIYPH24+/PBDh9ciMjIyzfO+sY7jx4+b0NBQU6xYMfOf//zH/PTTT+bdd981Xl5epkOHDvZ++/fvN5JM8eLFzVNPPWXmzZtn5s2bZypWrGjy5ctnzp07Z4wxZt++faZly5ZGklmzZo39duXKFRMbG2tsNptp3bq1WbhwoVmxYoWZPHmyadu27T01rqnv0/Lly5tp06aZJUuWmOeee85IMjExMfZ+f/zxh3n11VfNrFmzzM8//2wWLFhgXnrpJZMjRw6zcuVKe79Lly6ZcuXKmYCAAPPxxx+bJUuWmB49epiiRYsaSWby5Mm3fU2Nuf7eL1asmP1+cnKyeeqpp4yfn58ZMmSIWbZsmfniiy9M4cKFTfny5R0+N+lZvHix8fDwMJUqVTJTpkwxK1asMF999ZVp3bq1vc/PP/9sPDw8TLVq1czs2bPNvHnzTIMGDYzNZjOzZs2y90v9zggLCzN9+vQxS5cuNaNGjTI5c+Y0L7zwgqlataoZNmyYWbZsmenfv7+RZN5//33741Pfe6Ghoeaxxx4z33//vfnuu+/MQw89ZDw8PExsbKy9b0xMjOnTp4/573//a2JiYszcuXNNs2bNjI+Pj/njjz/s/Y4dO2YCAwNN0aJFzZQpU8zChQtN27ZtTfHixY0kh9cnMjLSBAYGmvDwcDNx4kSzbNky061bNyPJTJ06NU2dN75e98L3SUY+lytXrrS/Bk2bNjXz588306dPN6VKlTJ58uQxf/75p73vihUrjKenp3n88cfN7NmzzeLFi02HDh3SjM2RI0dMoUKFzAMPPGDGjRtnfvrpJzN79mzTqVMns2vXLhMfH29/77z11lv275LDhw8bY4z57rvvzDvvvGPmzp1rYmJizKxZs0xkZKQpUKCAOXnyZIa3kxWv3d1A2MliN4adxMREU6JECVO9enWTkpJijEkbdhYvXmwkmdGjRzusZ/bs2UaSmTRpkr2tWLFixsfHxxw5csTetmXLFiPJFCpUyFy8eNHePm/ePCPJ/PDDD/a29u3bG0kOf5iMMWb48OFGklm9erW9TZIJCAgwZ86ccejbsGFDU6RIERMfH+/Q/tprrxlvb+80/W+0aNGi227/xi+nzGxn1apVRpIZNGjQLfsYk7Gw07VrV5M7d25z8OBBh35jx441ksyOHTuMMf/3ZVCxYkWTlJRk77du3TojycycOdPe1r17d5Pe/ztS15kajDIqu41rsWLFjLe3t8OYXb582eTPn9907dr1lo9LSkoy165dM3Xr1jXPPvusvX3ChAlGkvnf//7n0L9Lly53HHZmzpxpJJnvv//eod/69euNJPPZZ5/d9jmWLFnSlCxZ0ly+fPmWfR555BFTsGBBc/78eYfnGBERYYoUKWL/Tkj9znj99dcdHt+sWTMjyYwbN86hvXLlyqZq1ar2+6nvvZCQEId6EhISTP78+U29evVuWWNSUpK5evWqCQ8PN7169bK3v/nmm8Zms9nf36kaNmyYbtiRZNauXevQt3z58qZhw4Zp6rzx9boXvk8y8rlMDTtVq1a1v67GGHPgwAHj4eFhOnfubG8rW7asqVKlirl27ZrDOho3bmwKFSpkkpOTjTHGdOrUyXh4eJidO3fecrup79cbx/RWkpKSzIULF4yfn5/DmGVkO65+7e4GdmPdRZ6enho2bJg2bNiQ7hSlJK1YsULS9Wn2Gz333HPy8/NLMw1duXJlFS5c2H6/XLlykq5PJfv6+qZpT2/K8sUXX3S436ZNG0nSypUrHdqffPJJ5cuXz37/ypUrWr58uZ599ln5+voqKSnJfnv66ad15coVh102N0td/62276rtLFq0SJLUvXv3W/bJqAULFqhOnToKCQlxqCMqKkqSFBMT49C/UaNGypkzp/1+pUqVJKX/OtwsdUq6VatW+vbbb3X06NEM1Zgdx7Vy5coqWrSo/b63t7dKly6dZhwmTpyoqlWrytvbW7ly5ZKHh4eWL1+uXbt2OTw/f39/PfPMM7d9fs5YsGCB8ubNqyZNmjiMQ+XKlRUcHOywm+Zme/bs0Z9//qmXXnpJ3t7e6fa5ePGi1q5dq5YtWzqcAZkzZ061bdtWR44c0e7dux0ec/MZbKmf4ZsP6C1Xrly676fmzZs71OPv768mTZpo1apVSk5OliQlJSVpxIgRKl++vDw9PZUrVy55enpq7969DmMeExOjiIgIlS9f3mEbL7zwQrrPNzg4WA8//LBDW6VKlW77vr9Xvk+c+Vy2adNGNpvNfr9YsWKqWbOmvdZ9+/bpjz/+sNd8cy3Hjx+3vy8WLVqkOnXq2N8Hzrpw4YL69++vUqVKKVeuXMqVK5dy586tixcvOrzWd7KdzI7p3UDYuctat26tqlWratCgQQ772VOdPn1auXLlSnPQns1mU3BwsE6fPu3Qnj9/fof7np6et22/cuWKQ3uuXLkUGBjo0BYcHGyv5UaFChVKU2tSUpI+/vhjeXh4ONyefvppSdKpU6fSPMebn+uttu+q7Zw8eVI5c+ZMs9478ffff2v+/Plp6qhQoUK6ddz83Ly8vCQpQwd3P/HEE5o3b56SkpLUrl07FSlSRBEREZo5c+ZtH5cdx/XmWqTrY3HjOIwbN06vvvqqatSooe+//16//fab1q9fr6eeesqh3+nTpxUUFJRmfZl5ff/++2+dO3dOnp6eacYiLi7uH8dB0m0PZD979qyMMWk+Q5IUEhIiKe3nzZnP9s2fayn98QgODtbVq1d14cIFSVLv3r319ttvq1mzZpo/f77Wrl2r9evX68EHH8zQmKfXJmXs9b7ZvfJ94szn8lavQeprnXoMTN++fdPU0q1bN4daTp48mamTJdq0aaNPPvlEnTt31pIlS7Ru3TqtX79eBQoUcHhd7mQ7mR3TuyGXW7d+H7LZbBo1apTq16+vSZMmpVkeGBiopKQknTx50iHwGGMUFxdn/1+FqyQlJen06dMOXxBxcXH2Wm6u/Ub58uWz/8/0Vv+7DwsLu+W2U5/rrbbvqu0UKFBAycnJiouLS/ePjTMeeOABVapUScOHD093eeofLldp2rSpmjZtqsTERP32228aOXKk2rRpo+LFi+vRRx9N9zH34rhK0vTp01W7dm1NmDDBof38+fMO9wMDA7Vu3bo0j7/5+UnXZ5Di4+PTtN/8xfvAAw8oMDBQixcvTrc2f3//W9ad+jk9cuTILfvky5dPOXLk0PHjx9MsO3bsmL0GV0pvPOLi4uTp6WmfXZo+fbratWunESNGOPQ7deqU8ubNa78fGBiY7sGp6W3jTt0r3ydSxj+Xt3oNUutLfc0HDhyo5s2bp7utMmXKSLr+Prvde+x24uPjtWDBAg0ePFgDBgywtycmJurMmTMOfe9kO64Y06zGzI4b1KtXT/Xr19fQoUPt/8NKVbduXUnXv4Ru9P333+vixYv25a70zTffONyfMWOGJKV7FsuNfH19VadOHW3evFmVKlVS9erV09zS+x9eqjp16tx2+67aTuouppv/iN6Jxo0ba/v27SpZsmS6ddxJ2MnIbI+Xl5ciIyM1atQoSUr3jI5U9+K4StfDdOpYpNq2bZvWrFnj0FanTh2dP38+zRlfNz8/6foZi3v27FFiYqK97fTp04qNjXXo17hxY50+fVrJycnpjkPqH5z0lC5dWiVLltRXX33lsJ0b+fn5qUaNGpozZ47D65ySkqLp06erSJEiKl269C23cSfmzJnjMONz/vx5zZ8/X48//rh912p6Y/7jjz+m2TUTGRmp7du3a+fOnQ7ts2bNclm998r3yY3+6XM5c+ZMGWPs9w8ePKjY2Fj7d2uZMmUUHh6urVu3pltH9erV7UE7KipKK1euTLO78+Z6pLTfJTabTcaYNK/1F198Yd+lmSoj27mZK8c0qzCz4yajRo1StWrVdOLECfsuEEmqX7++GjZsqP79+yshIUG1atXStm3bNHjwYFWpUkVt27Z1aR2enp56//33deHCBT300EOKjY3VsGHDFBUVpccee+wfH//hhx/qscce0+OPP65XX31VxYsX1/nz57Vv3z7Nnz/ffgxSeho0aKAnnnhC/fr108WLF1W9enX9+uuv+vrrr126nccff1xt27bVsGHD9Pfff6tx48by8vLS5s2b5evrq9dffz1jgyVp6NChWrZsmWrWrKkePXqoTJkyunLlig4cOKCFCxdq4sSJTk8BV6xYUdL190RUVJRy5sypSpUqadiwYTpy5Ijq1q2rIkWK6Ny5c/rwww/l4eGhyMjIW67vXhxX6XrgePfddzV48GBFRkZq9+7dGjp0qMLCwhxO62/Xrp0++OADtWvXTsOHD1d4eLgWLlyoJUuWpFln27Zt9Z///Ef/+te/1KVLF50+fVqjR49Wnjx5HPq1bt1a33zzjZ5++mm98cYbevjhh+Xh4aEjR45o5cqVatq0qZ599tlb1v7pp5+qSZMmeuSRR9SrVy8VLVpUhw4d0pIlS+x/fEeOHKn69eurTp066tu3rzw9PfXZZ59p+/btmjlzZpqZ08zKmTOn6tevr969eyslJUWjRo1SQkKCwwUsGzdurClTpqhs2bKqVKmSNm7cqDFjxqR5D/fs2VNfffWVoqKiNHToUAUFBWnGjBn6448/JEk5crjm/833wvfJO++8k+HP5YkTJ/Tss8+qS5cuio+P1+DBg+Xt7a2BAwfa+/znP/9RVFSUGjZsqA4dOqhw4cI6c+aMdu3apU2bNum7776TdP27Z9GiRXriiSf073//WxUrVtS5c+e0ePFi9e7dW2XLllXJkiXl4+Ojb775RuXKlVPu3LkVEhKikJAQPfHEExozZoweeOABFS9eXDExMfryyy8dZvAyuh1Xv3Z3hVsPj74P3Hg21s3atGljJDmcjWXM9TNV+vfvb4oVK2Y8PDxMoUKFzKuvvmrOnj3r0K9YsWKmUaNGadYryXTv3t2hLfXo+TFjxtjb2rdvb/z8/My2bdtM7dq1jY+Pj8mfP7959dVXzYULF/5xnTeuu1OnTqZw4cLGw8PDFChQwNSsWdMMGzbstmNjjDHnzp0znTp1Mnnz5jW+vr6mfv365o8//khz9kRmt5OcnGw++OADExERYTw9PU1AQIB59NFHzfz58+19MnI2ljHGnDx50vTo0cOEhYUZDw8Pkz9/flOtWjUzaNAg+7ilN963WmdiYqLp3LmzKVCggLHZbEaS2b9/v1mwYIGJiooyhQsXNp6enqZgwYLm6aefNr/88ss/Pt/sNK63ep/ePN6JiYmmb9++pnDhwsbb29tUrVrVzJs3L82ZU8ZcPz22RYsWJnfu3Mbf39+0aNHCxMbGpnsmytSpU025cuWMt7e3KV++vJk9e3a667x27ZoZO3asefDBB423t7fJnTu3KVu2rOnatavZu3fvP47FmjVrTFRUlAkICDBeXl6mZMmSDmc0GWPML7/8Yp588knj5+dnfHx8zCOPPOIwVsbc+jtj8ODBRpLDacLG/N/nOFXqe2/UqFFmyJAhpkiRIsbT09NUqVLFLFmyxOGxZ8+eNS+99JIpWLCg8fX1NY899pj55Zdf0v0sbN++3dSrV894e3ub/Pnzm5deeslMnTrVSDJbt26197v5DNMb67xxzNM7oye1PTt/n2Tkc5l6NtbXX39tevToYQoUKGC8vLzM448/bjZs2JBmnVu3bjWtWrUyBQsWNB4eHiY4ONg8+eSTZuLEiQ79Dh8+bDp16mSCg4ONh4eHCQkJMa1atTJ///23vc/MmTNN2bJljYeHh8PzTv3M5MuXz/j7+5unnnrKbN++3RQrVsy0b9/eqe1kxWuX1WzG3DDHBgD3qAMHDigsLEyTJ09Oczbj/SR1HMaMGaO+fftm6bZefvllzZw5U6dPn7YfQI3rFxWsU6eOvvvuO7Vs2dLd5UDsxgIAZMDQoUMVEhKiEiVK6MKFC1qwYIG++OILvfXWWwQdZHuEHQDAP/Lw8NCYMWN05MgRJSUlKTw8XOPGjdMbb7zh7tKAf8RuLAAAYGmceg4AACyNsAMAACyNsAMAACyNA5R1/Sqmx44dk7+/v8sv7AUAALKGMUbnz59XSEjIbS9uSdjR9d+mCQ0NdXcZAADgDhw+fPi2V68n7Oj/fuTv8OHDaS4jDwAAsqeEhASFhobe9sd6JcKOpP/7Ne88efIQdgAAuMf80yEoHKAMAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsLZe7CwAAZE7xAT+6u4R7xoH3Grm7BLgBMzsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDSCDsAAMDS3Bp2Vq1apSZNmigkJEQ2m03z5s2zL7t27Zr69++vihUrys/PTyEhIWrXrp2OHTvmsI7ExES9/vrreuCBB+Tn56dnnnlGR44cucvPBAAAZFduDTsXL17Ugw8+qE8++STNskuXLmnTpk16++23tWnTJs2ZM0d79uzRM88849CvZ8+emjt3rmbNmqXVq1frwoULaty4sZKTk+/W0wAAANlYLnduPCoqSlFRUekuCwgI0LJlyxzaPv74Yz388MM6dOiQihYtqvj4eH355Zf6+uuvVa9ePUnS9OnTFRoaqp9++kkNGzbM8ucAAACyt3vqmJ34+HjZbDblzZtXkrRx40Zdu3ZNDRo0sPcJCQlRRESEYmNj3VQlAADITtw6s+OMK1euaMCAAWrTpo3y5MkjSYqLi5Onp6fy5cvn0DcoKEhxcXG3XFdiYqISExPt9xMSErKmaAAA4Hb3xMzOtWvX1Lp1a6WkpOizzz77x/7GGNlstlsuHzlypAICAuy30NBQV5YLAACykWwfdq5du6ZWrVpp//79WrZsmX1WR5KCg4N19epVnT171uExJ06cUFBQ0C3XOXDgQMXHx9tvhw8fzrL6AQCAe2XrsJMadPbu3auffvpJgYGBDsurVasmDw8PhwOZjx8/ru3bt6tmzZq3XK+Xl5fy5MnjcAMAANbk1mN2Lly4oH379tnv79+/X1u2bFH+/PkVEhKili1batOmTVqwYIGSk5Ptx+Hkz59fnp6eCggI0EsvvaQ+ffooMDBQ+fPnV9++fVWxYkX72VkAAOD+5taws2HDBtWpU8d+v3fv3pKk9u3bKzo6Wj/88IMkqXLlyg6PW7lypWrXri1J+uCDD5QrVy61atVKly9fVt26dTVlyhTlzJnzrjwHAACQvdmMMcbdRbhbQkKCAgICFB8fzy4tAPec4gN+dHcJ94wD7zVydwlwoYz+/c7Wx+wAAABkFmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYGmEHAABYWq7MPDgxMVFeXl6uqgUAgHtG8QE/uruEe8aB9xq5dftOzewsWbJEHTp0UMmSJeXh4SFfX1/5+/srMjJSw4cP17Fjx7KqTgAAgDuSobAzb948lSlTRu3bt1eOHDn05ptvas6cOVqyZIm+/PJLRUZG6qefflKJEiX0yiuv6OTJk1ldNwAAQIZkKOyMGDFCY8eO1bFjx/TVV1/plVdeUZMmTVSvXj21atVKQ4cO1cqVK/Xnn38qT548mjZtWoY2vmrVKjVp0kQhISGy2WyaN2+ew3JjjKKjoxUSEiIfHx/Vrl1bO3bscOiTmJio119/XQ888ID8/Pz0zDPP6MiRIxl79gAAwPIyFHbWrVunJk2aKEeO23cvXLiwRo8erT59+mRo4xcvXtSDDz6oTz75JN3lo0eP1rhx4/TJJ59o/fr1Cg4OVv369XX+/Hl7n549e2ru3LmaNWuWVq9erQsXLqhx48ZKTk7OUA0AAMDaMnWAsiQlJyfr999/V7FixZQvXz6nHhsVFaWoqKh0lxljNH78eA0aNEjNmzeXJE2dOlVBQUGaMWOGunbtqvj4eH355Zf6+uuvVa9ePUnS9OnTFRoaqp9++kkNGzbM3JMDAAD3PKdPPe/Zs6e+/PJLSdeDTmRkpKpWrarQ0FD9/PPPLits//79iouLU4MGDextXl5eioyMVGxsrCRp48aNunbtmkOfkJAQRURE2PukJzExUQkJCQ43AABgTU6Hnf/+97968MEHJUnz58/X/v379ccff6hnz54aNGiQywqLi4uTJAUFBTm0BwUF2ZfFxcXJ09MzzYzSjX3SM3LkSAUEBNhvoaGhLqsbAABkL06HnVOnTik4OFiStHDhQj333HMqXbq0XnrpJf3+++8uL9BmszncN8akabvZP/UZOHCg4uPj7bfDhw+7pFYAAJD9OB12goKCtHPnTiUnJ2vx4sX2Y2UuXbqknDlzuqyw1EB18wzNiRMn7LM9wcHBunr1qs6ePXvLPunx8vJSnjx5HG4AAMCanA47HTt2VKtWrRQRESGbzab69etLktauXauyZcu6rLCwsDAFBwdr2bJl9rarV68qJiZGNWvWlCRVq1ZNHh4eDn2OHz+u7du32/sAAID7m9NnY0VHR6tixYo6dOiQnnvuOfvPReTMmVMDBgxwal0XLlzQvn377Pf379+vLVu2KH/+/CpatKh69uypESNGKDw8XOHh4RoxYoR8fX3Vpk0bSVJAQIBeeukl9enTR4GBgcqfP7/69u2rihUr2mecAADA/c2psJN65tN//vMftWjRwmFZ+/btnd74hg0bVKdOHfv93r1729c1ZcoU9evXT5cvX1a3bt109uxZ1ahRQ0uXLpW/v7/9MR988IFy5cqlVq1a6fLly6pbt66mTJni0l1qAADg3mUzxhhnHlCgQAHFxsYqPDw8q2q66xISEhQQEKD4+HiO3wFwz+EHKTPOlT9IybhnXFb9EGhG/347fcxOu3bt7NfZAQAAyO6cPmbn6tWr+uKLL7Rs2TJVr15dfn5+DsvHjRvnsuIAAAAyy+mws337dlWtWlWStGfPHodl/3T9GwAAgLvN6bCzcuXKrKgDAAAgSzh9zE6qffv2acmSJbp8+bKk61ctBgAAyG6cDjunT59W3bp1Vbp0aT399NM6fvy4JKlz587q06ePywsEAADIDKfDTq9eveTh4aFDhw7J19fX3v78889r8eLFLi0OAAAgs5w+Zmfp0qVasmSJihQp4tAeHh6ugwcPuqwwAAAAV3B6ZufixYsOMzqpTp06Zf/pCAAAgOzC6bDzxBNPaNq0afb7NptNKSkpGjNmjMNPPwAAAGQHTu/GGjNmjGrXrq0NGzbo6tWr6tevn3bs2KEzZ87o119/zYoaAQAA7pjTMzvly5fXtm3b9PDDD6t+/fq6ePGimjdvrs2bN6tkyZJZUSMAAMAdc3pmR5KCg4M1ZMgQV9cCAADgchkKO9u2bVNERIRy5Mihbdu23bZvpUqVXFIYAACAK2Qo7FSuXFlxcXEqWLCgKleuLJvNlu4Vk202m5KTk11eJAAAwJ3KUNjZv3+/ChQoYP83AADAvSJDYadYsWLp/hsAACC7y1DY+eGHHzK8wmeeeeaOiwEAAHC1DIWdZs2aZWhlHLMDAACymwyFnZSUlKyuAwAAIEs4fVFBAACAe0mGZnY++uijDK+wR48ed1wMAACAq2Uo7HzwwQcZWpnNZiPsAACAbCXD19kBAAC4F3HMDgAAsLQMzez07t1b7777rvz8/NS7d+/b9h03bpxLCgMAAHCFDIWdzZs369q1a/Z/34rNZnNNVQAAAC6SobCzcuXKdP8NAACQ3XHMDgAAsLQMzezc6MqVK/r444+1cuVKnThxIs3VlTdt2uSy4gAAADLL6bDTqVMnLVu2TC1bttTDDz/McToAACBbczrs/Pjjj1q4cKFq1aqVFfUAAAC4lNPH7BQuXFj+/v5ZUQsAAIDLOR123n//ffXv318HDx7MinoAAABcyundWNWrV9eVK1dUokQJ+fr6ysPDw2H5mTNnXFYcAABAZjkddl544QUdPXpUI0aMUFBQEAcoAwCAbM3psBMbG6s1a9bowQcfzIp6AAAAXMrpY3bKli2ry5cvZ0UtAAAALud02HnvvffUp08f/fzzzzp9+rQSEhIcbgAAANmJ07uxnnrqKUlS3bp1HdqNMbLZbEpOTnZNZQAAAC7gdNjhh0ABAMC9xOmwExkZmRV1AAAAZIkMHbNz6NAhp1Z69OjROyoGAADA1TIUdh566CF16dJF69atu2Wf+Ph4ff7554qIiNCcOXNcUlxSUpLeeusthYWFycfHRyVKlNDQoUMdfmndGKPo6GiFhITIx8dHtWvX1o4dO1yyfQAAcO/L0G6sXbt2acSIEXrqqafk4eGh6tWrKyQkRN7e3jp79qx27typHTt2qHr16hozZoyioqJcUtyoUaM0ceJETZ06VRUqVNCGDRvUsWNHBQQE6I033pAkjR49WuPGjdOUKVNUunRpDRs2TPXr19fu3bv5DS8AAJCxmZ38+fNr7NixOnbsmCZMmKDSpUvr1KlT2rt3ryTpxRdf1MaNG/Xrr7+6LOhI0po1a9S0aVM1atRIxYsXV8uWLdWgQQNt2LBB0vVZnfHjx2vQoEFq3ry5IiIiNHXqVF26dEkzZsxwWR0AAODe5dQByt7e3mrevLmaN2+eVfU4eOyxxzRx4kTt2bNHpUuX1tatW7V69WqNHz9ekrR//37FxcWpQYMG9sd4eXkpMjJSsbGx6tq1612pEwAAZF9On411N/Xv31/x8fEqW7ascubMqeTkZA0fPlwvvPCCJCkuLk6SFBQU5PC4oKCg2/4qe2JiohITE+33uRgiAADW5fQVlO+m2bNna/r06ZoxY4Y2bdqkqVOnauzYsZo6dapDv5t/jDT1Aoe3MnLkSAUEBNhvoaGhWVI/AABwv2wddt58800NGDBArVu3VsWKFdW2bVv16tVLI0eOlCQFBwdL+r8ZnlQnTpxIM9tzo4EDByo+Pt5+O3z4cNY9CQAA4FbZOuxcunRJOXI4lpgzZ077qedhYWEKDg7WsmXL7MuvXr2qmJgY1axZ85br9fLyUp48eRxuAADAmrL1MTtNmjTR8OHDVbRoUVWoUEGbN2/WuHHj1KlTJ0nXd1/17NlTI0aMUHh4uMLDwzVixAj5+vqqTZs2bq4eAABkB07P7EydOlU//vij/X6/fv2UN29e1axZ87YHBd+Jjz/+WC1btlS3bt1Urlw59e3bV127dtW7777rsP2ePXuqW7duql69uo4ePaqlS5dyjR0AACBJshljjDMPKFOmjCZMmKAnn3xSa9asUd26dTV+/HgtWLBAuXLlctnVk++mhIQEBQQEKD4+nl1aAO45xQf8+M+dIEk68F4jl62Lcc84V477jTL699vp3ViHDx9WqVKlJEnz5s1Ty5Yt9fLLL6tWrVqqXbv2HRdsVXwYnJNVHwgAwP3L6d1YuXPn1unTpyVJS5cuVb169SRdv+Dg5cuXXVsdAABAJjk9s1O/fn117txZVapU0Z49e9So0fX/ie/YsUPFixd3dX0AAACZ4vTMzqeffqpHH31UJ0+e1Pfff6/AwEBJ0saNG+1XNgYAAMgunJ7ZSUhI0EcffZTm+jfR0dFcnA8AAGQ7Ts/shIWF6dSpU2naz5w5o7CwMJcUBQAA4CpOh51bnal+4cIFeXt7Z7ogAAAAV8rwbqzevXtLun7V4nfeeUe+vr72ZcnJyVq7dq0qV67s8gIBAAAyI8NhZ/PmzZKuz+z8/vvv8vT0tC/z9PTUgw8+qL59+7q+QgAAgEzIcNhZuXKlJKljx4768MMPudIwAAC4Jzh9NtbkyZOzog4AAIAs4XTYuXjxot577z0tX75cJ06cUEpKisPyv/76y2XFAQAAZJbTYadz586KiYlR27ZtVahQIdlstqyoCwAAwCWcDjuLFi3Sjz/+qFq1amVFPQAAAC7l9HV28uXLp/z582dFLQAAAC7ndNh599139c477+jSpUtZUQ8AAIBLOb0b6/3339eff/6poKAgFS9eXB4eHg7LN23a5LLiAAAAMsvpsNOsWbMsKAMAACBrOB12Bg8enBV1AAAAZAmnj9mRpHPnzumLL77QwIEDdebMGUnXd18dPXrUpcUBAABkltMzO9u2bVO9evUUEBCgAwcOqEuXLsqfP7/mzp2rgwcPatq0aVlRJwAAwB1xemand+/e6tChg/bu3Stvb297e1RUlFatWuXS4gAAADLL6bCzfv16de3aNU174cKFFRcX55KiAAAAXMXpsOPt7a2EhIQ07bt371aBAgVcUhQAAICrOB12mjZtqqFDh+ratWuSJJvNpkOHDmnAgAFq0aKFywsEAADIDKfDztixY3Xy5EkVLFhQly9fVmRkpEqVKiV/f38NHz48K2oEAAC4Y06fjZUnTx6tXr1aK1as0KZNm5SSkqKqVauqXr16WVEfAABApjgddlI9+eSTevLJJ11ZCwAAgMtlKOx89NFHevnll+Xt7a2PPvrotn179OjhksIAAABcIUNh54MPPtCLL74ob29vffDBB7fsZ7PZCDsAACBbyVDY2b9/f7r/BgAAyO7u6LexAAAA7hUZmtnp3bt3hlc4bty4Oy4GAADA1TIUdjZv3pyhldlstkwVAwAA4GoZCjsrV67M6joAAACyhNPH7MTHx+vMmTNp2s+cOZPub2YBAAC4k9Nhp3Xr1po1a1aa9m+//VatW7d2SVEAAACu4nTYWbt2rerUqZOmvXbt2lq7dq1LigIAAHAVp8NOYmKikpKS0rRfu3ZNly9fdklRAAAAruJ02HnooYc0adKkNO0TJ05UtWrVXFIUAACAqzj9Q6DDhw9XvXr1tHXrVtWtW1eStHz5cq1fv15Lly51eYEAAACZ4fTMTq1atbRmzRqFhobq22+/1fz581WqVClt27ZNjz/+eFbUCAAAcMecntmRpMqVK+ubb75xdS0AAAAux29jAQAAS8v2Yefo0aP617/+pcDAQPn6+qpy5crauHGjfbkxRtHR0QoJCZGPj49q166tHTt2uLFiAACQnWTrsHP27FnVqlVLHh4eWrRokXbu3Kn3339fefPmtfcZPXq0xo0bp08++UTr169XcHCw6tevr/Pnz7uvcAAAkG3c0TE7d8uoUaMUGhqqyZMn29uKFy9u/7cxRuPHj9egQYPUvHlzSdLUqVMVFBSkGTNmqGvXrne7ZAAAkM3c8czOvn37tGTJEvuFBI0xLisq1Q8//KDq1avrueeeU8GCBVWlShV9/vnn9uX79+9XXFycGjRoYG/z8vJSZGSkYmNjb7nexMREJSQkONwAAIA1OR12Tp8+rXr16ql06dJ6+umndfz4cUlS586d1adPH5cW99dff2nChAkKDw/XkiVL9Morr6hHjx6aNm2aJCkuLk6SFBQU5PC4oKAg+7L0jBw5UgEBAfZbaGioS+sGAADZh9Nhp1evXsqVK5cOHTokX19fe/vzzz+vxYsXu7S4lJQUVa1aVSNGjFCVKlXUtWtXdenSRRMmTHDoZ7PZHO4bY9K03WjgwIGKj4+33w4fPuzSugEAQPbh9DE7S5cu1ZIlS1SkSBGH9vDwcB08eNBlhUlSoUKFVL58eYe2cuXK6fvvv5ckBQcHS7o+w1OoUCF7nxMnTqSZ7bmRl5eXvLy8XForAADInpye2bl48aLDjE6qU6dOuTxA1KpVS7t373Zo27Nnj4oVKyZJCgsLU3BwsJYtW2ZffvXqVcXExKhmzZourQUAANybnA47TzzxhP2YGen6LqSUlBSNGTNGderUcWlxvXr10m+//aYRI0Zo3759mjFjhiZNmqTu3bvbt92zZ0+NGDFCc+fO1fbt29WhQwf5+vqqTZs2Lq0FAADcm5zejTVmzBjVrl1bGzZs0NWrV9WvXz/t2LFDZ86c0a+//urS4h566CHNnTtXAwcO1NChQxUWFqbx48frxRdftPfp16+fLl++rG7duuns2bOqUaOGli5dKn9/f5fWAgAA7k1Oh53y5ctr27ZtmjBhgnLmzKmLFy+qefPm6t69u8NxM67SuHFjNW7c+JbLbTaboqOjFR0d7fJtAwCAe98dXVQwODhYQ4YMcXUtAAAALpehsLNt27YMr7BSpUp3XAwAAICrZSjsVK5cWTabLc31a1KvmnxjW3JysotLBAAAuHMZOhtr//79+uuvv7R//359//33CgsL02effaYtW7Zoy5Yt+uyzz1SyZEn79W8AAACyiwzN7KRe10aSnnvuOX300Ud6+umn7W2VKlVSaGio3n77bTVr1szlRQIAANwpp6+z8/vvvyssLCxNe1hYmHbu3OmSogAAAFzF6bBTrlw5DRs2TFeuXLG3JSYmatiwYSpXrpxLiwMAAMgsp089nzhxopo0aaLQ0FA9+OCDkqStW7fKZrNpwYIFLi8QAAAgM5wOOw8//LD279+v6dOn648//pAxRs8//7zatGkjPz+/rKgRAADgjt3RRQV9fX318ssvu7oWAAAAl3P6mB0AAIB7CWEHAABYGmEHAABYGmEHAABY2h2FnXPnzumLL77QwIEDdebMGUnSpk2bdPToUZcWBwAAkFlOn421bds21atXTwEBATpw4IC6dOmi/Pnza+7cuTp48KCmTZuWFXUCAADcEadndnr37q0OHTpo79698vb2trdHRUVp1apVLi0OAAAgs5wOO+vXr1fXrl3TtBcuXFhxcXEuKQoAAMBVnA473t7eSkhISNO+e/duFShQwCVFAQAAuIrTYadp06YaOnSorl27Jkmy2Ww6dOiQBgwYoBYtWri8QAAAgMxwOuyMHTtWJ0+eVMGCBXX58mVFRkaqVKlS8vf31/Dhw7OiRgAAgDvm9NlYefLk0erVq7VixQpt2rRJKSkpqlq1qurVq5cV9QEAAGSKU2EnKSlJ3t7e2rJli5588kk9+eSTWVUXAACASzi1GytXrlwqVqyYkpOTs6oeAAAAl3L6mJ233nrL4crJAAAA2ZnTx+x89NFH2rdvn0JCQlSsWDH5+fk5LN+0aZPLigMAAMgsp8NOs2bNsqAMAACArOF02Bk8eHBW1AEAAJAlnA47qTZs2KBdu3bJZrOpXLlyqlatmivrAgAAcAmnw86RI0f0wgsv6Ndff1XevHklSefOnVPNmjU1c+ZMhYaGurpGAACAO+b02VidOnXStWvXtGvXLp05c0ZnzpzRrl27ZIzRSy+9lBU1AgAA3DGnZ3Z++eUXxcbGqkyZMva2MmXK6OOPP1atWrVcWhwAAEBmOT2zU7RoUfuPgN4oKSlJhQsXdklRAAAAruJ02Bk9erRef/11bdiwQcYYSdcPVn7jjTc0duxYlxcIAACQGRnajZUvXz7ZbDb7/YsXL6pGjRrKlev6w5OSkpQrVy516tSJ6/AAAIBsJUNhZ/z48VlcBgAAQNbIUNhp3759VtcBAACQJe74ooInTpzQiRMnlJKS4tBeqVKlTBcFAADgKk6HnY0bN6p9+/b2a+vcyGazKTk52WXFAQAAZJbTYadjx44qXbq0vvzySwUFBTkcuAwAAJDdOB129u/frzlz5qhUqVJZUQ8AAIBLOX2dnbp162rr1q1ZUQsAAIDLOT2z88UXX6h9+/bavn27IiIi5OHh4bD8mWeecVlxAAAAmeV02ImNjdXq1au1aNGiNMuy+gDlkSNH6t///rfeeOMN+7V/jDEaMmSIJk2apLNnz6pGjRr69NNPVaFChSyrAwAA3Duc3o3Vo0cPtW3bVsePH1dKSorDLSuDzvr16zVp0qQ0p7aPHj1a48aN0yeffKL169crODhY9evX1/nz57OsFgAAcO9wOuycPn1avXr1UlBQUFbUk64LFy7oxRdf1Oeff658+fLZ240xGj9+vAYNGqTmzZsrIiJCU6dO1aVLlzRjxoy7Vh8AAMi+nA47zZs318qVK7Oillvq3r27GjVqpHr16jm079+/X3FxcWrQoIG9zcvLS5GRkYqNjb2rNQIAgOzJ6WN2SpcurYEDB2r16tWqWLFimgOUe/To4bLiJGnWrFnatGmT1q9fn2ZZXFycJKWZZQoKCtLBgwdvuc7ExEQlJiba7yckJLioWgAAkN3c0dlYuXPnVkxMjGJiYhyW2Ww2l4adw4cP64033tDSpUvl7e19y343X9jQGHPbix2OHDlSQ4YMcVmdAAAg+7qjiwreLRs3btSJEydUrVo1e1tycrJWrVqlTz75RLt375Z0fYanUKFC9j4nTpy47TFFAwcOVO/eve33ExISFBoamgXPALi/FB/wo7tLuGcceK+Ru0sA7ht3/EOgkuy/jZVVPxlRt25d/f777w5tHTt2VNmyZdW/f3+VKFFCwcHBWrZsmapUqSJJunr1qmJiYjRq1KhbrtfLy0teXl5ZUjMAAMhenD5AWZKmTZumihUrysfHRz4+PqpUqZK+/vprV9cmf39/RUREONz8/PwUGBioiIgI2Ww29ezZUyNGjNDcuXO1fft2dejQQb6+vmrTpo3L6wEAAPcep2d2xo0bp7fffluvvfaaatWqJWOMfv31V73yyis6deqUevXqlRV13lK/fv10+fJldevWzX5RwaVLl8rf3/+u1gEAALInp8POxx9/rAkTJqhdu3b2tqZNm6pChQqKjo7O8rDz888/O9y32WyKjo5WdHR0lm4XAADcm5zejXX8+HHVrFkzTXvNmjV1/PhxlxQFAADgKk6HnVKlSunbb79N0z579myFh4e7pCgAAABXcXo31pAhQ/T8889r1apVqlWrlmw2m1avXq3ly5enG4IAAADcyemZnRYtWmjt2rV64IEHNG/ePM2ZM0cPPPCA1q1bp2effTYragQAALhjd3SdnWrVqmn69OmurgUAAMDl7ug6OwAAAPeKDM/s5MiR4x+vlGyz2ZSUlJTpogAAAFwlw2Fn7ty5t1wWGxurjz/+2P7zEQAAANlFhsNO06ZN07T98ccfGjhwoObPn68XX3xR7777rkuLAwAAyKw7Ombn2LFj6tKliypVqqSkpCRt2bJFU6dOVdGiRV1dHwAAQKY4FXbi4+PVv39/lSpVSjt27NDy5cs1f/58RUREZFV9AAAAmZLh3VijR4/WqFGjFBwcrJkzZ6a7WwvILooP+NHdJdxTDrzXyN0lAECWyXDYGTBggHx8fFSqVClNnTpVU6dOTbffnDlzXFYcAABAZmU47LRr1+4fTz0HAADIbjIcdqZMmZKFZQAAAGQNrqAMAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsLVuHnZEjR+qhhx6Sv7+/ChYsqGbNmmn37t0OfYwxio6OVkhIiHx8fFS7dm3t2LHDTRUDAIDsJluHnZiYGHXv3l2//fabli1bpqSkJDVo0EAXL1609xk9erTGjRunTz75ROvXr1dwcLDq16+v8+fPu7FyAACQXeRydwG3s3jxYof7kydPVsGCBbVx40Y98cQTMsZo/PjxGjRokJo3by5Jmjp1qoKCgjRjxgx17drVHWUDAIBsJFvP7NwsPj5ekpQ/f35J0v79+xUXF6cGDRrY+3h5eSkyMlKxsbG3XE9iYqISEhIcbgAAwJrumbBjjFHv3r312GOPKSIiQpIUFxcnSQoKCnLoGxQUZF+WnpEjRyogIMB+Cw0NzbrCAQCAW90zYee1117Ttm3bNHPmzDTLbDabw31jTJq2Gw0cOFDx8fH22+HDh11eLwAAyB6y9TE7qV5//XX98MMPWrVqlYoUKWJvDw4OlnR9hqdQoUL29hMnTqSZ7bmRl5eXvLy8sq5gAACQbWTrmR1jjF577TXNmTNHK1asUFhYmMPysLAwBQcHa9myZfa2q1evKiYmRjVr1rzb5QIAgGwoW8/sdO/eXTNmzND//vc/+fv724/DCQgIkI+Pj2w2m3r27KkRI0YoPDxc4eHhGjFihHx9fdWmTRs3Vw8AALKDbB12JkyYIEmqXbu2Q/vkyZPVoUMHSVK/fv10+fJldevWTWfPnlWNGjW0dOlS+fv73+VqAQBAdpStw44x5h/72Gw2RUdHKzo6OusLAgAA95xsfcwOAABAZhF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApVkm7Hz22WcKCwuTt7e3qlWrpl9++cXdJQEAgGzAEmFn9uzZ6tmzpwYNGqTNmzfr8ccfV1RUlA4dOuTu0gAAgJtZIuyMGzdOL730kjp37qxy5cpp/PjxCg0N1YQJE9xdGgAAcLN7PuxcvXpVGzduVIMGDRzaGzRooNjYWDdVBQAAsotc7i4gs06dOqXk5GQFBQU5tAcFBSkuLi7dxyQmJioxMdF+Pz4+XpKUkJDg8vpSEi+5fJ1W5qrXgHF3DuN+97ny+4ZxzzjG3T2y4u/rjes1xty23z0fdlLZbDaH+8aYNG2pRo4cqSFDhqRpDw0NzZLakHEB491dwf2Jcb/7GHP3YNzdI6vH/fz58woICLjl8ns+7DzwwAPKmTNnmlmcEydOpJntSTVw4ED17t3bfj8lJUVnzpxRYGDgLQOSlSQkJCg0NFSHDx9Wnjx53F3OfYNxdw/G3T0Yd/e438bdGKPz588rJCTktv3u+bDj6empatWqadmyZXr22Wft7cuWLVPTpk3TfYyXl5e8vLwc2vLmzZuVZWZLefLkuS8+DNkN4+4ejLt7MO7ucT+N++1mdFLd82FHknr37q22bduqevXqevTRRzVp0iQdOnRIr7zyirtLAwAAbmaJsPP888/r9OnTGjp0qI4fP66IiAgtXLhQxYoVc3dpAADAzSwRdiSpW7du6tatm7vLuCd4eXlp8ODBaXblIWsx7u7BuLsH4+4ejHv6bOafztcCAAC4h93zFxUEAAC4HcIOAACwNMIOAACwNMIOAACwNMLOfSQ6Olo2m83hFhwc7O6y7gtHjx7Vv/71LwUGBsrX11eVK1fWxo0b3V2WpRUvXjzN+91ms6l79+7uLs2ykpKS9NZbbyksLEw+Pj4qUaKEhg4dqpSUFHeXZnnnz59Xz549VaxYMfn4+KhmzZpav369u8vKNixz6jkypkKFCvrpp5/s93PmzOnGau4PZ8+eVa1atVSnTh0tWrRIBQsW1J9//nlfXrX7blq/fr2Sk5Pt97dv36769evrueeec2NV1jZq1ChNnDhRU6dOVYUKFbRhwwZ17NhRAQEBeuONN9xdnqV17txZ27dv19dff62QkBBNnz5d9erV086dO1W4cGF3l+d2nHp+H4mOjta8efO0ZcsWd5dyXxkwYIB+/fVX/fLLL+4u5b7Ws2dPLViwQHv37r0vfgPPHRo3bqygoCB9+eWX9rYWLVrI19dXX3/9tRsrs7bLly/L399f//vf/9SoUSN7e+XKldW4cWMNGzbMjdVlD+zGus/s3btXISEhCgsLU+vWrfXXX3+5uyTL++GHH1S9enU999xzKliwoKpUqaLPP//c3WXdV65evarp06erU6dOBJ0s9Nhjj2n58uXas2ePJGnr1q1avXq1nn76aTdXZm1JSUlKTk6Wt7e3Q7uPj49Wr17tpqqyF8LOfaRGjRqaNm2alixZos8//1xxcXGqWbOmTp8+7e7SLO2vv/7ShAkTFB4eriVLluiVV15Rjx49NG3aNHeXdt+YN2+ezp07pw4dOri7FEvr37+/XnjhBZUtW1YeHh6qUqWKevbsqRdeeMHdpVmav7+/Hn30Ub377rs6duyYkpOTNX36dK1du1bHjx93d3nZArux7mMXL15UyZIl1a9fP/Xu3dvd5ViWp6enqlevrtjYWHtbjx49tH79eq1Zs8aNld0/GjZsKE9PT82fP9/dpVjarFmz9Oabb2rMmDGqUKGCtmzZop49e2rcuHFq3769u8uztD///FOdOnXSqlWrlDNnTlWtWlWlS5fWpk2btHPnTneX53YcoHwf8/PzU8WKFbV37153l2JphQoVUvny5R3aypUrp++//95NFd1fDh48qJ9++klz5sxxdymW9+abb2rAgAFq3bq1JKlixYo6ePCgRo4cSdjJYiVLllRMTIwuXryohIQEFSpUSM8//7zCwsLcXVq2wG6s+1hiYqJ27dqlQoUKubsUS6tVq5Z2797t0LZnzx4VK1bMTRXdXyZPnqyCBQs6HLiJrHHp0iXlyOH4ZyVnzpycen4X+fn5qVChQjp79qyWLFmipk2burukbIGZnftI37591aRJExUtWlQnTpzQsGHDlJCQwP+4slivXr1Us2ZNjRgxQq1atdK6des0adIkTZo0yd2lWV5KSoomT56s9u3bK1cuvu6yWpMmTTR8+HAVLVpUFSpU0ObNmzVu3Dh16tTJ3aVZ3pIlS2SMUZkyZbRv3z69+eabKlOmjDp27Oju0rIHg/vG888/bwoVKmQ8PDxMSEiIad68udmxY4e7y7ovzJ8/30RERBgvLy9TtmxZM2nSJHeXdF9YsmSJkWR2797t7lLuCwkJCeaNN94wRYsWNd7e3qZEiRJm0KBBJjEx0d2lWd7s2bNNiRIljKenpwkODjbdu3c3586dc3dZ2QYHKAMAAEvjmB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0Ad01cXJxef/11lShRQl5eXgoNDVWTJk20fPlyd5cGwML4sRgAd8WBAwdUq1Yt5c2bV6NHj1alSpV07do1LVmyRN27d9cff/zh7hIBWBQzOwDuim7duslms2ndunVq2bKlSpcurQoVKqh379767bffJEmHDh1S06ZNlTt3buXJk0etWrXS33//bV9HdHS0KleurK+++kpFixZV7ty59eqrryo5OVmjR49WcHCwChYsqOHDhzts22azacKECYqKipKPj4/CwsL03XffOfTp37+/SpcuLV9fX5UoUUJvv/22rl27lmbbX3/9tYoXL66AgAC1bt1a58+flyRNmzZNgYGBSkxMdFhvixYt1K5dO5eOJQDnEHYAZLkzZ85o8eLF6t69u/z8/NIsz5s3r4wxatasmc6cOaOYmBgtW7ZMf/75p55//nmHvn/++acWLVqkxYsXa+bMmfrqq6/UqFEjHTlyRDExMRo1apTeeuste4BK9fbbb6tFixbaunWr/vWvf+mFF17Qrl277Mv9/f01ZcoU7dy5Ux9++KE+//xzffDBB2m2PW/ePC1YsEALFixQTEyM3nvvPUnSc889p+TkZP3www/2/qdOndKCBQv45WnA3dz8Q6QA7gNr1641ksycOXNu2Wfp0qUmZ86c5tChQ/a2HTt2GElm3bp1xhhjBg8ebHx9fU1CQoK9T8OGDU3x4sVNcnKyva1MmTJm5MiR9vuSzCuvvOKwvRo1aphXX331lvWMHj3aVKtWzX4/vW2/+eabpkaNGvb7r776qomKirLfHz9+vClRooRJSUm55XYAZD2O2QGQ5Ywxkq7vTrqVXbt2KTQ0VKGhofa28uXLK2/evNq1a5ceeughSVLx4sXl7+9v7xMUFKScOXMqR44cDm0nTpxwWP+jjz6a5v6WLVvs9//73/9q/Pjx2rdvny5cuKCkpCTlyZPH4TE3b7tQoUIO2+nSpYseeughHT16VIULF9bkyZPVoUOH2z5vAFmP3VgAslx4eLhsNpvDbqObGWPSDQU3t3t4eDgst9ls6balpKT8Y12p6/3tt9/UunVrRUVFacGCBdq8ebMGDRqkq1evOvT/p+1UqVJFDz74oKZNm6ZNmzbp999/V4cOHf6xDgBZi7ADIMvlz59fDRs21KeffqqLFy+mWX7u3DmVL19ehw4d0uHDh+3tO3fuVHx8vMqVK5fpGm4+hue3335T2bJlJUm//vqrihUrpkGDBql69eoKDw/XwYMH72g7nTt31uTJk/XVV1+pXr16DjNVANyDsAPgrvjss8+UnJyshx9+WN9//7327t2rXbt26aOPPtKjjz6qevXqqVKlSnrxxRe1adMmrVu3Tu3atVNkZKSqV6+e6e1/9913+uqrr7Rnzx4NHjxY69at02uvvSZJKlWqlA4dOqRZs2bpzz//1EcffaS5c+fe0XZefPFFHT16VJ9//rk6deqU6boBZB5hB8BdERYWpk2bNqlOnTrq06ePIiIiVL9+fS1fvlwTJkyQzWbTvHnzlC9fPj3xxBOqV6+eSpQoodmzZ7tk+0OGDNGsWbNUqVIlTZ06Vd98843Kly8vSWratKl69eql1157TZUrV1ZsbKzefvvtO9pOnjx51KJFC+XOnVvNmjVzSe0AMsdmUo8cBACLstlsmjt37l0LH/Xr11e5cuX00Ucf3ZXtAbg9zsYCABc5c+aMli5dqhUrVuiTTz5xdzkA/j/CDgC4SNWqVXX27FmNGjVKZcqUcXc5AP4/dmMBAABL4wBlAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaf8P7+5CE/p0lMoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "compute_nb_clients(customer_sport)" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "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 spectacle\")\n", + " \n", + " # Affichage du barplot\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "2c7c2d26-4e35-4163-b771-fa4d3e8ca83e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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AA8eJyIioleK7AD1JAYnIiIiehXJPoj8xo0bCA0NhbOzMwwNDWFgYKD2ICIiInrZyR6BCg8PR0ZGBiZNmgQnJycoFIrKqIuIiIhIb8kOUAcOHMD+/fvRrFmzSiiHiIiISP/J3oXn4uICIURl1EJERERUJcgOUIsWLcKECRNw+fLlSiiHiIiISP/J3oXXv39/3L9/H/Xq1YOZmRmMjIzUpt++fVtrxRERERHpI9kBatGiRZVQBhEREVHVITtAhYWFVUYdRERERFWG7GOgAODixYv47LPPMHDgQNy8eRMAsH37dpw+fVqrxRERERHpI9kBKjExEd7e3jh06BDi4uJQUFAAADh58iQmT56s9QKJiIiI9I3sADVhwgRMnz4dCQkJMDY2lto7deqEpKQkrRZHREREpI9kB6hTp06hd+/eZdrt7OyQk5OjlaKIiIiI9JnsAFWjRg1kZWWVaT9+/Dhq1aqllaKIiIiI9JnsABUSEoLx48cjOzsbCoUCJSUl+PPPPxEdHY133323MmokIiIi0iuyA9SMGTNQp04d1KpVCwUFBfD09MQbb7wBX19ffPbZZ5VRIxEREZFekX0dKCMjI6xduxbTpk3D8ePHUVJSgubNm6NBgwaVUR8RERGR3pEdoBITE+Hn54d69eqhXr16lVETERERkV6TvQvP398fderUwYQJE5CamloZNRERERHpNdkB6vr16xg3bhz279+PJk2aoEmTJpg7dy6uXr1aGfURERER6R3ZAapmzZoYPXo0/vzzT1y8eBH9+/fHqlWr4Obmhs6dO1dGjURERER65bnuhVfK3d0dEyZMwOzZs+Ht7Y3ExERt1UVERESkt547QP35558YOXIknJycEBISgsaNG2PLli3arI2IiIhIL8k+C+8///kP1q1bh+vXr6Nr165YtGgRevXqBTMzs8qoj4iIiEjvyA5Q+/btQ3R0NPr374+aNWtWRk1EREREek12gDp48GBl1EFERERUZbzQQeREREREryIGKCIiIiKZGKCIiIiIZGKAIiIiIpJJdoCqW7cucnJyyrTfuXMHdevW1UpRRERERPpMdoC6fPkyVCpVmfbCwkJcu3ZNK0URERER6TONL2OwadMm6ecdO3ZAqVRKz1UqFXbv3g03NzetFkdERESkjzQOUL169QIAKBQKhIWFqU0zMjKCm5sbvvzyS60WR0RE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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "maximum_price_paid(customer_sport)" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "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": null, + "id": "5058d3c9-73a0-4e01-881e-4d2423f0d291", + "metadata": {}, + "outputs": [], + "source": [ + "customer_sport[\"already_purchased\"] = customer_sport[\"purchase_count\"] > 0" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "986a0e41-ae31-46c5-a009-861530d85f45", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
customer_idstreet_idstructure_idmcp_contact_idfidelitytenant_idis_partnerdeleted_atgenderis_email_true...purchase_countfirst_buying_datecountrygender_labelgender_femalegender_malegender_othercountry_frhas_tagsnumber_company
0[5, _, 6, 0, 0, 9, 7, 4, 5]1372685NaNNaN01771FalseNaN2True...0NaNafother0010.005
1[5, _, 6, 0, 1, 1, 2, 2, 8]1372685NaNNaN01771FalseNaN2True...0NaNafother0010.005
2[5, _, 6, 0, 5, 8, 9, 5, 0]1372685NaNNaN01771FalseNaN2True...0NaNafother0010.005
3[5, _, 6, 0, 6, 2, 4, 0, 4]1372685NaNNaN01771FalseNaN2True...0NaNafother0010.005
4[5, _, 2, 5, 0, 2, 1, 7]78785NaN11035.001771FalseNaN0True...0NaNfrfemale1001.005
..................................................................
998841[9, _, 9, 9, 5, 1, 4, 6]607676NaNNaN11490FalseNaN1True...12022-05-12 06:20:49+00:00NaNmale010NaN09
998842[9, _, 9, 7, 0, 8, 9, 1]587855NaNNaN11490FalseNaN1True...12022-05-03 04:20:43+00:00frmale0101.009
998843[9, _, 8, 4, 4, 3, 0, 2]484177NaNNaN11490FalseNaN1True...12022-03-27 12:15:02+00:00demale0100.009
998844[9, _, 9, 4, 1, 2, 6, 0]564032NaNNaN11490FalseNaN1True...12022-04-20 15:12:38+00:00chmale0100.009
998845[9, _, 8, 0, 9, 7, 4, 2]453747NaNNaN11490FalseNaN1True...12022-03-07 20:42:07+00:00frmale0101.009
\n", + "

998846 rows × 29 columns

\n", + "
" + ], + "text/plain": [ + " customer_id street_id structure_id mcp_contact_id \\\n", + "0 [5, _, 6, 0, 0, 9, 7, 4, 5] 1372685 NaN NaN \n", + "1 [5, _, 6, 0, 1, 1, 2, 2, 8] 1372685 NaN NaN \n", + "2 [5, _, 6, 0, 5, 8, 9, 5, 0] 1372685 NaN NaN \n", + "3 [5, _, 6, 0, 6, 2, 4, 0, 4] 1372685 NaN NaN \n", + "4 [5, _, 2, 5, 0, 2, 1, 7] 78785 NaN 11035.0 \n", + "... ... ... ... ... \n", + "998841 [9, _, 9, 9, 5, 1, 4, 6] 607676 NaN NaN \n", + "998842 [9, _, 9, 7, 0, 8, 9, 1] 587855 NaN NaN \n", + "998843 [9, _, 8, 4, 4, 3, 0, 2] 484177 NaN NaN \n", + "998844 [9, _, 9, 4, 1, 2, 6, 0] 564032 NaN NaN \n", + "998845 [9, _, 8, 0, 9, 7, 4, 2] 453747 NaN NaN \n", + "\n", + " fidelity tenant_id is_partner deleted_at gender is_email_true \\\n", + "0 0 1771 False NaN 2 True \n", + "1 0 1771 False NaN 2 True \n", + "2 0 1771 False NaN 2 True \n", + "3 0 1771 False NaN 2 True \n", + "4 0 1771 False NaN 0 True \n", + "... ... ... ... ... ... ... \n", + "998841 1 1490 False NaN 1 True \n", + "998842 1 1490 False NaN 1 True \n", + "998843 1 1490 False NaN 1 True \n", + "998844 1 1490 False NaN 1 True \n", + "998845 1 1490 False NaN 1 True \n", + "\n", + " ... purchase_count first_buying_date country gender_label \\\n", + "0 ... 0 NaN af other \n", + "1 ... 0 NaN af other \n", + "2 ... 0 NaN af other \n", + "3 ... 0 NaN af other \n", + "4 ... 0 NaN fr female \n", + "... ... ... ... ... ... \n", + "998841 ... 1 2022-05-12 06:20:49+00:00 NaN male \n", + "998842 ... 1 2022-05-03 04:20:43+00:00 fr male \n", + "998843 ... 1 2022-03-27 12:15:02+00:00 de male \n", + "998844 ... 1 2022-04-20 15:12:38+00:00 ch male \n", + "998845 ... 1 2022-03-07 20:42:07+00:00 fr male \n", + "\n", + " gender_female gender_male gender_other country_fr has_tags \\\n", + "0 0 0 1 0.0 0 \n", + "1 0 0 1 0.0 0 \n", + "2 0 0 1 0.0 0 \n", + "3 0 0 1 0.0 0 \n", + "4 1 0 0 1.0 0 \n", + "... ... ... ... ... ... \n", + "998841 0 1 0 NaN 0 \n", + "998842 0 1 0 1.0 0 \n", + "998843 0 1 0 0.0 0 \n", + "998844 0 1 0 0.0 0 \n", + "998845 0 1 0 1.0 0 \n", + "\n", + " number_company \n", + "0 5 \n", + "1 5 \n", + "2 5 \n", + "3 5 \n", + "4 5 \n", + "... ... \n", + "998841 9 \n", + "998842 9 \n", + "998843 9 \n", + "998844 9 \n", + "998845 9 \n", + "\n", + "[998846 rows x 29 columns]" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "customer_sport" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "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": null, + "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 spectacle\")\n", + " plt.legend()\n", + " \n", + " # Affichage du barplot\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2fc30f1d-cf64-4efb-9442-4d97bb50b29f", + "metadata": {}, + "outputs": [], + "source": [ + "gender_bar()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "4b3bb641-814b-4679-9a67-4eca87a920a6", + "metadata": {}, + "outputs": [], + "source": [ + "def country_bar(customer_sport):\n", + " company_country_fr = customer_sport.groupby(\"number_compagny\")[\"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 spectacle\")\n", + " \n", + " # Affichage du barplot\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "01258674-6b98-49e4-93f4-f4185964999f", + "metadata": {}, + "outputs": [], + "source": [ + "country_bar()" + ] + } + ], + "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 +} -- 2.34.1 From 688410299fd8330d1aa3f0c2608739df509d9cf8 Mon Sep 17 00:00:00 2001 From: arevelle-ensae Date: Mon, 4 Mar 2024 18:29:21 +0000 Subject: [PATCH 2/7] work on stat desc --- .../stat_desc_sport.ipynb | 652 ++++++------------ 1 file changed, 192 insertions(+), 460 deletions(-) diff --git a/Sport/Descriptive_statistics/stat_desc_sport.ipynb b/Sport/Descriptive_statistics/stat_desc_sport.ipynb index 87ded22..981fe1c 100644 --- a/Sport/Descriptive_statistics/stat_desc_sport.ipynb +++ b/Sport/Descriptive_statistics/stat_desc_sport.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 31, "id": "dd143b00-1989-44cf-8558-a30087d17f70", "metadata": {}, "outputs": [], @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 32, "id": "08c63120-1b56-4145-9014-18a637b22876", "metadata": {}, "outputs": [], @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 33, "id": "f8bd679d-fa76-49d4-9ec1-9f15516f16d3", "metadata": {}, "outputs": [], @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 34, "id": "945c59bb-05b4-4f21-82f0-0db40d7957b3", "metadata": {}, "outputs": [], @@ -67,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 35, "id": "41a67995-0a08-45c0-bbad-6e6cee5474c8", "metadata": {}, "outputs": [ @@ -159,7 +159,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 36, "id": "c4d4b2ad-8a3c-477b-bc52-dd4860527bfe", "metadata": {}, "outputs": [ @@ -169,7 +169,7 @@ "array([5, 6, 7, 8, 9])" ] }, - "execution_count": 6, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -181,7 +181,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 37, "id": "97a9e235-1c04-46bf-9f3c-5496e141cc40", "metadata": {}, "outputs": [], @@ -220,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 38, "id": "770cd3fc-bfe2-4a69-89bc-0eb946311130", "metadata": {}, "outputs": [ @@ -230,7 +230,7 @@ "['5_191835', '6_591412', '7_49632', '8_1942', '9_19683']" ] }, - "execution_count": 8, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -242,7 +242,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 39, "id": "70b6e961-c303-465e-93f4-609721d38454", "metadata": {}, "outputs": [ @@ -258,7 +258,7 @@ "# On filtre les outliers\n", "\n", "def remove_elements(lst, elements_to_remove):\n", - " return [x for x in lst if x not in 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", @@ -274,7 +274,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 40, "id": "b54b920a-7b46-490f-ba7e-d1859055a4e3", "metadata": {}, "outputs": [ @@ -325,7 +325,7 @@ " \n", " \n", " 0\n", - " [5, _, 6, 0, 0, 9, 7, 4, 5]\n", + " 5_6009745\n", " 1372685\n", " NaN\n", " NaN\n", @@ -349,7 +349,7 @@ " \n", " \n", " 1\n", - " [5, _, 6, 0, 1, 1, 2, 2, 8]\n", + " 5_6011228\n", " 1372685\n", " NaN\n", " NaN\n", @@ -373,7 +373,7 @@ " \n", " \n", " 2\n", - " [5, _, 6, 0, 5, 8, 9, 5, 0]\n", + " 5_6058950\n", " 1372685\n", " NaN\n", " NaN\n", @@ -397,7 +397,7 @@ " \n", " \n", " 3\n", - " [5, _, 6, 0, 6, 2, 4, 0, 4]\n", + " 5_6062404\n", " 1372685\n", " NaN\n", " NaN\n", @@ -421,7 +421,7 @@ " \n", " \n", " 4\n", - " [5, _, 2, 5, 0, 2, 1, 7]\n", + " 5_250217\n", " 78785\n", " NaN\n", " 11035.0\n", @@ -449,38 +449,38 @@ "" ], "text/plain": [ - " customer_id street_id structure_id mcp_contact_id \\\n", - "0 [5, _, 6, 0, 0, 9, 7, 4, 5] 1372685 NaN NaN \n", - "1 [5, _, 6, 0, 1, 1, 2, 2, 8] 1372685 NaN NaN \n", - "2 [5, _, 6, 0, 5, 8, 9, 5, 0] 1372685 NaN NaN \n", - "3 [5, _, 6, 0, 6, 2, 4, 0, 4] 1372685 NaN NaN \n", - "4 [5, _, 2, 5, 0, 2, 1, 7] 78785 NaN 11035.0 \n", + " 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", - " fidelity tenant_id is_partner deleted_at gender is_email_true ... \\\n", - "0 0 1771 False NaN 2 True ... \n", - "1 0 1771 False NaN 2 True ... \n", - "2 0 1771 False NaN 2 True ... \n", - "3 0 1771 False NaN 2 True ... \n", - "4 0 1771 False NaN 0 True ... \n", + " is_partner deleted_at gender is_email_true ... purchase_count \\\n", + "0 False NaN 2 True ... 0 \n", + "1 False NaN 2 True ... 0 \n", + "2 False NaN 2 True ... 0 \n", + "3 False NaN 2 True ... 0 \n", + "4 False NaN 0 True ... 0 \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", + " first_buying_date country gender_label gender_female gender_male \\\n", + "0 NaN af other 0 0 \n", + "1 NaN af other 0 0 \n", + "2 NaN af other 0 0 \n", + "3 NaN af other 0 0 \n", + "4 NaN fr female 1 0 \n", "\n", - " gender_male gender_other country_fr has_tags number_company \n", - "0 0 1 0.0 0 5 \n", - "1 0 1 0.0 0 5 \n", - "2 0 1 0.0 0 5 \n", - "3 0 1 0.0 0 5 \n", - "4 0 0 1.0 0 5 \n", + " gender_other country_fr has_tags number_company \n", + "0 1 0.0 0 5 \n", + "1 1 0.0 0 5 \n", + "2 1 0.0 0 5 \n", + "3 1 0.0 0 5 \n", + "4 0 1.0 0 5 \n", "\n", "[5 rows x 29 columns]" ] }, - "execution_count": 10, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -499,7 +499,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 45, "id": "eec1ac0b-2502-452b-97e6-69ffb77156d6", "metadata": {}, "outputs": [], @@ -511,7 +511,7 @@ " # 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 spectacle\")\n", + " plt.title(\"Nombre de clients de chaque compagnie de sport\")\n", " \n", " # Affichage du barplot\n", " plt.show()" @@ -519,7 +519,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 46, "id": "db4494e7-6f65-4f7e-bf8c-8ec321d0b02d", "metadata": {}, "outputs": [ @@ -540,7 +540,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 47, "id": "a12a59a0-edfe-4e52-8037-9b875f823b33", "metadata": {}, "outputs": [], @@ -553,7 +553,7 @@ " # Ajout de titres et d'étiquettes\n", " plt.xlabel('Company')\n", " plt.ylabel(\"Prix maximal d'un billet vendu\")\n", - " plt.title(\"Prix maximal de vente observé par compagnie de spectacle\")\n", + " plt.title(\"Prix maximal de vente observé par compagnie de sport\")\n", " \n", " # Affichage du barplot\n", " plt.show()" @@ -561,7 +561,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 48, "id": "2c7c2d26-4e35-4163-b771-fa4d3e8ca83e", "metadata": {}, "outputs": [ @@ -582,7 +582,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 49, "id": "597d4361-8beb-43f4-9224-8f7dc34b187c", "metadata": {}, "outputs": [ @@ -703,7 +703,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "id": "5058d3c9-73a0-4e01-881e-4d2423f0d291", "metadata": {}, "outputs": [], @@ -713,405 +713,7 @@ }, { "cell_type": "code", - "execution_count": 69, - "id": "986a0e41-ae31-46c5-a009-861530d85f45", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
customer_idstreet_idstructure_idmcp_contact_idfidelitytenant_idis_partnerdeleted_atgenderis_email_true...purchase_countfirst_buying_datecountrygender_labelgender_femalegender_malegender_othercountry_frhas_tagsnumber_company
0[5, _, 6, 0, 0, 9, 7, 4, 5]1372685NaNNaN01771FalseNaN2True...0NaNafother0010.005
1[5, _, 6, 0, 1, 1, 2, 2, 8]1372685NaNNaN01771FalseNaN2True...0NaNafother0010.005
2[5, _, 6, 0, 5, 8, 9, 5, 0]1372685NaNNaN01771FalseNaN2True...0NaNafother0010.005
3[5, _, 6, 0, 6, 2, 4, 0, 4]1372685NaNNaN01771FalseNaN2True...0NaNafother0010.005
4[5, _, 2, 5, 0, 2, 1, 7]78785NaN11035.001771FalseNaN0True...0NaNfrfemale1001.005
..................................................................
998841[9, _, 9, 9, 5, 1, 4, 6]607676NaNNaN11490FalseNaN1True...12022-05-12 06:20:49+00:00NaNmale010NaN09
998842[9, _, 9, 7, 0, 8, 9, 1]587855NaNNaN11490FalseNaN1True...12022-05-03 04:20:43+00:00frmale0101.009
998843[9, _, 8, 4, 4, 3, 0, 2]484177NaNNaN11490FalseNaN1True...12022-03-27 12:15:02+00:00demale0100.009
998844[9, _, 9, 4, 1, 2, 6, 0]564032NaNNaN11490FalseNaN1True...12022-04-20 15:12:38+00:00chmale0100.009
998845[9, _, 8, 0, 9, 7, 4, 2]453747NaNNaN11490FalseNaN1True...12022-03-07 20:42:07+00:00frmale0101.009
\n", - "

998846 rows × 29 columns

\n", - "
" - ], - "text/plain": [ - " customer_id street_id structure_id mcp_contact_id \\\n", - "0 [5, _, 6, 0, 0, 9, 7, 4, 5] 1372685 NaN NaN \n", - "1 [5, _, 6, 0, 1, 1, 2, 2, 8] 1372685 NaN NaN \n", - "2 [5, _, 6, 0, 5, 8, 9, 5, 0] 1372685 NaN NaN \n", - "3 [5, _, 6, 0, 6, 2, 4, 0, 4] 1372685 NaN NaN \n", - "4 [5, _, 2, 5, 0, 2, 1, 7] 78785 NaN 11035.0 \n", - "... ... ... ... ... \n", - "998841 [9, _, 9, 9, 5, 1, 4, 6] 607676 NaN NaN \n", - "998842 [9, _, 9, 7, 0, 8, 9, 1] 587855 NaN NaN \n", - "998843 [9, _, 8, 4, 4, 3, 0, 2] 484177 NaN NaN \n", - "998844 [9, _, 9, 4, 1, 2, 6, 0] 564032 NaN NaN \n", - "998845 [9, _, 8, 0, 9, 7, 4, 2] 453747 NaN NaN \n", - "\n", - " fidelity tenant_id is_partner deleted_at gender is_email_true \\\n", - "0 0 1771 False NaN 2 True \n", - "1 0 1771 False NaN 2 True \n", - "2 0 1771 False NaN 2 True \n", - "3 0 1771 False NaN 2 True \n", - "4 0 1771 False NaN 0 True \n", - "... ... ... ... ... ... ... \n", - "998841 1 1490 False NaN 1 True \n", - "998842 1 1490 False NaN 1 True \n", - "998843 1 1490 False NaN 1 True \n", - "998844 1 1490 False NaN 1 True \n", - "998845 1 1490 False NaN 1 True \n", - "\n", - " ... purchase_count first_buying_date country gender_label \\\n", - "0 ... 0 NaN af other \n", - "1 ... 0 NaN af other \n", - "2 ... 0 NaN af other \n", - "3 ... 0 NaN af other \n", - "4 ... 0 NaN fr female \n", - "... ... ... ... ... ... \n", - "998841 ... 1 2022-05-12 06:20:49+00:00 NaN male \n", - "998842 ... 1 2022-05-03 04:20:43+00:00 fr male \n", - "998843 ... 1 2022-03-27 12:15:02+00:00 de male \n", - "998844 ... 1 2022-04-20 15:12:38+00:00 ch male \n", - "998845 ... 1 2022-03-07 20:42:07+00:00 fr male \n", - "\n", - " gender_female gender_male gender_other country_fr has_tags \\\n", - "0 0 0 1 0.0 0 \n", - "1 0 0 1 0.0 0 \n", - "2 0 0 1 0.0 0 \n", - "3 0 0 1 0.0 0 \n", - "4 1 0 0 1.0 0 \n", - "... ... ... ... ... ... \n", - "998841 0 1 0 NaN 0 \n", - "998842 0 1 0 1.0 0 \n", - "998843 0 1 0 0.0 0 \n", - "998844 0 1 0 0.0 0 \n", - "998845 0 1 0 1.0 0 \n", - "\n", - " number_company \n", - "0 5 \n", - "1 5 \n", - "2 5 \n", - "3 5 \n", - "4 5 \n", - "... ... \n", - "998841 9 \n", - "998842 9 \n", - "998843 9 \n", - "998844 9 \n", - "998845 9 \n", - "\n", - "[998846 rows x 29 columns]" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "customer_sport" - ] - }, - { - "cell_type": "code", - "execution_count": 67, + "execution_count": 52, "id": "848963c9-6129-4106-80b5-76bf814b70d1", "metadata": {}, "outputs": [], @@ -1150,7 +752,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, + "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": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "mailing_consent(customer_sport)" + ] + }, + { + "cell_type": "code", + "execution_count": 56, "id": "d8071891-e6f5-4d93-b039-9e99c20ec4b0", "metadata": {}, "outputs": [], @@ -1166,7 +789,7 @@ " # Ajout de titres et d'étiquettes\n", " plt.xlabel('Company')\n", " plt.ylabel(\"Part de clients de chaque sexe\")\n", - " plt.title(\"Sexe des clients de chaque compagnie de spectacle\")\n", + " plt.title(\"Sexe des clients de chaque compagnie de sport\")\n", " plt.legend()\n", " \n", " # Affichage du barplot\n", @@ -1175,30 +798,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 57, "id": "2fc30f1d-cf64-4efb-9442-4d97bb50b29f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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bi4cHR2hVCqNXRIREVVSDDfPqFGjBgBoAg5VLo6OjprXiIiIqDgMN89QKBRwdXWFs7Mznjx5Yuxy6B/MzMw4YkNERC/EcFMCpVLJP6REREQvIR5QTERERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREsmJq7AKIiEiiKAdjV/DyiMozdgVkBBy5ISIiIllhuCEiIiJZYbghIiIiWWG4ISIiIllhuCEiIiJZYbghIiIiWWG4ISIiIllhuCEiIiJZKVW42bdvH4YMGYKAgABcuXIFALBhwwbs37/foMURERERSSU53GzevBkhISGwsrJCeno6CgoKAAB3797Fhx9+aPACiYiIiKSQHG4WLFiAlStXYs2aNTAzM9O0BwYG4ujRowYtjoiIiEgqyeHm5MmTaN++vU67vb097ty5I7mAFStWwNPTE5aWlvDz88O+ffue27+goACzZs2Cu7s7LCwsULduXcTGxkpeLxEREcmT5Btnurq64syZM/Dw8NBq379/P7y8vCQtKyEhAeHh4VixYgXatm2LVatWoWvXrsjIyECdOnWKnad///64du0a1q5di3r16iE3NxeFhYVSN4OIiIhkSnK4GTNmDCZNmoTY2FgoFApcvXoVBw8exNSpUzFnzhxJy1qyZAlGjRqF0aNHAwCWLVuGpKQkxMTEIDo6Wqf/jh07kJKSgnPnzqFq1aoAoBOyiIiI6NUm+WupadOm4e2330ZQUBDu3buH9u3bY/To0RgzZgwmTJig93IeP36MtLQ0BAcHa7UHBwcjNTW12Hl+/PFH+Pv7Y/HixahVqxYaNGiAqVOn4uHDh1I3g4iIiGRK8sgNACxcuBCzZs1CRkYG1Go1GjduDFtbW0nLuHHjBlQqFVxcXLTaXVxckJOTU+w8586dw/79+2FpaYnvv/8eN27cwPjx43Hr1q0Sj7spKCjQnNEFAPn5+ZLqJCIiopeL5JGbtWvXAgCsra3h7++P1q1bw9bWFoWFhZg5c6bkAhQKhda0EEKnrYharYZCocDGjRvRunVrdOvWDUuWLEFcXFyJozfR0dFwcHDQPNzc3CTXSERERC8PyeFmypQp6NOnD27duqVpO3HiBFq3bo1vv/1W7+VUq1YNSqVSZ5QmNzdXZzSniKurK2rVqgUHBwdNW6NGjSCEwOXLl4udZ+bMmcjLy9M8Ll26pHeNRERE9PKRHG7S09Nx7do1+Pj4IDk5GZ9//jlatmyJpk2b4tixY3ovx9zcHH5+fkhOTtZqT05ORmBgYLHztG3bFlevXsW9e/c0badOnYKJiQlq165d7DwWFhawt7fXehAREZF8SQ43np6e+PXXX9G3b1906dIFkydPRmxsLOLj42FnZydpWREREfjiiy8QGxuLzMxMTJ48GVlZWRg7diyAp6MuYWFhmv6DBw+Gk5MTRowYgYyMDPz66694//33MXLkSFhZWUndFCIiIpKhUh1QvH37dnz99dcIDAzEyZMnsWbNGrRv3x41a9aUtJwBAwbg5s2bmDdvHrKzs9G0aVMkJibC3d0dAJCdnY2srCxNf1tbWyQnJ+O9996Dv78/nJyc0L9/fyxYsKA0m0FEREQypBBCCCkzjBkzBuvXr8eCBQswZcoUXLt2DSNHjsThw4cRExOD/v37l1etBpGfnw8HBwfk5eXxKyo5iXJ4cR96KirP2BVQWfH9rj9Dvt+53/VXDp8zUv5+Sx65OXDgAA4fPozmzZsDAGrUqIHExER8/vnnGDlyZKUPN0RERCRvksNNWloaLCwsdNrfffdddOrUySBFEREREZWW5AOKLSwscPbsWXzwwQcYNGgQcnNzATy9NQLv8URERETGJjncpKSkwMfHB4cPH8aWLVs0p2X/8ccfiIyMNHiBRERERFJIDjczZszAggULkJycDHNzc017UFAQDh48aNDiiIiIiKSSHG7+/PNP9OrVS6e9evXquHnzpkGKIiIiIiotyeHG0dER2dnZOu3p6emoVauWQYoiIiIiKi3J4Wbw4MGYPn06cnJyoFAooFarceDAAUydOlXrasJERERExiD5VPCFCxdi+PDhqFWrFoQQaNy4MVQqFQYPHowPPvigPGokeiGPR18Zu4SXxgVjF0BEVM4khxszMzNs3LgR8+fPx9GjR6FWq+Hr64v69euXR31EREREkpTq3lIA4OXlBS8vL6hUKvz555+4ffs2qlSpYsjaiIiIiCSTfMxNeHg41q5dCwBQqVTo0KEDWrZsCTc3N+zdu9fQ9RERERFJIjncfPfdd5r7Sm3btg3nzp3DiRMnEB4ejlmzZhm8QCIiIiIpJIebGzduoEaNGgCAxMRE9O/fHw0aNMCoUaPw559/GrxAIiIiIikkhxsXFxdkZGRApVJhx44dmptlPnjwAEql0uAFEhEREUkh+YDiESNGoH///nB1dYVCoUDnzp0BAIcPH0bDhg0NXiARERGRFJLDTVRUFJo2bYpLly6hX79+sLCwAAAolUrMmDHD4AUSERERSVGqU8H79u2r0zZs2LAyF0NERERUVpKPuSEiIiKqzBhuiIiISFYYboiIiEhWGG6IiIhIVkoVbs6ePYsPPvgAgwYNQm5uLgBgx44d+Pvvvw1aHBEREZFUksNNSkoKfHx8cPjwYWzZsgX37t0DAPzxxx+IjIw0eIFEREREUkg+FXzGjBlYsGABIiIiYGdnp2kPCgrC8uXLDVrcSynKwdgVvDyi8oxdARERyZDkkZs///wTvXr10mmvXr06bt68aZCiiIiIiEpLcrhxdHREdna2Tnt6ejpq1aplkKKIiIiISktyuBk8eDCmT5+OnJwcKBQKqNVqHDhwAFOnTkVYWFh51EhERESkN8nhZuHChahTpw5q1aqFe/fuoXHjxmjfvj0CAwPxwQcflEeNRERERHqTfECxmZkZNm7ciHnz5iE9PR1qtRq+vr6oX79+edRHREREJEmpbpwJAHXr1kXdunUNWQsRERFRmUkONyNHjnzu87GxsaUuhoiIiKisJIeb27dva00/efIEf/31F+7cuYM333zTYIURERERlYbkcPP999/rtKnVaowfPx5eXl4GKYqIiIiotAxy40wTExNMnjwZS5cuNcTiiIiIiErNYHcFP3v2LAoLCw21OCIiIqJSkfy1VEREhNa0EALZ2dn46aefMGzYMMkFrFixAh9//DGys7PRpEkTLFu2DO3atSu27969exEUFKTTnpmZiYYNG0peNxEREcmP5HCTnp6uNW1iYoLq1avj008/feGZVM9KSEhAeHg4VqxYgbZt22LVqlXo2rUrMjIyUKdOnRLnO3nyJOzt7TXT1atXl7YRREREJFuSw82ePXsMtvIlS5Zg1KhRGD16NABg2bJlSEpKQkxMDKKjo0ucz9nZGY6Ojgarg4iIiOTDYMfcSPX48WOkpaUhODhYqz04OBipqanPndfX1xeurq7o2LGjQcMWERERvfwkj9z4+vpCoVDo1ffo0aMlPnfjxg2oVCq4uLhotbu4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zp0rqSYiIiJ6eUkON9evX8eIESPw888/F/u8vsfcVKtWDUqlUmeUJjc3V2c051kJCQkYNWoUNm3ahE6dOj2378yZMxEREaGZzs/Ph5ubm141EhER0ctH8tlS4eHhuH37Ng4dOgQrKyvs2LED69evR/369fHjjz/qvRxzc3P4+fkhOTlZqz05ORmBgYElzvf1119j+PDh+OqrrxAaGvrC9VhYWMDe3l7rQURERPIleeRm9+7d+OGHH9CqVSuYmJjA3d0dnTt3hr29PaKjo/UKHEUiIiIwdOhQ+Pv7IyAgAKtXr0ZWVhbGjh0L4Omoy5UrVxAfHw/gabAJCwvD8uXL0aZNG82oj5WVFW/aSURERABKMXJz//59zTEuVatWxfXr1wE8vbjf0aNHJS1rwIABWLZsGebNm4cWLVrg119/RWJiItzd3QEA2dnZWte8WbVqFQoLC/Huu+/C1dVV85g0aZLUzSAiIiKZkjxy4+3tjZMnT8LDwwMtWrTAqlWr4OHhgZUrV5bqflPjx4/H+PHji30uLi5Oa3rv3r2Sl09ERESvFsnhJjw8HFevXgXw9GaaISEh2LhxI8zNzXXCCBEREVFFkxxu3nnnHc3Pvr6+uHDhAk6cOIE6deqgWrVqBi2OiIiISCq9j7l58OAB3n33XdSqVQvOzs4YPHgwbty4AWtra7Rs2ZLBhoiIiCoFvcNNZGQk4uLiEBoaioEDByI5ORnjxo0rz9qIiIiIJNP7a6ktW7Zg7dq1GDhwIABgyJAhaNu2LVQqFZRKZbkVSERERCSF3iM3ly5dQrt27TTTrVu3hqmpqebgYiIiIqLKQO9wo1KpYG5urtVmamqKwsJCgxdFREREVFp6fy0lhMDw4cNhYWGhaXv06BHGjh0LGxsbTduWLVsMWyERERGRBHqHm2HDhum0DRkyxKDFEBEREZWV3uFm3bp15VkHERERkUFIvrcUERERUWXGcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESyYvRws2LFCnh6esLS0hJ+fn7Yt29fiX2zs7MxePBgeHt7w8TEBOHh4RVXKBEREb0UjBpuEhISEB4ejlmzZiE9PR3t2rVD165dkZWVVWz/goICVK9eHbNmzULz5s0ruFoiIiJ6GRg13CxZsgSjRo3C6NGj0ahRIyxbtgxubm6IiYkptr+HhweWL1+OsLAwODg4VHC1RERE9DIwWrh5/Pgx0tLSEBwcrNUeHByM1NRUI1VFRERELztTY634xo0bUKlUcHFx0Wp3cXFBTk6OwdZTUFCAgoICzXR+fr7Blk1ERESVj9EPKFYoFFrTQgidtrKIjo6Gg4OD5uHm5mawZRMREVHlY7RwU61aNSiVSp1RmtzcXJ3RnLKYOXMm8vLyNI9Lly4ZbNlERERU+Rgt3Jibm8PPzw/Jycla7cnJyQgMDDTYeiwsLGBvb6/1ICIiIvky2jE3ABAREYGhQ4fC398fAQEBWL16NbKysjB27FgAT0ddrly5gvj4eM08x44dAwDcu3cP169fx7Fjx2Bubo7GjRsbYxOIiIiokjFquBkwYABu3ryJefPmITs7G02bNkViYiLc3d0BPL1o37PXvPH19dX8nJaWhq+++gru7u64cOFCRZZORERElZRRww0AjB8/HuPHjy/2ubi4OJ02IUQ5V0REREQvM6OfLUVERERkSAw3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrRg83K1asgKenJywtLeHn54d9+/Y9t39KSgr8/PxgaWkJLy8vrFy5soIqJSIiopeBUcNNQkICwsPDMWvWLKSnp6Ndu3bo2rUrsrKyiu1//vx5dOvWDe3atUN6ejr+85//YOLEidi8eXMFV05ERESVlVHDzZIlSzBq1CiMHj0ajRo1wrJly+Dm5oaYmJhi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hg0bitWrVxu7pFdCUlKSACBOnjxp7FJeGfn5+WLSpEmiTp06wtLSUnh5eYlZs2aJgoICY5cmewkJCcLLy0uYm5uLGjVqiHfffVfcuXPH2GVVGjygmIiIiGSFx9wQERGRrDDcEBERkaww3BAREZGsMNwQERGRrDDcEBERkaww3BAREZGsMNwQERGRrDDcEBERkaww3BBRucjJycF7770HLy8vWFhYwM3NDT169MCuXbuMXRoRyRxvwEJEBnfhwgW0bdsWjo6OWLx4MZo1a4YnT54gKSkJ7777Lk6cOGHsEolIxjhyQ0QGN378eCgUCvz222/o27cvGjRogCZNmiAiIgKHDh0CAGRlZaFnz56wtbWFvb09+vfvj2vXrmmWERUVhRYtWiA2NhZ16tSBra0txo0bB5VKhcWLF6NGjRpwdnbGwoULtdatUCgQExODrl27wsrKCp6enti0aZNWn+nTp6NBgwawtraGl5cXZs+ejSdPnuise8OGDfDw8ICDgwMGDhyIu3fvAgDi4+Ph5OSEgoICreX26dMHYWFhBt2XRCQdww0RGdStW7ewY8cOvPvuu7CxsdF53tHREUIIvP3227h16xZSUlKQnJyMs2fPYsCAAVp9z549i59//hk7duzA119/jdjYWISGhuLy5ctISUnBRx99hA8++EATmIrMnj0bffr0wfHjxzFkyBAMGjQImZmZmuft7OwQFxeHjIwMLF++HGvWrMHSpUt11r1161Zs374d27dvR0pKChYtWgQA6NevH1QqFX788UdN/xs3bmD79u28KzNRZWDkG3cSkcwcPnxYABBbtmwpsc/OnTuFUqkUWVlZmra///5bABC//fabEEKIyMhIYW1tLfLz8zV9QkJChIeHh1CpVJo2b29vER0drZkGIMaOHau1vtdee02MGzeuxHoWL14s/Pz8NNPFrfv9998Xr732mmZ63LhxomvXrprpZcuWCS8vL6FWq0tcDxFVDB5zQ0QGJYQA8PTroZJkZmbCzc0Nbm5umrbGjRvD0dERmZmZaNWqFQDAw8MDdnZ2mj4uLi5QKpUwMTHRasvNzdVafkBAgM70sWPHNNPfffcdli1bhjNnzuDevXsoLCyEvb291jzPrtvV1VVrPf/617/QqlUrXLlyBbVq1cK6deswfPjw5243EVUMfi1FRAZVv359KBQKra+BniWEKDYEPNtuZmam9bxCoSi2Ta1Wv7CuouUeOnQIAwcORNeuXbF9+3akp6dj1qxZePz4sVb/F63H19cXzZs3R3x8PI4ePYo///wTw4cPf2EdRFT+GG6IyKCqVq2KkJAQfP7557h//77O83fu3EHjxo2RlZWFS5cuadozMjKQl5eHRo0albmGZ4/BOXToEBo2bAgAOHDgANzd3TFr1iz4+/ujfv36uHjxYqnWM3r0aKxbtw6xsbHo1KmT1kgUERkPww0RGdyKFSugUqnQunVrbN68GadPn0ZmZiY+++wzBAQEoFOnTmjWrBneeecdHD16FL/99hvCwsLQoUMH+Pv7l3n9mzZtQmxsLE6dOoXIyEj89ttvmDBhAgCgXr16yMrKwjfffIOzZ8/is88+w/fff1+q9bzzzju4cuUK1qxZg5EjR5a5biIyDIYbIjI4T09PHD16FEFBQZgyZQqaNm2Kzp07Y9euXYiJiYFCocDWrVtRpUoVtG/fHp06dYKXlxcSEhIMsv65c+fim2++QbNmzbB+/Xps3LgRjRs3BgD07NkTkydPxoQJE9CiRQukpqZi9uzZpVqPvb09+vTpA1tbW7z99tsGqZ2Iyk4hio7+IyKSAYVCge+//77Cwkbnzp3RqFEjfPbZZxWyPiJ6MZ4tRURUCrdu3cLOnTuxe/du/O9//zN2OUT0Dww3RESl0LJlS9y+fRsfffQRvL29jV0OEf0Dv5YiIiIiWeEBxURERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCv/D1RVYdQzWfNfAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "gender_bar()" + "gender_bar(customer_sport)" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 62, "id": "4b3bb641-814b-4679-9a67-4eca87a920a6", "metadata": {}, "outputs": [], "source": [ "def country_bar(customer_sport):\n", - " company_country_fr = customer_sport.groupby(\"number_compagny\")[\"country_fr\"].mean().reset_index()\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 spectacle\")\n", + " plt.title(\"Nationalité des clients de chaque compagnie de sport\")\n", " \n", " # Affichage du barplot\n", " plt.show()" @@ -1206,12 +840,110 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 63, "id": "01258674-6b98-49e4-93f4-f4185964999f", "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHGCAYAAACIDqqPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIp0lEQVR4nO3dfXzN9f/H8efZtbFNmzaj2SbX11eFoeViJOlKLlK57kv0FaMiiXxJVJK+IeUyKokKKZbkSyiEkkUuJzbM1Vw1dvb5/eG28+s4G+dsZw4fj/vtdm43533en8/79fmcz9l5+lwdi2EYhgAAAEzCy9MFAAAAuBPhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBoXq7NmzqlSpktq3b6/s7GxPlwMAuAUQbv5h1qxZslgsCggI0IEDBxxev/fee1WtWrV8zfvjjz/WxIkTc33NYrFo5MiR+Zqvu+Wsg/3799vaunXrppiYGLt+r732mr788strzu/pp59WRESE5s6dKy+v/G9uMTEx6tatW76nLyxX1rV//35ZLBbNmjWrUMe92vbkTtdrea5ksVj07LPPXtcxceP74YcfZLFY9MMPPxTqOJ7a7j1hx44dGjlypN3f/MJwvd67HISbXGRmZurll1926zyv9mW0fv169erVy63judPw4cP1xRdf2LU5E27ee+89/frrr/rqq6/k7+9fiBXeOCIjI7V+/Xq1adOmUMe5XuEGuJHUqVNH69evV506dTxdimns2LFDr776aqGHm+uNcJOL++67Tx9//LG2bdt2XcZr0KCB7rjjjusyVn7ceeedql27tsvT9evXT7///ruKFy/u/qJuUP7+/mrQoIFuv/12T5cCmE5wcLAaNGig4OBgT5eCGxzhJhcvvPCCwsLC9OKLL16z73vvvad77rlH4eHhKlq0qKpXr67x48fr0qVLtj733nuvvv76ax04cEAWi8X2yJHbYant27froYce0m233aaAgADVqlVLs2fPtuuTs5vvk08+0bBhw1SqVCkFBwerRYsW2rlzp13fpKQkPfTQQ7rjjjsUEBCgcuXKqXfv3kpPT7/mMl55WMpisejcuXOaPXu2bVnuvfde2+tpaWnq3bu37rjjDvn5+Sk2NlavvvqqsrKyrjnWpUuX9MILL6hkyZIKDAxU48aN9fPPP+fa19lxpkyZopo1a6pYsWIKCgpSpUqV9NJLL12zlszMTI0aNUqVK1dWQECAwsLC1LRpU61bty7PafLanf3nn3+qc+fOCg8Pl7+/vypXrqz33nvPro+z7+e1tqf8Lu/hw4fVoUMHBQUFKSQkRB07dlRaWlqufTdt2qQHH3xQoaGhCggIUO3atfXZZ59dcwzJtfX60UcfqXLlygoMDFTNmjW1dOlSu9d3796t7t27q3z58goMDFTp0qXVtm1b/fbbbw7z+uOPP3TfffcpMDBQJUqUUJ8+fbRkyRKHXeV5HQK999577bZzScrIyNDgwYMVGxsrPz8/lS5dWgMGDNC5c+ecWhfffvutmjdvrpCQEAUGBqpy5coaO3asXZ/FixerYcOGCgwMVFBQkBISErR+/Xq7PiNHjpTFYtGvv/6q9u3bKyQkRKGhoUpMTFRWVpZ27typ++67T0FBQYqJidH48ePtps/Z9ubOnavExESVLFlSRYoUUXx8vLZs2WLXd9OmTerUqZNiYmJUpEgRxcTE6PHHH8/1UP7atWvVsGFDBQQEqHTp0ho+fLg+/PBDh0PfMTExeuCBB/Ttt9+qTp06KlKkiCpVqqQZM2bkWueVhzYKsj1er+3+Wp/LnFMCkpKS1L17d4WGhqpo0aJq27at9u7d6zC/7777Ts2bN1dwcLACAwPVqFEjrVy50qHfH3/8occff1wRERHy9/dXmTJl1KVLF2VmZmrWrFlq3769JKlp06a2vyU5f79c+d642jhXU5B1ejU+BZ6DCQUFBenll1/Wc889p++//17NmjXLs++ePXvUuXNn2x+3bdu2acyYMfrjjz9sH8zJkyfrX//6l/bs2eNweCc3O3fuVFxcnMLDwzVp0iSFhYVp7ty56tatm44cOaIXXnjBrv9LL72kRo0a6cMPP1RGRoZefPFFtW3bVsnJyfL29rbV2bBhQ/Xq1UshISHav3+/JkyYoMaNG+u3336Tr6+v0+tn/fr1atasmZo2barhw4dLku1/Umlpabr77rvl5eWlV155RXfeeafWr1+v0aNHa//+/Zo5c+ZV5/30009rzpw5Gjx4sBISErR9+3Y9+uijOnPmjF0/Z8f59NNP1bdvX/373//Wm2++KS8vL+3evVs7duy4ah1ZWVlq3bq11qxZowEDBqhZs2bKysrShg0blJKSori4OKfX144dOxQXF6cyZcrorbfeUsmSJbV8+XL1799f6enpGjFihF3/a72fV9ue8ru8Fy5cUIsWLXT48GGNHTtWFSpU0Ndff62OHTs69F21apXuu+8+1a9fX1OnTlVISIg+/fRTdezYUefPn7/quVGurNevv/5aGzdu1KhRo1SsWDGNHz9ejzzyiHbu3KmyZctKuvzFFBYWptdff1233367Tpw4odmzZ6t+/frasmWLKlasKEk6cuSI4uPj5evrq8mTJysiIkLz5s0r0Hk958+fV3x8vP766y+99NJLqlGjhn7//Xe98sor+u233/Tdd9/Zhc4rTZ8+XU8//bTi4+M1depUhYeHa9euXdq+fbutz8cff6wnnnhCLVu21CeffKLMzEyNHz9e9957r1auXKnGjRvbzbNDhw568skn1bt3byUlJdn+o/Xdd9+pb9++Gjx4sD7++GO9+OKLKleunB599FG76V966SXVqVNHH374oU6fPq2RI0fq3nvv1ZYtW2zrfP/+/apYsaI6deqk0NBQpaamasqUKbrrrru0Y8cOlShRQpL066+/KiEhQRUqVNDs2bMVGBioqVOnau7cubmuj23btmnQoEEaMmSIIiIi9OGHH6pnz54qV66c7rnnnjzXY0G2x+u13bvyuezZs6cSEhL08ccf6+DBg3r55Zd177336tdff7XtBZ87d666dOmihx56SLNnz5avr6/ef/99tWrVSsuXL1fz5s1t67Rx48YqUaKERo0apfLlyys1NVWLFy/WxYsX1aZNG7322mt66aWX9N5779kO9915552SnP/euNY4eZ2WUJB1ek0GbGbOnGlIMjZu3GhkZmYaZcuWNerVq2dkZ2cbhmEY8fHxRtWqVfOc3mq1GpcuXTLmzJljeHt7GydOnLC91qZNGyM6OjrX6SQZI0aMsD3v1KmT4e/vb6SkpNj1a926tREYGGicOnXKMAzDWLVqlSHJuP/+++36ffbZZ4YkY/369bmOl52dbVy6dMk4cOCAIcn46quvHNbBvn37bG1du3Z1qL1o0aJG165dHebdu3dvo1ixYsaBAwfs2t98801DkvH777/nWpNhGEZycrIhyRg4cKBd+7x58wxJduM5O86zzz5rFC9ePM8x8zJnzhxDkvHBBx9ctV90dLRdXfv27TMkGTNnzrS1tWrVyrjjjjuM06dP2037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Lzn/uczrPShXrpxdLe+++64aNGiQ61gRERGyWq3y9va+6jZ2Nc5+b4SGhuZrHHes06sh3FxDixYtlJCQoFGjRjkcJsrZffvPk6UMw9AHH3zgMJ9r/Q/kn5o3b64vvvhChw8ftvuSnjNnjgIDA/PcoPOSW52S9P7777s0n3/Ka3keeOABLVu2THfeeafLf3hzrkSZN2+e6tata2v/7LPPHK6Ays84RYsWVevWrXXx4kU9/PDD+v333/P8sm/durU++eQTzZo1q0CHpgIDA9W0aVNt2bJFNWrUkJ+fX77n9U/ObE+uLG/Tpk312WefafHixXa76D/++GO7fhUrVlT58uW1bds2h0DhDHet1xwWi8Vhu/7666916NAh25eBdHn5xo8fr23bttkdmrpy+aTLV+78+uuvdm27du3Szp077QLLAw88oNdee01hYWEuB9S4uDiFhIRo6tSp6tSpU66HpipWrKjSpUvr448/1uDBg219zp07p4ULF9quoHKnTz75RImJibaxDhw4oHXr1qlLly6SLq9vwzAc1vmHH34oq9Vq1xYfH69ly5bZhcLs7GwtWLDAbfUWdHu8Xtv9P13rczlv3jy1a9fO9nzdunU6cOCA7V5ojRo1UvHixbVjx45rnhAfHx+vBQsWaMyYMXmG7bz2DDv7vZFzVd21xrmSO9dpbgg3Thg3bpzq1q2ro0ePqmrVqrb2hIQE+fn56fHHH9cLL7ygv//+W1OmTNHJkycd5lG9enUtWrRIU6ZMUd26deXl5aV69erlOt6IESNs55S88sorCg0N1bx58/T1119r/PjxCgkJcan+SpUq6c4779SQIUNkGIZCQ0O1ZMkSJSUlubYirlieH374QUuWLFFkZKSCgoJUsWJFjRo1SklJSYqLi1P//v1VsWJF/f3339q/f7+WLVumqVOn5rn7snLlynryySc1ceJE+fr6qkWLFtq+fbvefPNNh/taODvO008/rSJFiqhRo0aKjIxUWlqaxo4dq5CQEN111115Lt/jjz+umTNnqk+fPtq5c6eaNm2q7Oxs/fTTT6pcubI6derk9Lp655131LhxYzVp0kTPPPOMYmJidObMGe3evVtLlizR999/7/S8cuS1PeV3ebt06aK3335bXbp00ZgxY1S+fHktW7ZMy5cvd+j7/vvvq3Xr1mrVqpW6deum0qVL68SJE0pO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hg21ZMkSu7YVK1aoXr168vX1zXUaf39/+fv7X4/yAADADcCje27Onj2rrVu3auvWrZIuX+q9detWpaSkSLq816VLly62/n369NGBAweUmJio5ORkzZgxQ9OnT9fgwYM9UT4AALgBeXTPzaZNm9S0aVPb88TERElS165dNWvWLKWmptqCjiTFxsZq2bJlGjhwoN577z2VKlVKkyZN4jJwAABgYzFyzsi9RWRkZCgkJESnT59WcHCwp8sBAJfFDPna0yXcNPa/3sbTJcBNXPn+vqlOKAYAALgWwg0AADAVwg0AADAVwg0AADAVwg0AADCVm+omfkBeuHrEeVw9AsDs2HMDAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMxePhZvLkyYqNjVVAQIDq1q2rNWvWXLX/vHnzVLNmTQUGBioyMlLdu3fX8ePHr1O1AADgRufRcDN//nwNGDBAw4YN05YtW9SkSRO1bt1aKSkpufZfu3atunTpop49e+r333/XggULtHHjRvXq1es6Vw4AAG5UHg03EyZMUM+ePdWrVy9VrlxZEydOVFRUlKZMmZJr/w0bNigmJkb9+/dXbGysGjdurN69e2vTpk3XuXIAAHCj8li4uXjxojZv3qyWLVvatbds2VLr1q3LdZq4uDj99ddfWrZsmQzD0JEjR/T555+rTZs2eY6TmZmpjIwMuwcAADAvj4Wb9PR0Wa1WRURE2LVHREQoLS0t12ni4uI0b948dezYUX5+fipZsqSKFy+ud999N89xxo4dq5CQENsjKirKrcsBAABuLB4/odhisdg9NwzDoS3Hjh071L9/f73yyivavHmzvv32W+3bt099+vTJc/5Dhw7V6dOnbY+DBw+6tX4AAHBj8fHUwCVKlJC3t7fDXpqjR4867M3JMXbsWDVq1EjPP/+8JKlGjRoqWrSomjRpotGjRysyMtJhGn9/f/n7+7t/AQAAwA3JY3tu/Pz8VLduXSUlJdm1JyUlKS4uLtdpzp8/Ly8v+5K9vb0lXd7jAwAA4NHDUomJifrwww81Y8YMJScna+DAgUpJSbEdZho6dKi6dOli69+2bVstWrRIU6ZM0d69e/Xjjz+qf//+uvvuu1WqVClPLQYAALiBeOywlCR17NhRx48f16hRo5Samqpq1app2bJlio6OliSlpqba3fOmW7duOnPmjP773/9q0KBBKl68uJo1a6Zx48Z5ahEAAMANxmLcYsdzMjIyFBISotOnTys4ONjT5cBNYoZ87ekSbhr7X8/71gm4ObC9O4/t3Txc+f72+NVSAAAA7kS4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAAplLgcGO1WrV161adPHnSHfUAAAAUiMvhZsCAAZo+fbqky8EmPj5ederUUVRUlH744Qd31wcAAOASl8PN559/rpo1a0qSlixZon379umPP/7QgAEDNGzYMLcXCAAA4AqXw016erpKliwpSVq2bJnat2+vChUqqGfPnvrtt9/cXiAAAIArXA43ERER2rFjh6xWq7799lu1aNFCknT+/Hl5e3u7vUAAAABX+Lg6Qffu3dWhQwdFRkbKYrEoISFBkvTTTz+pUqVKbi8QAADAFS6Hm5EjR6patWo6ePCg2rdvL39/f0mSt7e3hgwZ4vYCAQAAXOFyuJGkxx57zKGta9euBS4GAACgoJwKN5MmTdK//vUvBQQEaNKkSVft279/f7cUBgAAkB9OhZu3335bTzzxhAICAvT222/n2c9isRBuAACARzkVbvbt25frvwEAAG40/LYUAAAwlXydUPzXX39p8eLFSklJ0cWLF+1emzBhglsKAwAAyA+Xw83KlSv14IMPKjY2Vjt37lS1atW0f/9+GYahOnXqFEaNAAAATnP5sNTQoUM1aNAgbd++XQEBAVq4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qVJTU5WRkWH3AAAA8CSXfzgz54qoBx980O6S8JxLxK1Wq/uqAwAAcJHL4WbVqlWFUQcAAIBbuBxu4uPjC6MOAAAAt3A53OQ4f/68UlJSdPHiRbv2GjVqFLgoAACA/HI53Bw7dkzdu3fXN998k+vrnHMDAAA8yeWrpQYMGKCTJ09qw4YNKlKkiL799lvNnj1b5cuX1+LFiwujRgAAAKe5vOfm+++/11dffaW77rpLXl5eio6OVkJCgoKDgzV27Fi1adOmMOoEAABwist7bs6dO6fw8HBJUmhoqI4dOybp8s39fvnlF/dWBwAA4CKXw03FihW1c+dOSVKtWrX0/vvv69ChQ5o6dSq/NwUAADzO5cNSAwYM0OHDhyVd/jHNVq1aad68efLz89OsWbPcXR8AAIBLXA43TzzxhO3ftWvX1v79+/XHH3+oTJkyKlGihFuLAwAAcJXTh6XOnz+vfv36qXTp0goPD1fnzp2Vnp6uwMBA1alTh2ADAABuCE6HmxEjRmjWrFlq06aNOnXqpKSkJD3zzDOFWRsAAIDLnD4stWjRIk2fPl2dOnWSJD355JNq1KiRrFarvL29C61AAAAAVzi95+bgwYNq0qSJ7fndd98tHx8f28nFAAAANwKnw43VapWfn59dm4+Pj7KystxeFAAAQH45fVjKMAx169ZN/v7+tra///5bffr0UdGiRW1tixYtcm+FAAAALnA63HTt2tWh7cknn3RrMQAAAAXldLiZOXNmYdYBAADgFi7//AIAAMCNjHADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMxcfTBQAAcDOIGfK1p0u4aex/vY1Hx2fPDQAAMBXCDQAAMBWPh5vJkycrNjZWAQEBqlu3rtasWZNn30WLFikhIUG33367goOD1bBhQy1fvvw6VgsAAG50Hg038+fP14ABAzRs2DBt2bJFTZo0UevWrZWSkpJr///9739KSEjQsmXLtHnzZjVt2lRt27bVli1brnPlAADgRuXRcDNhwgT17NlTvXr1UuXKlTVx4kRFRUVpypQpufafOHGiXnjhBd11110qX768XnvtNZUvX15Lliy5zpUDAIAblcfCzcWLF7V582a1bNnSrr1ly5Zat26dU/PIzs7WmTNnFBoammefzMxMZWRk2D0AAIB5eSzcpKeny2q1KiIiwq49IiJCaWlpTs3jrbfe0rlz59ShQ4c8+4wdO1YhISG2R1RUVIHqBgAANzaPn1BssVjsnhuG4dCWm08++UQjR47U/PnzFR4enme/oUOH6vTp07bHwYMHC1wzAAC4cXnsJn4lSpSQt7e3w16ao0ePOuzNudL8+fPVs2dPLViwQC1atLhqX39/f/n7+xe4XgAAcHPw2J4bPz8/1a1bV0lJSXbtSUlJiouLy3O6Tz75RN26ddPHH3+sNm08ewdEAABw4/Hozy8kJibqqaeeUr169dSwYUNNmzZNKSkp6tOnj6TLh5QOHTqkOXPmSLocbLp06aJ33nlHDRo0sO31KVKkiEJCQjy2HAAA4Mbh0XDTsWNHHT9+XKNGjVJqaqqqVaumZcuWKTo6WpKUmppqd8+b999/X1lZWerXr5/69etna+/atatmzZp1vcsHAAA3II//cGbfvn3Vt2/fXF+7MrD88MMPhV8QAAC4qXn8aikAAAB3ItwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABT8fF0AQBuXjFDvvZ0CTeN/a+38XQJwC2DPTcAAMBUCDcAAMBUPB5uJk+erNjYWAUEBKhu3bpas2bNVfuvXr1adevWVUBAgMqWLaupU6dep0oBAMDNwKPhZv78+RowYICGDRumLVu2qEmTJmrdurVSUlJy7b9v3z7df//9atKkibZs2aKXXnpJ/fv318KFC69z5QAA4Ebl0XAzYcIE9ezZU7169VLlypU1ceJERUVFacqUKbn2nzp1qsqUKaOJEyeqcuXK6tWrl3r06KE333zzOlcOAABuVB4LNxcvXtTmzZvVsmVLu/aWLVtq3bp1uU6zfv16h/6tWrXSpk2bdOnSpUKrFQAA3Dw8dil4enq6rFarIiIi7NojIiKUlpaW6zRpaWm59s/KylJ6eroiIyMdpsnMzFRmZqbt+enTpyVJGRkZBV2EXGVnni+U+ZqRO98D1rvzWO+ewXr3DNa7ZxTGd2zOPA3DuGZfj9/nxmKx2D03DMOh7Vr9c2vPMXbsWL366qsO7VFRUa6WCjcLmejpCm5NrHfPYL17BuvdMwpzvZ85c0YhISFX7eOxcFOiRAl5e3s77KU5evSow96ZHCVLlsy1v4+Pj8LCwnKdZujQoUpMTLQ9z87O1okTJxQWFnbVEGUmGRkZioqK0sGDBxUcHOzpcm4JrHPPYL17BuvdM2619W4Yhs6cOaNSpUpds6/Hwo2fn5/q1q2rpKQkPfLII7b2pKQkPfTQQ7lO07BhQy1ZssSubcWKFapXr558fX1zncbf31/+/v52bcWLFy9Y8Tep4ODgW+IDcCNhnXsG690zWO+ecSut92vtscnh0aulEhMT9eGHH2rGjBlKTk7WwIEDlZKSoj59+ki6vNelS5cutv59+vTRgQMHlJiYqOTkZM2YMUPTp0/X4MGDPbUIAADgBuPRc246duyo48ePa9SoUUpNTVW1atW0bNkyRUdHS5JSU1Pt7nkTGxurZcuWaeDAgXrvvfdUqlQpTZo0Se3atfPUIgAAgBuMx08o7tu3r/r27Zvra7NmzXJoi4+P1y+//FLIVZmLv7+/RowY4XB4DoWHde4ZrHfPYL17Bus9bxbDmWuqAAAAbhIe/20pAAAAdyLcAAAAUyHcAAAAUyHcAAAAUyHcmNTIkSNlsVjsHiVLlvR0WbeEQ4cO6cknn1RYWJgCAwNVq1Ytbd682dNlmVpMTIzD9m6xWNSvXz9Pl2ZqWVlZevnllxUbG6siRYqobNmyGjVqlLKzsz1dmumdOXNGAwYMUHR0tIoUKaK4uDht3LjR02XdMDx+KTgKT9WqVfXdd9/Znnt7e3uwmlvDyZMn1ahRIzVt2lTffPONwsPDtWfPnlv2rtjXy8aNG2W1Wm3Pt2/froSEBLVv396DVZnfuHHjNHXqVM2ePVtVq1bVpk2b1L17d4WEhOi5557zdHmm1qtXL23fvl0fffSRSpUqpblz56pFixbasWOHSpcu7enyPI5LwU1q5MiR+vLLL7V161ZPl3JLGTJkiH788UetWbPG06Xc0gYMGKClS5fqzz//vGV+Q84THnjgAUVERGj69Om2tnbt2ikwMFAfffSRBysztwsXLigoKEhfffWV2rRpY2uvVauWHnjgAY0ePdqD1d0YOCxlYn/++adKlSql2NhYderUSXv37vV0Saa3ePFi1atXT+3bt1d4eLhq166tDz74wNNl3VIuXryouXPnqkePHgSbQta4cWOtXLlSu3btkiRt27ZNa9eu1f333+/hyswtKytLVqtVAQEBdu1FihTR2rVrPVTVjYVwY1L169fXnDlztHz5cn3wwQdKS0tTXFycjh8/7unSTG3v3r2aMmWKypcvr+XLl6tPnz7q37+/5syZ4+nSbhlffvmlTp06pW7dunm6FNN78cUX9fjjj6tSpUry9fVV7dq1NWDAAD3++OOeLs3UgoKC1LBhQ/3nP//R4cOHZbVaNXfuXP30009KTU31dHk3BA5L3SLOnTunO++8Uy+88IISExM9XY5p+fn5qV69elq3bp2trX///tq4caPWr1/vwcpuHa1atZKfn5+WLFni6VJM79NPP9Xzzz+vN954Q1WrVtXWrVs1YMAATZgwQV27dvV0eaa2Z88e9ejRQ//73//k7e2tOnXqqEKFCvrll1+0Y8cOT5fncZxQfIsoWrSoqlevrj///NPTpZhaZGSkqlSpYtdWuXJlLVy40EMV3VoOHDig7777TosWLfJ0KbeE559/XkOGDFGnTp0kSdWrV9eBAwc0duxYwk0hu/POO7V69WqdO3dOGRkZioyMVMeOHRUbG+vp0m4IHJa6RWRmZio5OVmRkZGeLsXUGjVqpJ07d9q17dq1y/ZL9yhcM2fOVHh4uN1Jlig858+fl5eX/deIt7c3l4JfR0WLFlVkZKROnjyp5cuX66GHHvJ0STcE9tyY1ODBg9W2bVuVKVNGR48e1ejRo5WRkcH/pgrZwIEDFRcXp9dee00dOnTQzz//rGnTpmnatGmeLs30srOzNXPmTHXt2lU+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", + "text/plain": [ + "
" + ] + }, + "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": 66, + "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": 66, + "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": 72, + "id": "724d3c33-c219-4212-b8b6-dd78481674cb", + "metadata": {}, "outputs": [], "source": [ - "country_bar()" + "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": 73, + "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/Gtt6FELh37x4qVqyo71JeGb2FNLlcjrp16yI1NRUdOnRQtqempiIyMrLYcUJCQrBhwwaVtm3btqFevXowNzcvdhwLCwtYWFiotJUrV65sxf9H2dvbG8UX2ZBwnesH17t+cL3rhzGtd2M5glZIr707R40ahe+++w7Lli3DqVOnMHLkSGRkZCAmJgbAs6Ngffr0UQ4fExOD9PR0jBo1CqdOncKyZcuwdOlSjBkzRl+LQERERKQTer0mrWvXrsjJyUFcXBwyMzMREBCAlJQUeHp6AgAyMzNV7pnm7e2NlJQUjBw5El9//TUqVqyIBQsWoFOnTvpaBCIiIiKd0HvHgcGDB2Pw4MHFvrdixQq1ttDQUBw9elTHVb1eLCwsMHnyZLXTvqQ7XOf6wfWuH1zv+sH1/vqTCWPqy0pERET0H6H3Z3cSERERkTqGNCIiIiIDxJBGREREZIAY0oiIiIgMEEPaa2rKlCmQyWQqf25ubvouyyhcvXoVvXr1gpOTE6ytrVG7dm0cOXJE32W91ry8vNS2d5lMhiFDhui7tNfa06dP8emnn8Lb2xtWVlbw8fFBXFwcCgoK9F3aa+/evXsYMWIEPD09YWVlhUaNGuHQoUP6Lou0TO+34CDdqVmzJrZv3658bWpqqsdqjMPt27fRuHFjhIWFYfPmzXBxccH58+eN9ikXr8qhQ4egUCiUr//++2+0bNkS7733nh6rev3NnDkTixcvxsqVK1GzZk0cPnwYUVFRcHBwwPDhw/Vd3mttwIAB+Pvvv/H999+jYsWKWLVqFVq0aIGTJ0+iUqVK+i6PtIS34HhNTZkyBevWrcOxY8f0XYpRGTduHP744w/s3btX36UYtREjRmDjxo04e/as0TyjVx/atm0LV1dXLF26VNnWqVMnWFtb4/vvv9djZa+3R48ewc7ODr/++isiIiKU7bVr10bbtm0xbdo0PVZH2sTTna+xs2fPomLFivD29ka3bt1w4cIFfZf02lu/fj3q1auH9957Dy4uLggODsa3336r77KMSn5+PlatWoXo6GgGNB176623sGPHDpw5cwYAcPz4cfz+++9o06aNnit7vT19+hQKhQKWlpYq7VZWVvj999/1VBXpAkPaa6pBgwZISEjA1q1b8e233yIrKwuNGjVCTk6Ovkt7rV24cAGLFi1CtWrVsHXrVsTExGDYsGFISEjQd2lGY926dbhz5w769eun71Jeex9//DG6d++O6tWrw9zcHMHBwRgxYgS6d++u79Jea3Z2dggJCcHUqVNx7do1KBQKrFq1Cn/++ScyMzP1XR5pEU93GokHDx7gjTfewNixYzFq1Ch9l/PaksvlqFevHvbt26dsGzZsGA4dOoT9+/frsTLjER4eDrlcjg0bNui7lNfejz/+iI8++giff/45atasiWPHjmHEiBGYM2cO+vbtq+/yXmvnz59HdHQ0fvvtN5iamqJOnTrw9fXF0aNHcfLkSX2XR1rCjgNGwsbGBoGBgTh79qy+S3mtubu7o0aNGipt/v7+WLt2rZ4qMi7p6enYvn07kpOT9V2KUfjoo48wbtw4dOvWDQAQGBiI9PR0xMfHM6Tp2BtvvIE9e/bgwYMHyM3Nhbu7O7p27Qpvb299l0ZaxNOdRiIvLw+nTp2Cu7u7vkt5rTVu3BinT59WaTtz5gw8PT31VJFxWb58OVxcXFQupibdefjwIUxMVH9GTE1NeQuOV8jGxgbu7u64ffs2tm7disjISH2XRFrEI2mvqTFjxqBdu3aoUqUKsrOzMW3aNOTm5vJftzo2cuRINGrUCJ999hm6dOmCgwcPYsmSJViyZIm+S3vtFRQUYPny5ejbty/MzLhrexXatWuH6dOno0qVKqhZsybS0tIwZ84cREdH67u0197WrVshhICfnx/OnTuHjz76CH5+foiKitJ3aaRNgl5LXbt2Fe7u7sLc3FxUrFhRdOzYUfzzzz/6LssobNiwQQQEBAgLCwtRvXp1sWTJEn2XZBS2bt0qAIjTp0/ruxSjkZubK4YPHy6qVKkiLC0thY+Pj5gwYYLIy8vTd2mvvaSkJOHj4yPkcrlwc3MTQ4YMEXfu3NF3WaRl7DhAREREZIB4TRoRERGRAWJIIyIiIjJADGlEREREBoghjYiIiMgAMaQRERERGSCGNCIiIiIDxJBGREREZIAY0oiIiIgMEEMaEelEVlYWPvzwQ/j4+MDCwgIeHh5o164dduzYoe/SiIj+E/iAOyLSukuXLqFx48YoV64cZs2ahaCgIDx58gRbt27FkCFD8O+//+q7RCIig8cjaUSkdYMHD4ZMJsPBgwfRuXNn+Pr6ombNmhg1ahQOHDgAAMjIyEBkZCRsbW1hb2+PLl264Pr168ppTJkyBbVr18ayZctQpUoV2NraYtCgQVAoFJg1axbc3Nzg4uKC6dOnq8xbJpNh0aJFaN26NaysrODt7Y01a9aoDPPxxx/D19cX1tbW8PHxwcSJE/HkyRO1eX///ffw8vKCg4MDunXrhnv37gEAEhIS4OTkhLy8PJXpdurUCX369NHquiQi48WQRkRadevWLWzZsgVDhgyBjY2N2vvlypWDEALvvvsubt26hT179iA1NRXnz59H165dVYY9f/48Nm/ejC1btiAxMRHLli1DREQErly5gj179mDmzJn49NNPlcGv0MSJE9GpUyccP34cvXr1Qvfu3XHq1Cnl+3Z2dlixYgVOnjyJ+fPn49tvv8XcuXPV5r1u3Tps3LgRGzduxJ49ezBjxgwAwHvvvQeFQoH169crh7958yY2btyIqKioMq9DIiIAgJ4f8E5Er5k///xTABDJycklDrNt2zZhamoqMjIylG3//POPACAOHjwohBBi8uTJwtraWuTm5iqHCQ8PF15eXkKhUCjb/Pz8RHx8vPI1ABETE6MyvwYNGohBgwaVWM+sWbNE3bp1la+Lm/dHH30kGjRooHw9aNAg0bp1a+XrefPmCR8fH1FQUFDifIiIpOA1aUSkVUIIAM9OO5bk1KlT8PDwgIeHh7KtRo0aKFeuHE6dOoX69esDALy8vGBnZ6ccxtXVFaampjAxMVFpy87OVpl+SEiI2utjx44pX//888+YN28ezp07h/v37+Pp06ewt7dXGafovN3d3VXmM3DgQNSvXx9Xr15FpUqVsHz5cvTr1++Fy01EJAVPdxKRVlWrVg0ymUzl9GJRQohiw0zRdnNzc5X3ZTJZsW0FBQUvratwugcOHEC3bt3QunVrbNy4EWlpaZgwYQLy8/NVhn/ZfIKDg1GrVi0kJCTg6NGj+Ouvv9CvX7+X1kFEpCmGNCLSKkdHR4SHh+Prr7/GgwcP1N6/c+cOatSogYyMDFy+fFnZfvLkSdy9exf+/v5lrqHoNWoHDhxA9erVAQB//PEHPD09MWHCBNSrVw/VqlVDenp6qeYzYMAALF++HMuWLUOLFi1UjgwSEZUVQxoRad3ChQuhUCjw5ptvYu3atTh79ixOnTqFBQsWICQkBC1atEBQUBB69uyJo0eP4uDBg+jTpw9CQ0NRr169Ms9/zZo1WLZsGc6cOYPJkyfj4MGDGDp0KACgatWqyMjIwI8//ojz589jwYIF+OWXX0o1n549e+Lq1av49ttvER0dXea6iYiex5BGRFrn7e2No0ePIiwsDKNHj0ZAQABatmyJHTt2YNGiRZDJZFi3bh3Kly+Ppk2bokWLFvDx8UFSUpJW5h8bG4sff/wRQUFBWLlyJVavXo0aNWoAACIjIzFy5EgMHToUtWvXxr59+zBx4sRSzcfe3h6dOnWCra0t3n33Xa3UTkRUSCYKr/IlInoNyGQy/PLLL68sNLVs2RL+/v5YsGDBK5kfERkP9u4kIiqFW7duYdu2bdi5cye++uorfZdDRK8hhjQiolKoU6cObt++jZkzZ8LPz0/f5RDRa4inO4mIiIgMEDsOEBERERkghjQiIiIiA8SQRkRERGSAGNKIiIiIDBBDGhEREZEBYkgjIiIiMkAMaUREREQGiCGNiIiIyAAxpBEREREZoP8DSdI7OwULeFcAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "lazy_customer_plot(campaigns_sport)" ] } ], -- 2.34.1 From 45031144358763641889c38d0e3c951995d4030a Mon Sep 17 00:00:00 2001 From: arevelle-ensae Date: Wed, 6 Mar 2024 10:56:52 +0000 Subject: [PATCH 3/7] work on stat --- .../stat_desc_sport.ipynb | 581 ++++++++++++++++-- Sport/exploration_sport.ipynb | 39 +- 2 files changed, 552 insertions(+), 68 deletions(-) diff --git a/Sport/Descriptive_statistics/stat_desc_sport.ipynb b/Sport/Descriptive_statistics/stat_desc_sport.ipynb index 981fe1c..f48a127 100644 --- a/Sport/Descriptive_statistics/stat_desc_sport.ipynb +++ b/Sport/Descriptive_statistics/stat_desc_sport.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 31, + "execution_count": 6, "id": "dd143b00-1989-44cf-8558-a30087d17f70", "metadata": {}, "outputs": [], @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 2, "id": "08c63120-1b56-4145-9014-18a637b22876", "metadata": {}, "outputs": [], @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 3, "id": "f8bd679d-fa76-49d4-9ec1-9f15516f16d3", "metadata": {}, "outputs": [], @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 7, "id": "945c59bb-05b4-4f21-82f0-0db40d7957b3", "metadata": {}, "outputs": [], @@ -67,7 +67,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 5, "id": "41a67995-0a08-45c0-bbad-6e6cee5474c8", "metadata": {}, "outputs": [ @@ -159,7 +159,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 6, "id": "c4d4b2ad-8a3c-477b-bc52-dd4860527bfe", "metadata": {}, "outputs": [ @@ -169,7 +169,7 @@ "array([5, 6, 7, 8, 9])" ] }, - "execution_count": 36, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -181,7 +181,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 7, "id": "97a9e235-1c04-46bf-9f3c-5496e141cc40", "metadata": {}, "outputs": [], @@ -220,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 8, "id": "770cd3fc-bfe2-4a69-89bc-0eb946311130", "metadata": {}, "outputs": [ @@ -230,7 +230,7 @@ "['5_191835', '6_591412', '7_49632', '8_1942', '9_19683']" ] }, - "execution_count": 38, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -242,7 +242,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 9, "id": "70b6e961-c303-465e-93f4-609721d38454", "metadata": {}, "outputs": [ @@ -274,7 +274,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 10, "id": "b54b920a-7b46-490f-ba7e-d1859055a4e3", "metadata": {}, "outputs": [ @@ -310,6 +310,7 @@ " gender\n", " is_email_true\n", " ...\n", + " total_price\n", " purchase_count\n", " first_buying_date\n", " country\n", @@ -318,7 +319,6 @@ " gender_male\n", " gender_other\n", " country_fr\n", - " has_tags\n", " number_company\n", " \n", " \n", @@ -336,6 +336,7 @@ " 2\n", " True\n", " ...\n", + " 0.0\n", " 0\n", " NaN\n", " af\n", @@ -344,7 +345,6 @@ " 0\n", " 1\n", " 0.0\n", - " 0\n", " 5\n", " \n", " \n", @@ -360,6 +360,7 @@ " 2\n", " True\n", " ...\n", + " 0.0\n", " 0\n", " NaN\n", " af\n", @@ -368,7 +369,6 @@ " 0\n", " 1\n", " 0.0\n", - " 0\n", " 5\n", " \n", " \n", @@ -384,6 +384,7 @@ " 2\n", " True\n", " ...\n", + " 0.0\n", " 0\n", " NaN\n", " af\n", @@ -392,7 +393,6 @@ " 0\n", " 1\n", " 0.0\n", - " 0\n", " 5\n", " \n", " \n", @@ -408,6 +408,7 @@ " 2\n", " True\n", " ...\n", + " 0.0\n", " 0\n", " NaN\n", " af\n", @@ -416,7 +417,6 @@ " 0\n", " 1\n", " 0.0\n", - " 0\n", " 5\n", " \n", " \n", @@ -432,6 +432,7 @@ " 0\n", " True\n", " ...\n", + " NaN\n", " 0\n", " NaN\n", " fr\n", @@ -440,12 +441,11 @@ " 0\n", " 0\n", " 1.0\n", - " 0\n", " 5\n", " \n", " \n", "\n", - "

5 rows × 29 columns

\n", + "

5 rows × 28 columns

\n", "" ], "text/plain": [ @@ -456,31 +456,31 @@ "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 ... purchase_count \\\n", - "0 False NaN 2 True ... 0 \n", - "1 False NaN 2 True ... 0 \n", - "2 False NaN 2 True ... 0 \n", - "3 False NaN 2 True ... 0 \n", - "4 False NaN 0 True ... 0 \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", - " first_buying_date country gender_label gender_female gender_male \\\n", - "0 NaN af other 0 0 \n", - "1 NaN af other 0 0 \n", - "2 NaN af other 0 0 \n", - "3 NaN af other 0 0 \n", - "4 NaN fr female 1 0 \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_other country_fr has_tags number_company \n", - "0 1 0.0 0 5 \n", - "1 1 0.0 0 5 \n", - "2 1 0.0 0 5 \n", - "3 1 0.0 0 5 \n", - "4 0 1.0 0 5 \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 29 columns]" + "[5 rows x 28 columns]" ] }, - "execution_count": 40, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -499,7 +499,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 11, "id": "eec1ac0b-2502-452b-97e6-69ffb77156d6", "metadata": {}, "outputs": [], @@ -519,13 +519,13 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 12, "id": "db4494e7-6f65-4f7e-bf8c-8ec321d0b02d", "metadata": {}, "outputs": [ { "data": { - "image/png": "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UQsAAIDLOT2z88UXX6h9+/bavn27IiIi5OHh4bD8mWeecVlxAAAAmeV02ImNjdXq1au1aNGiNMuy+gDlkSNH6t///rfeeOMN+7V/jDEaMmSIJk2apLNnz6pGjRr69NNPVaFChSyrAwAA3Duc3o3Vo0cPtW3bVsePH1dKSorDLSuDzvr16zVp0qQ0p7aPHj1a48aN0yeffKL169crODhY9evX1/nz57OsFgAAcO9wOuycPn1avXr1UlBQUFbUk64LFy7oxRdf1Oeff658+fLZ240xGj9+vAYNGqTmzZsrIiJCU6dO1aVLlzRjxoy7Vh8AAMi+nA47zZs318qVK7Oillvq3r27GjVqpHr16jm079+/X3FxcWrQoIG9zcvLS5GRkYqNjb2rNQIAgOzJ6WN2SpcurYEDB2r16tWqWLFimgOUe/To4bLiJGnWrFnatGmT1q9fn2ZZXFycJKWZZQoKCtLBgwdvuc7ExEQlJiba7yckJLioWgAAkN3c0dlYuXPnVkxMjGJiYhyW2Ww2l4adw4cP64033tDSpUvl7e19y343X9jQGHPbix2OHDlSQ4YMcVmdAAAg+7qjiwreLRs3btSJEydUrVo1e1tycrJWrVqlTz75RLt375Z0fYanUKFC9j4nTpy47TFFAwcOVO/eve33ExISFBoamgXPALi/FB/wo7tLuGcceK+Ru0sA7ht3/EOgkuy/jZVVPxlRt25d/f777w5tHTt2VNmyZdW/f3+VKFFCwcHBWrZsmapUqSJJunr1qmJiYjRq1KhbrtfLy0teXl5ZUjMAAMhenD5AWZKmTZumihUrysfHRz4+PqpUqZK+/vprV9cmf39/RUREONz8/PwUGBioiIgI2Ww29ezZUyNGjNDcuXO1fft2dejQQb6+vmrTpo3L6wEAAPcep2d2xo0bp7fffluvvfaaatWqJWOMfv31V73yyis6deqUevXqlRV13lK/fv10+fJldevWzX5RwaVLl8rf3/+u1gEAALInp8POxx9/rAkTJqhdu3b2tqZNm6pChQqKjo7O8rDz888/O9y32WyKjo5WdHR0lm4XAADcm5zejXX8+HHVrFkzTXvNmjV1/PhxlxQFAADgKk6HnVKlSunbb79N0z579myFh4e7pCgAAABXcXo31pAhQ/T8889r1apVqlWrlmw2m1avXq3ly5enG4IAAADcyemZnRYtWmjt2rV64IEHNG/ePM2ZM0cPPPCA1q1bp2effTYragQAALhjd3SdnWrVqmn69OmurgUAAMDl7ug6OwAAAPeKDM/s5MiR4x+vlGyz2ZSUlJTpogAAAFwlw2Fn7ty5t1wWGxurjz/+2P7zEQAAANlFhsNO06ZN07T98ccfGjhwoObPn68XX3xR7777rkuLAwAAyKw7Ombn2LFj6tKliypVqqSkpCRt2bJFU6dOVdGiRV1dHwAAQKY4FXbi4+PVv39/lSpVSjt27NDy5cs1f/58RUREZFV9AAAAmZLh3VijR4/WqFGjFBwcrJkzZ6a7WwvILooP+NHdJdxTDrzXyN0lAECWyXDYGTBggHx8fFSqVClNnTpVU6dOTbffnDlzXFYcAABAZmU47LRr1+4fTz0HAADIbjIcdqZMmZKFZQAAAGQNrqAMAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsjbADAAAsLVuHnZEjR+qhhx6Sv7+/ChYsqGbNmmn37t0OfYwxio6OVkhIiHx8fFS7dm3t2LHDTRUDAIDsJluHnZiYGHXv3l2//fabli1bpqSkJDVo0EAXL1609xk9erTGjRunTz75ROvXr1dwcLDq16+v8+fPu7FyAACQXeRydwG3s3jxYof7kydPVsGCBbVx40Y98cQTMsZo/PjxGjRokJo3by5Jmjp1qoKCgjRjxgx17drVHWUDAIBsJFvP7NwsPj5ekpQ/f35J0v79+xUXF6cGDRrY+3h5eSkyMlKxsbG3XE9iYqISEhIcbgAAwJrumbBjjFHv3r312GOPKSIiQpIUFxcnSQoKCnLoGxQUZF+WnpEjRyogIMB+Cw0NzbrCAQCAW90zYee1117Ttm3bNHPmzDTLbDabw31jTJq2Gw0cOFDx8fH22+HDh11eLwAAyB6y9TE7qV5//XX98MMPWrVqlYoUKWJvDw4OlnR9hqdQoUL29hMnTqSZ7bmRl5eXvLy8sq5gAACQbWTrmR1jjF577TXNmTNHK1asUFhYmMPysLAwBQcHa9myZfa2q1evKiYmRjVr1rzb5QIAgGwoW8/sdO/eXTNmzND//vc/+fv724/DCQgIkI+Pj2w2m3r27KkRI0YoPDxc4eHhGjFihHx9fdWmTRs3Vw8AALKDbB12JkyYIEmqXbu2Q/vkyZPVoUMHSVK/fv10+fJldevWTWfPnlWNGjW0dOlS+fv73+VqAQBAdpStw44x5h/72Gw2RUdHKzo6OusLAgAA95xsfcwOAABAZhF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApRF2AACApVkm7Hz22WcKCwuTt7e3qlWrpl9++cXdJQEAgGzAEmFn9uzZ6tmzpwYNGqTNmzfr8ccfV1RUlA4dOuTu0gAAgJtZIuyMGzdOL730kjp37qxy5cpp/PjxCg0N1YQJE9xdGgAAcLN7PuxcvXpVGzduVIMGDRzaGzRooNjYWDdVBQAAsotc7i4gs06dOqXk5GQFBQU5tAcFBSkuLi7dxyQmJioxMdF+Pz4+XpKUkJDg8vpSEi+5fJ1W5qrXgHF3DuN+97ny+4ZxzzjG3T2y4u/rjes1xty23z0fdlLZbDaH+8aYNG2pRo4cqSFDhqRpDw0NzZLakHEB491dwf2Jcb/7GHP3YNzdI6vH/fz58woICLjl8ns+7DzwwAPKmTNnmlmcEydOpJntSTVw4ED17t3bfj8lJUVnzpxRYGDgLQOSlSQkJCg0NFSHDx9Wnjx53F3OfYNxdw/G3T0Yd/e438bdGKPz588rJCTktv3u+bDj6empatWqadmyZXr22Wft7cuWLVPTpk3TfYyXl5e8vLwc2vLmzZuVZWZLefLkuS8+DNkN4+4ejLt7MO7ucT+N++1mdFLd82FHknr37q22bduqevXqevTRRzVp0iQdOnRIr7zyirtLAwAAbmaJsPP888/r9OnTGjp0qI4fP66IiAgtXLhQxYoVc3dpAADAzSwRdiSpW7du6tatm7vLuCd4eXlp8ODBaXblIWsx7u7BuLsH4+4ejHv6bOafztcCAAC4h93zFxUEAAC4HcIOAACwNMIOAACwNMIOAACwNMLOfSQ6Olo2m83hFhwc7O6y7gtHjx7Vv/71LwUGBsrX11eVK1fWxo0b3V2WpRUvXjzN+91ms6l79+7uLs2ykpKS9NZbbyksLEw+Pj4qUaKEhg4dqpSUFHeXZnnnz59Xz549VaxYMfn4+KhmzZpav369u8vKNixz6jkypkKFCvrpp5/s93PmzOnGau4PZ8+eVa1atVSnTh0tWrRIBQsW1J9//nlfXrX7blq/fr2Sk5Pt97dv36769evrueeec2NV1jZq1ChNnDhRU6dOVYUKFbRhwwZ17NhRAQEBeuONN9xdnqV17txZ27dv19dff62QkBBNnz5d9erV086dO1W4cGF3l+d2nHp+H4mOjta8efO0ZcsWd5dyXxkwYIB+/fVX/fLLL+4u5b7Ws2dPLViwQHv37r0vfgPPHRo3bqygoCB9+eWX9rYWLVrI19dXX3/9tRsrs7bLly/L399f//vf/9SoUSN7e+XKldW4cWMNGzbMjdVlD+zGus/s3btXISEhCgsLU+vWrfXXX3+5uyTL++GHH1S9enU999xzKliwoKpUqaLPP//c3WXdV65evarp06erU6dOBJ0s9Nhjj2n58uXas2ePJGnr1q1avXq1nn76aTdXZm1JSUlKTk6Wt7e3Q7uPj49Wr17tpqqyF8LOfaRGjRqaNm2alixZos8//1xxcXGqWbOmTp8+7e7SLO2vv/7ShAkTFB4eriVLluiVV15Rjx49NG3aNHeXdt+YN2+ezp07pw4dOri7FEvr37+/XnjhBZUtW1YeHh6qUqWKevbsqRdeeMHdpVmav7+/Hn30Ub377rs6duyYkpOTNX36dK1du1bHjx93d3nZArux7mMXL15UyZIl1a9fP/Xu3dvd5ViWp6enqlevrtjYWHtbjx49tH79eq1Zs8aNld0/GjZsKE9PT82fP9/dpVjarFmz9Oabb2rMmDGqUKGCtmzZop49e2rcuHFq3769u8uztD///FOdOnXSqlWrlDNnTlWtWlWlS5fWpk2btHPnTneX53YcoHwf8/PzU8WKFbV37153l2JphQoVUvny5R3aypUrp++//95NFd1fDh48qJ9++klz5sxxdymW9+abb2rAgAFq3bq1JKlixYo6ePCgRo4cSdjJYiVLllRMTIwuXryohIQEFSpUSM8//7zCwsLcXVq2wG6s+1hiYqJ27dqlQoUKubsUS6tVq5Z2797t0LZnzx4VK1bMTRXdXyZPnqyCBQs6HLiJrHHp0iXlyOH4ZyVnzpycen4X+fn5qVChQjp79qyWLFmipk2burukbIGZnftI37591aRJExUtWlQnTpzQsGHDlJCQwP+4slivXr1Us2ZNjRgxQq1atdK6des0adIkTZo0yd2lWV5KSoomT56s9u3bK1cuvu6yWpMmTTR8+HAVLVpUFSpU0ObNmzVu3Dh16tTJ3aVZ3pIlS2SMUZkyZbRv3z69+eabKlOmjDp27Oju0rIHg/vG888/bwoVKmQ8PDxMSEiIad68udmxY4e7y7ovzJ8/30RERBgvLy9TtmxZM2nSJHeXdF9YsmSJkWR2797t7lLuCwkJCeaNN94wRYsWNd7e3qZEiRJm0KBBJjEx0d2lWd7s2bNNiRIljKenpwkODjbdu3c3586dc3dZ2QYHKAMAAEvjmB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0AAGBphB0Ad01cXJxef/11lShRQl5eXgoNDVWTJk20fPlyd5cGwML4sRgAd8WBAwdUq1Yt5c2bV6NHj1alSpV07do1LVmyRN27d9cff/zh7hIBWBQzOwDuim7duslms2ndunVq2bKlSpcurQoVKqh379767bffJEmHDh1S06ZNlTt3buXJk0etWrXS33//bV9HdHS0KleurK+++kpFixZV7ty59eqrryo5OVmjR49WcHCwChYsqOHDhzts22azacKECYqKipKPj4/CwsL03XffOfTp37+/SpcuLV9fX5UoUUJvv/22rl27lmbbX3/9tYoXL66AgAC1bt1a58+flyRNmzZNgYGBSkxMdFhvixYt1K5dO5eOJQDnEHYAZLkzZ85o8eLF6t69u/z8/NIsz5s3r4wxatasmc6cOaOYmBgtW7ZMf/75p55//nmHvn/++acWLVqkxYsXa+bMmfrqq6/UqFEjHTlyRDExMRo1apTeeuste4BK9fbbb6tFixbaunWr/vWvf+mFF17Qrl277Mv9/f01ZcoU7dy5Ux9++KE+//xzffDBB2m2PW/ePC1YsEALFixQTEyM3nvvPUnSc889p+TkZP3www/2/qdOndKCBQv45WnA3dz8Q6QA7gNr1641ksycOXNu2Wfp0qUmZ86c5tChQ/a2HTt2GElm3bp1xhhjBg8ebHx9fU1CQoK9T8OGDU3x4sVNcnKyva1MmTJm5MiR9vuSzCuvvOKwvRo1aphXX331lvWMHj3aVKtWzX4/vW2/+eabpkaNGvb7r776qomKirLfHz9+vClRooRJSUm55XYAZD2O2QGQ5Ywxkq7vTrqVXbt2KTQ0VKGhofa28uXLK2/evNq1a5ceeughSVLx4sXl7+9v7xMUFKScOXMqR44cDm0nTpxwWP+jjz6a5v6WLVvs9//73/9q/Pjx2rdvny5cuKCkpCTlyZPH4TE3b7tQoUIO2+nSpYseeughHT16VIULF9bkyZPVoUOH2z5vAFmP3VgAslx4eLhsNpvDbqObGWPSDQU3t3t4eDgst9ls6balpKT8Y12p6/3tt9/UunVrRUVFacGCBdq8ebMGDRqkq1evOvT/p+1UqVJFDz74oKZNm6ZNmzbp999/V4cOHf6xDgBZi7ADIMvlz59fDRs21KeffqqLFy+mWX7u3DmVL19ehw4d0uHDh+3tO3fuVHx8vMqVK5fpGm4+hue3335T2bJlJUm//vqrihUrpkGDBql69eoKDw/XwYMH72g7nTt31uTJk/XVV1+pXr16DjNVANyDsAPgrvjss8+UnJyshx9+WN9//7327t2rXbt26aOPPtKjjz6qevXqqVKlSnrxxRe1adMmrVu3Tu3atVNkZKSqV6+e6e1/9913+uqrr7Rnzx4NHjxY69at02uvvSZJKlWqlA4dOqRZs2bpzz//1EcffaS5c+fe0XZefPFFHT16VJ9//rk6deqU6boBZB5hB8BdERYWpk2bNqlOnTrq06ePIiIiVL9+fS1fvlwTJkyQzWbTvHnzlC9fPj3xxBOqV6+eSpQoodmzZ7tk+0OGDNGsWbNUqVIlTZ06Vd98843Kly8vSWratKl69eql1157TZUrV1ZsbKzefvvtO9pOnjx51KJFC+XOnVvNmjVzSe0AMsdmUo8cBACLstlsmjt37l0LH/Xr11e5cuX00Ucf3ZXtAbg9zsYCABc5c+aMli5dqhUrVuiTTz5xdzkA/j/CDgC4SNWqVXX27FmNGjVKZcqUcXc5AP4/dmMBAABL4wBlAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaf8P7+5CE/p0lMoAAAAASUVORK5CYII=", + "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": [ "
" ] @@ -540,7 +540,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 13, "id": "a12a59a0-edfe-4e52-8037-9b875f823b33", "metadata": {}, "outputs": [], @@ -561,13 +561,13 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 14, "id": "2c7c2d26-4e35-4163-b771-fa4d3e8ca83e", "metadata": {}, "outputs": [ { "data": { - "image/png": "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AA8eJyIioleK7AD1JAYnIiIiehXJPoj8xo0bCA0NhbOzMwwNDWFgYKD2ICIiInrZyR6BCg8PR0ZGBiZNmgQnJycoFIrKqIuIiIhIb8kOUAcOHMD+/fvRrFmzSiiHiIiISP/J3oXn4uICIURl1EJERERUJcgOUIsWLcKECRNw+fLlSiiHiIiISP/J3oXXv39/3L9/H/Xq1YOZmRmMjIzUpt++fVtrxRERERHpI9kBatGiRZVQBhEREVHVITtAhYWFVUYdRERERFWG7GOgAODixYv47LPPMHDgQNy8eRMAsH37dpw+fVqrxRERERHpI9kBKjExEd7e3jh06BDi4uJQUFAAADh58iQmT56s9QKJiIiI9I3sADVhwgRMnz4dCQkJMDY2lto7deqEpKQkrRZHREREpI9kB6hTp06hd+/eZdrt7OyQk5OjlaKIiIiI9JnsAFWjRg1kZWWVaT9+/Dhq1aqllaKIiIiI9JnsABUSEoLx48cjOzsbCoUCJSUl+PPPPxEdHY133323MmokIiIi0iuyA9SMGTNQp04d1KpVCwUFBfD09MQbb7wBX19ffPbZZ5VRIxEREZFekX0dKCMjI6xduxbTpk3D8ePHUVJSgubNm6NBgwaVUR8RERGR3pEdoBITE+Hn54d69eqhXr16lVETERERkV6TvQvP398fderUwYQJE5CamloZNRERERHpNdkB6vr16xg3bhz279+PJk2aoEmTJpg7dy6uXr1aGfURERER6R3ZAapmzZoYPXo0/vzzT1y8eBH9+/fHqlWr4Obmhs6dO1dGjURERER65bnuhVfK3d0dEyZMwOzZs+Ht7Y3ExERt1UVERESkt547QP35558YOXIknJycEBISgsaNG2PLli3arI2IiIhIL8k+C+8///kP1q1bh+vXr6Nr165YtGgRevXqBTMzs8qoj4iIiEjvyA5Q+/btQ3R0NPr374+aNWtWRk1EREREek12gDp48GBl1EFERERUZbzQQeREREREryIGKCIiIiKZGKCIiIiIZGKAIiIiIpJJdoCqW7cucnJyyrTfuXMHdevW1UpRRERERPpMdoC6fPkyVCpVmfbCwkJcu3ZNK0URERER6TONL2OwadMm6ecdO3ZAqVRKz1UqFXbv3g03NzetFkdERESkjzQOUL169QIAKBQKhIWFqU0zMjKCm5sbvvzyS60WR0RE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", + "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": [ "
" ] @@ -582,7 +582,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 15, "id": "597d4361-8beb-43f4-9224-8f7dc34b187c", "metadata": {}, "outputs": [ @@ -703,7 +703,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 16, "id": "5058d3c9-73a0-4e01-881e-4d2423f0d291", "metadata": {}, "outputs": [], @@ -713,7 +713,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 17, "id": "848963c9-6129-4106-80b5-76bf814b70d1", "metadata": {}, "outputs": [], @@ -752,7 +752,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 18, "id": "b78ef715-c645-4625-a128-4f5b49e5339d", "metadata": {}, "outputs": [ @@ -773,7 +773,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 19, "id": "d8071891-e6f5-4d93-b039-9e99c20ec4b0", "metadata": {}, "outputs": [], @@ -798,13 +798,13 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 20, "id": "2fc30f1d-cf64-4efb-9442-4d97bb50b29f", "metadata": {}, "outputs": [ { "data": { - "image/png": "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bi4cHR2hVCqNXRIREVVSDDfPqFGjBgBoAg5VLo6OjprXiIiIqDgMN89QKBRwdXWFs7Mznjx5Yuxy6B/MzMw4YkNERC/EcFMCpVLJP6REREQvIR5QTERERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREsmJq7AKIiEiiKAdjV/DyiMozdgVkBBy5ISIiIllhuCEiIiJZYbghIiIiWWG4ISIiIllhuCEiIiJZYbghIiIiWWG4ISIiIllhuCEiIiJZKVW42bdvH4YMGYKAgABcuXIFALBhwwbs37/foMURERERSSU53GzevBkhISGwsrJCeno6CgoKAAB3797Fhx9+aPACiYiIiKSQHG4WLFiAlStXYs2aNTAzM9O0BwYG4ujRowYtjoiIiEgqyeHm5MmTaN++vU67vb097ty5I7mAFStWwNPTE5aWlvDz88O+ffue27+goACzZs2Cu7s7LCwsULduXcTGxkpeLxEREcmT5Btnurq64syZM/Dw8NBq379/P7y8vCQtKyEhAeHh4VixYgXatm2LVatWoWvXrsjIyECdOnWKnad///64du0a1q5di3r16iE3NxeFhYVSN4OIiIhkSnK4GTNmDCZNmoTY2FgoFApcvXoVBw8exNSpUzFnzhxJy1qyZAlGjRqF0aNHAwCWLVuGpKQkxMTEIDo6Wqf/jh07kJKSgnPnzqFq1aoAoBOyiIiI6NUm+WupadOm4e2330ZQUBDu3buH9u3bY/To0RgzZgwmTJig93IeP36MtLQ0BAcHa7UHBwcjNTW12Hl+/PFH+Pv7Y/HixahVqxYaNGiAqVOn4uHDh1I3g4iIiGRK8sgNACxcuBCzZs1CRkYG1Go1GjduDFtbW0nLuHHjBlQqFVxcXLTaXVxckJOTU+w8586dw/79+2FpaYnvv/8eN27cwPjx43Hr1q0Sj7spKCjQnNEFAPn5+ZLqJCIiopeL5JGbtWvXAgCsra3h7++P1q1bw9bWFoWFhZg5c6bkAhQKhda0EEKnrYharYZCocDGjRvRunVrdOvWDUuWLEFcXFyJozfR0dFwcHDQPNzc3CTXSERERC8PyeFmypQp6NOnD27duqVpO3HiBFq3bo1vv/1W7+VUq1YNSqVSZ5QmNzdXZzSniKurK2rVqgUHBwdNW6NGjSCEwOXLl4udZ+bMmcjLy9M8Ll26pHeNRERE9PKRHG7S09Nx7do1+Pj4IDk5GZ9//jlatmyJpk2b4tixY3ovx9zcHH5+fkhOTtZqT05ORmBgYLHztG3bFlevXsW9e/c0badOnYKJiQlq165d7DwWFhawt7fXehAREZF8SQ43np6e+PXXX9G3b1906dIFkydPRmxsLOLj42FnZydpWREREfjiiy8QGxuLzMxMTJ48GVlZWRg7diyAp6MuYWFhmv6DBw+Gk5MTRowYgYyMDPz66694//33MXLkSFhZWUndFCIiIpKhUh1QvH37dnz99dcIDAzEyZMnsWbNGrRv3x41a9aUtJwBAwbg5s2bmDdvHrKzs9G0aVMkJibC3d0dAJCdnY2srCxNf1tbWyQnJ+O9996Dv78/nJyc0L9/fyxYsKA0m0FEREQypBBCCCkzjBkzBuvXr8eCBQswZcoUXLt2DSNHjsThw4cRExOD/v37l1etBpGfnw8HBwfk5eXxKyo5iXJ4cR96KirP2BVQWfH9rj9Dvt+53/VXDp8zUv5+Sx65OXDgAA4fPozmzZsDAGrUqIHExER8/vnnGDlyZKUPN0RERCRvksNNWloaLCwsdNrfffdddOrUySBFEREREZWW5AOKLSwscPbsWXzwwQcYNGgQcnNzATy9NQLv8URERETGJjncpKSkwMfHB4cPH8aWLVs0p2X/8ccfiIyMNHiBRERERFJIDjczZszAggULkJycDHNzc017UFAQDh48aNDiiIiIiKSSHG7+/PNP9OrVS6e9evXquHnzpkGKIiIiIiotyeHG0dER2dnZOu3p6emoVauWQYoiIiIiKi3J4Wbw4MGYPn06cnJyoFAooFarceDAAUydOlXrasJERERExiD5VPCFCxdi+PDhqFWrFoQQaNy4MVQqFQYPHowPPvigPGokeiGPR18Zu4SXxgVjF0BEVM4khxszMzNs3LgR8+fPx9GjR6FWq+Hr64v69euXR31EREREkpTq3lIA4OXlBS8vL6hUKvz555+4ffs2qlSpYsjaiIiIiCSTfMxNeHg41q5dCwBQqVTo0KEDWrZsCTc3N+zdu9fQ9RERERFJIjncfPfdd5r7Sm3btg3nzp3DiRMnEB4ejlmzZhm8QCIiIiIpJIebGzduoEaNGgCAxMRE9O/fHw0aNMCoUaPw559/GrxAIiIiIikkhxsXFxdkZGRApVJhx44dmptlPnjwAEql0uAFEhEREUkh+YDiESNGoH///nB1dYVCoUDnzp0BAIcPH0bDhg0NXiARERGRFJLDTVRUFJo2bYpLly6hX79+sLCwAAAolUrMmDHD4AUSERERSVGqU8H79u2r0zZs2LAyF0NERERUVpKPuSEiIiKqzBhuiIiISFYYboiIiEhWGG6IiIhIVkoVbs6ePYsPPvgAgwYNQm5uLgBgx44d+Pvvvw1aHBEREZFUksNNSkoKfHx8cPjwYWzZsgX37t0DAPzxxx+IjIw0eIFEREREUkg+FXzGjBlYsGABIiIiYGdnp2kPCgrC8uXLDVrcSynKwdgVvDyi8oxdARERyZDkkZs///wTvXr10mmvXr06bt68aZCiiIiIiEpLcrhxdHREdna2Tnt6ejpq1aplkKKIiIiISktyuBk8eDCmT5+OnJwcKBQKqNVqHDhwAFOnTkVYWFh51EhERESkN8nhZuHChahTpw5q1aqFe/fuoXHjxmjfvj0CAwPxwQcflEeNRERERHqTfECxmZkZNm7ciHnz5iE9PR1qtRq+vr6oX79+edRHREREJEmpbpwJAHXr1kXdunUNWQsRERFRmUkONyNHjnzu87GxsaUuhoiIiKisJIeb27dva00/efIEf/31F+7cuYM333zTYIURERERlYbkcPP999/rtKnVaowfPx5eXl4GKYqIiIiotAxy40wTExNMnjwZS5cuNcTiiIiIiErNYHcFP3v2LAoLCw21OCIiIqJSkfy1VEREhNa0EALZ2dn46aefMGzYMMkFrFixAh9//DGys7PRpEkTLFu2DO3atSu27969exEUFKTTnpmZiYYNG0peNxEREcmP5HCTnp6uNW1iYoLq1avj008/feGZVM9KSEhAeHg4VqxYgbZt22LVqlXo2rUrMjIyUKdOnRLnO3nyJOzt7TXT1atXl7YRREREJFuSw82ePXsMtvIlS5Zg1KhRGD16NABg2bJlSEpKQkxMDKKjo0ucz9nZGY6Ojgarg4iIiOTDYMfcSPX48WOkpaUhODhYqz04OBipqanPndfX1xeurq7o2LGjQcMWERERvfwkj9z4+vpCoVDo1ffo0aMlPnfjxg2oVCq4uLhotbu4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zp0rqSYiIiJ6eUkON9evX8eIESPw888/F/u8vsfcVKtWDUqlUmeUJjc3V2c051kJCQkYNWoUNm3ahE6dOj2378yZMxEREaGZzs/Ph5ubm141EhER0ctH8tlS4eHhuH37Ng4dOgQrKyvs2LED69evR/369fHjjz/qvRxzc3P4+fkhOTlZqz05ORmBgYElzvf1119j+PDh+OqrrxAaGvrC9VhYWMDe3l7rQURERPIleeRm9+7d+OGHH9CqVSuYmJjA3d0dnTt3hr29PaKjo/UKHEUiIiIwdOhQ+Pv7IyAgAKtXr0ZWVhbGjh0L4Omoy5UrVxAfHw/gabAJCwvD8uXL0aZNG82oj5WVFW/aSURERABKMXJz//59zTEuVatWxfXr1wE8vbjf0aNHJS1rwIABWLZsGebNm4cWLVrg119/RWJiItzd3QEA2dnZWte8WbVqFQoLC/Huu+/C1dVV85g0aZLUzSAiIiKZkjxy4+3tjZMnT8LDwwMtWrTAqlWr4OHhgZUrV5bqflPjx4/H+PHji30uLi5Oa3rv3r2Sl09ERESvFsnhJjw8HFevXgXw9GaaISEh2LhxI8zNzXXCCBEREVFFkxxu3nnnHc3Pvr6+uHDhAk6cOIE6deqgWrVqBi2OiIiISCq9j7l58OAB3n33XdSqVQvOzs4YPHgwbty4AWtra7Rs2ZLBhoiIiCoFvcNNZGQk4uLiEBoaioEDByI5ORnjxo0rz9qIiIiIJNP7a6ktW7Zg7dq1GDhwIABgyJAhaNu2LVQqFZRKZbkVSERERCSF3iM3ly5dQrt27TTTrVu3hqmpqebgYiIiIqLKQO9wo1KpYG5urtVmamqKwsJCgxdFREREVFp6fy0lhMDw4cNhYWGhaXv06BHGjh0LGxsbTduWLVsMWyERERGRBHqHm2HDhum0DRkyxKDFEBEREZWV3uFm3bp15VkHERERkUFIvrcUERERUWXGcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESywnBDREREssJwQ0RERLLCcENERESyYvRws2LFCnh6esLS0hJ+fn7Yt29fiX2zs7MxePBgeHt7w8TEBOHh4RVXKBEREb0UjBpuEhISEB4ejlmzZiE9PR3t2rVD165dkZWVVWz/goICVK9eHbNmzULz5s0ruFoiIiJ6GRg13CxZsgSjRo3C6NGj0ahRIyxbtgxubm6IiYkptr+HhweWL1+OsLAwODg4VHC1RERE9DIwWrh5/Pgx0tLSEBwcrNUeHByM1NRUI1VFRERELztTY634xo0bUKlUcHFx0Wp3cXFBTk6OwdZTUFCAgoICzXR+fr7Blk1ERESVj9EPKFYoFFrTQgidtrKIjo6Gg4OD5uHm5mawZRMREVHlY7RwU61aNSiVSp1RmtzcXJ3RnLKYOXMm8vLyNI9Lly4ZbNlERERU+Rgt3Jibm8PPzw/Jycla7cnJyQgMDDTYeiwsLGBvb6/1ICIiIvky2jE3ABAREYGhQ4fC398fAQEBWL16NbKysjB27FgAT0ddrly5gvj4eM08x44dAwDcu3cP169fx7Fjx2Bubo7GjRsbYxOIiIiokjFquBkwYABu3ryJefPmITs7G02bNkViYiLc3d0BPL1o37PXvPH19dX8nJaWhq+++gru7u64cOFCRZZORERElZRRww0AjB8/HuPHjy/2ubi4OJ02IUQ5V0REREQvM6OfLUVERERkSAw3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrRg83K1asgKenJywtLeHn54d9+/Y9t39KSgr8/PxgaWkJLy8vrFy5soIqJSIiopeBUcNNQkICwsPDMWvWLKSnp6Ndu3bo2rUrsrKyiu1//vx5dOvWDe3atUN6ejr+85//YOLEidi8eXMFV05ERESVlVHDzZIlSzBq1CiMHj0ajRo1wrJly+Dm5oaYmJhi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hg0bitWrVxu7pFdCUlKSACBOnjxp7FJeGfn5+WLSpEmiTp06wtLSUnh5eYlZs2aJgoICY5cmewkJCcLLy0uYm5uLGjVqiHfffVfcuXPH2GVVGjygmIiIiGSFx9wQERGRrDDcEBERkaww3BAREZGsMNwQERGRrDDcEBERkaww3BAREZGsMNwQERGRrDDcEBERkaww3BBRucjJycF7770HLy8vWFhYwM3NDT169MCuXbuMXRoRyRxvwEJEBnfhwgW0bdsWjo6OWLx4MZo1a4YnT54gKSkJ7777Lk6cOGHsEolIxjhyQ0QGN378eCgUCvz222/o27cvGjRogCZNmiAiIgKHDh0CAGRlZaFnz56wtbWFvb09+vfvj2vXrmmWERUVhRYtWiA2NhZ16tSBra0txo0bB5VKhcWLF6NGjRpwdnbGwoULtdatUCgQExODrl27wsrKCp6enti0aZNWn+nTp6NBgwawtraGl5cXZs+ejSdPnuise8OGDfDw8ICDgwMGDhyIu3fvAgDi4+Ph5OSEgoICreX26dMHYWFhBt2XRCQdww0RGdStW7ewY8cOvPvuu7CxsdF53tHREUIIvP3227h16xZSUlKQnJyMs2fPYsCAAVp9z549i59//hk7duzA119/jdjYWISGhuLy5ctISUnBRx99hA8++EATmIrMnj0bffr0wfHjxzFkyBAMGjQImZmZmuft7OwQFxeHjIwMLF++HGvWrMHSpUt11r1161Zs374d27dvR0pKChYtWgQA6NevH1QqFX788UdN/xs3bmD79u28KzNRZWDkG3cSkcwcPnxYABBbtmwpsc/OnTuFUqkUWVlZmra///5bABC//fabEEKIyMhIYW1tLfLz8zV9QkJChIeHh1CpVJo2b29vER0drZkGIMaOHau1vtdee02MGzeuxHoWL14s/Pz8NNPFrfv9998Xr732mmZ63LhxomvXrprpZcuWCS8vL6FWq0tcDxFVDB5zQ0QGJYQA8PTroZJkZmbCzc0Nbm5umrbGjRvD0dERmZmZaNWqFQDAw8MDdnZ2mj4uLi5QKpUwMTHRasvNzdVafkBAgM70sWPHNNPfffcdli1bhjNnzuDevXsoLCyEvb291jzPrtvV1VVrPf/617/QqlUrXLlyBbVq1cK6deswfPjw5243EVUMfi1FRAZVv359KBQKra+BniWEKDYEPNtuZmam9bxCoSi2Ta1Wv7CuouUeOnQIAwcORNeuXbF9+3akp6dj1qxZePz4sVb/F63H19cXzZs3R3x8PI4ePYo///wTw4cPf2EdRFT+GG6IyKCqVq2KkJAQfP7557h//77O83fu3EHjxo2RlZWFS5cuadozMjKQl5eHRo0albmGZ4/BOXToEBo2bAgAOHDgANzd3TFr1iz4+/ujfv36uHjxYqnWM3r0aKxbtw6xsbHo1KmT1kgUERkPww0RGdyKFSugUqnQunVrbN68GadPn0ZmZiY+++wzBAQEoFOnTmjWrBneeecdHD16FL/99hvCwsLQoUMH+Pv7l3n9mzZtQmxsLE6dOoXIyEj89ttvmDBhAgCgXr16yMrKwjfffIOzZ8/is88+w/fff1+q9bzzzju4cuUK1qxZg5EjR5a5biIyDIYbIjI4T09PHD16FEFBQZgyZQqaNm2Kzp07Y9euXYiJiYFCocDWrVtRpUoVtG/fHp06dYKXlxcSEhIMsv65c+fim2++QbNmzbB+/Xps3LgRjRs3BgD07NkTkydPxoQJE9CiRQukpqZi9uzZpVqPvb09+vTpA1tbW7z99tsGqZ2Iyk4hio7+IyKSAYVCge+//77Cwkbnzp3RqFEjfPbZZxWyPiJ6MZ4tRURUCrdu3cLOnTuxe/du/O9//zN2OUT0Dww3RESl0LJlS9y+fRsfffQRvL29jV0OEf0Dv5YiIiIiWeEBxURERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCv/D1RVYdQzWfNfAAAAAElFTkSuQmCC", + "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": [ "
" ] @@ -819,7 +819,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 21, "id": "4b3bb641-814b-4679-9a67-4eca87a920a6", "metadata": {}, "outputs": [], @@ -840,13 +840,13 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 22, "id": "01258674-6b98-49e4-93f4-f4185964999f", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHGCAYAAACIDqqPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIp0lEQVR4nO3dfXzN9f/H8efZtbFNmzaj2SbX11eFoeViJOlKLlK57kv0FaMiiXxJVJK+IeUyKokKKZbkSyiEkkUuJzbM1Vw1dvb5/eG28+s4G+dsZw4fj/vtdm43533en8/79fmcz9l5+lwdi2EYhgAAAEzCy9MFAAAAuBPhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBgAAmArhBoXq7NmzqlSpktq3b6/s7GxPlwMAuAUQbv5h1qxZslgsCggI0IEDBxxev/fee1WtWrV8zfvjjz/WxIkTc33NYrFo5MiR+Zqvu+Wsg/3799vaunXrppiYGLt+r732mr788strzu/pp59WRESE5s6dKy+v/G9uMTEx6tatW76nLyxX1rV//35ZLBbNmjWrUMe92vbkTtdrea5ksVj07LPPXtcxceP74YcfZLFY9MMPPxTqOJ7a7j1hx44dGjlypN3f/MJwvd67HISbXGRmZurll1926zyv9mW0fv169erVy63judPw4cP1xRdf2LU5E27ee+89/frrr/rqq6/k7+9fiBXeOCIjI7V+/Xq1adOmUMe5XuEGuJHUqVNH69evV506dTxdimns2LFDr776aqGHm+uNcJOL++67Tx9//LG2bdt2XcZr0KCB7rjjjusyVn7ceeedql27tsvT9evXT7///ruKFy/u/qJuUP7+/mrQoIFuv/12T5cCmE5wcLAaNGig4OBgT5eCGxzhJhcvvPCCwsLC9OKLL16z73vvvad77rlH4eHhKlq0qKpXr67x48fr0qVLtj733nuvvv76ax04cEAWi8X2yJHbYant27froYce0m233aaAgADVqlVLs2fPtuuTs5vvk08+0bBhw1SqVCkFBwerRYsW2rlzp13fpKQkPfTQQ7rjjjsUEBCgcuXKqXfv3kpPT7/mMl55WMpisejcuXOaPXu2bVnuvfde2+tpaWnq3bu37rjjDvn5+Sk2NlavvvqqsrKyrjnWpUuX9MILL6hkyZIKDAxU48aN9fPPP+fa19lxpkyZopo1a6pYsWIKCgpSpUqV9NJLL12zlszMTI0aNUqVK1dWQECAwsLC1LRpU61bty7PafLanf3nn3+qc+fOCg8Pl7+/vypXrqz33nvPro+z7+e1tqf8Lu/hw4fVoUMHBQUFKSQkRB07dlRaWlqufTdt2qQHH3xQoaGhCggIUO3atfXZZ59dcwzJtfX60UcfqXLlygoMDFTNmjW1dOlSu9d3796t7t27q3z58goMDFTp0qXVtm1b/fbbbw7z+uOPP3TfffcpMDBQJUqUUJ8+fbRkyRKHXeV5HQK999577bZzScrIyNDgwYMVGxsrPz8/lS5dWgMGDNC5c+ecWhfffvutmjdvrpCQEAUGBqpy5coaO3asXZ/FixerYcOGCgwMVFBQkBISErR+/Xq7PiNHjpTFYtGvv/6q9u3bKyQkRKGhoUpMTFRWVpZ27typ++67T0FBQYqJidH48ePtps/Z9ubOnavExESVLFlSRYoUUXx8vLZs2WLXd9OmTerUqZNiYmJUpEgRxcTE6PHHH8/1UP7atWvVsGFDBQQEqHTp0ho+fLg+/PBDh0PfMTExeuCBB/Ttt9+qTp06KlKkiCpVqqQZM2bkWueVhzYKsj1er+3+Wp/LnFMCkpKS1L17d4WGhqpo0aJq27at9u7d6zC/7777Ts2bN1dwcLACAwPVqFEjrVy50qHfH3/8occff1wRERHy9/dXmTJl1KVLF2VmZmrWrFlq3769JKlp06a2vyU5f79c+d642jhXU5B1ejU+BZ6DCQUFBenll1/Wc889p++//17NmjXLs++ePXvUuXNn2x+3bdu2acyYMfrjjz9sH8zJkyfrX//6l/bs2eNweCc3O3fuVFxcnMLDwzVp0iSFhYVp7ty56tatm44cOaIXXnjBrv9LL72kRo0a6cMPP1RGRoZefPFFtW3bVsnJyfL29rbV2bBhQ/Xq1UshISHav3+/JkyYoMaNG+u3336Tr6+v0+tn/fr1atasmZo2barhw4dLku1/Umlpabr77rvl5eWlV155RXfeeafWr1+v0aNHa//+/Zo5c+ZV5/30009rzpw5Gjx4sBISErR9+3Y9+uijOnPmjF0/Z8f59NNP1bdvX/373//Wm2++KS8vL+3evVs7duy4ah1ZWVlq3bq11qxZowEDBqhZs2bKysrShg0blJKSori4OKfX144dOxQXF6cyZcrorbfeUsmSJbV8+XL1799f6enpGjFihF3/a72fV9ue8ru8Fy5cUIsWLXT48GGNHTtWFSpU0Ndff62OHTs69F21apXuu+8+1a9fX1OnTlVISIg+/fRTdezYUefPn7/quVGurNevv/5aGzdu1KhRo1SsWDGNHz9ejzzyiHbu3KmyZctKuvzFFBYWptdff1233367Tpw4odmzZ6t+/frasmWLKlasKEk6cuSI4uPj5evrq8mTJysiIkLz5s0r0Hk958+fV3x8vP766y+99NJLqlGjhn7//Xe98sor+u233/Tdd9/Zhc4rTZ8+XU8//bTi4+M1depUhYeHa9euXdq+fbutz8cff6wnnnhCLVu21CeffKLMzEyNHz9e9957r1auXKnGjRvbzbNDhw568skn1bt3byUlJdn+o/Xdd9+pb9++Gjx4sD7++GO9+OKLKleunB599FG76V966SXVqVNHH374oU6fPq2RI0fq3nvv1ZYtW2zrfP/+/apYsaI6deqk0NBQpaamasqUKbrrrru0Y8cOlShRQpL066+/KiEhQRUqVNDs2bMVGBioqVOnau7cubmuj23btmnQoEEaMmSIIiIi9OGHH6pnz54qV66c7rnnnjzXY0G2x+u13bvyuezZs6cSEhL08ccf6+DBg3r55Zd177336tdff7XtBZ87d666dOmihx56SLNnz5avr6/ef/99tWrVSsuXL1fz5s1t67Rx48YqUaKERo0apfLlyys1NVWLFy/WxYsX1aZNG7322mt66aWX9N5779kO9915552SnP/euNY4eZ2WUJB1ek0GbGbOnGlIMjZu3GhkZmYaZcuWNerVq2dkZ2cbhmEY8fHxRtWqVfOc3mq1GpcuXTLmzJljeHt7GydOnLC91qZNGyM6OjrX6SQZI0aMsD3v1KmT4e/vb6SkpNj1a926tREYGGicOnXKMAzDWLVqlSHJuP/+++36ffbZZ4YkY/369bmOl52dbVy6dMk4cOCAIcn46quvHNbBvn37bG1du3Z1qL1o0aJG165dHebdu3dvo1ixYsaBAwfs2t98801DkvH777/nWpNhGEZycrIhyRg4cKBd+7x58wxJduM5O86zzz5rFC9ePM8x8zJnzhxDkvHBBx9ctV90dLRdXfv27TMkGTNnzrS1tWrVyrjjjjuM06dP2037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Lzn/uczrPShXrpxdLe+++64aNGiQ61gRERGyWq3y9va+6jZ2Nc5+b4SGhuZrHHes06sh3FxDixYtlJCQoFGjRjkcJsrZffvPk6UMw9AHH3zgMJ9r/Q/kn5o3b64vvvhChw8ftvuSnjNnjgIDA/PcoPOSW52S9P7777s0n3/Ka3keeOABLVu2THfeeafLf3hzrkSZN2+e6tata2v/7LPPHK6Ays84RYsWVevWrXXx4kU9/PDD+v333/P8sm/durU++eQTzZo1q0CHpgIDA9W0aVNt2bJFNWrUkJ+fX77n9U/ObE+uLG/Tpk312WefafHixXa76D/++GO7fhUrVlT58uW1bds2h0DhDHet1xwWi8Vhu/7666916NAh25eBdHn5xo8fr23bttkdmrpy+aTLV+78+uuvdm27du3Szp077QLLAw88oNdee01hYWEuB9S4uDiFhIRo6tSp6tSpU66HpipWrKjSpUvr448/1uDBg219zp07p4ULF9quoHKnTz75RImJibaxDhw4oHXr1qlLly6SLq9vwzAc1vmHH34oq9Vq1xYfH69ly5bZhcLs7GwtWLDAbfUWdHu8Xtv9P13rczlv3jy1a9fO9nzdunU6cOCA7V5ojRo1UvHixbVjx45rnhAfHx+vBQsWaMyYMXmG7bz2DDv7vZFzVd21xrmSO9dpbgg3Thg3bpzq1q2ro0ePqmrVqrb2hIQE+fn56fHHH9cLL7ygv//+W1OmTNHJkycd5lG9enUtWrRIU6ZMUd26deXl5aV69erlOt6IESNs55S88sorCg0N1bx58/T1119r/PjxCgkJcan+SpUq6c4779SQIUNkGIZCQ0O1ZMkSJSUlubYirlieH374QUuWLFFkZKSCgoJUsWJFjRo1SklJSYqLi1P//v1VsWJF/f3339q/f7+WLVumqVOn5rn7snLlynryySc1ceJE+fr6qkWLFtq+fbvefPNNh/taODvO008/rSJFiqhRo0aKjIxUWlqaxo4dq5CQEN111115Lt/jjz+umTNnqk+fPtq5c6eaNm2q7Oxs/fTTT6pcubI6derk9Lp655131LhxYzVp0kTPPPOMYmJidObMGe3evVtLlizR999/7/S8cuS1PeV3ebt06aK3335bXbp00ZgxY1S+fHktW7ZMy5cvd+j7/vvvq3Xr1mrVqpW6deum0qVL68SJE0pO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hg21ZMkSu7YVK1aoXr168vX1zXUaf39/+fv7X4/yAADADcCje27Onj2rrVu3auvWrZIuX+q9detWpaSkSLq816VLly62/n369NGBAweUmJio5ORkzZgxQ9OnT9fgwYM9UT4AALgBeXTPzaZNm9S0aVPb88TERElS165dNWvWLKWmptqCjiTFxsZq2bJlGjhwoN577z2VKlVKkyZN4jJwAABgYzFyzsi9RWRkZCgkJESnT59WcHCwp8sBAJfFDPna0yXcNPa/3sbTJcBNXPn+vqlOKAYAALgWwg0AADAVwg0AADAVwg0AADAVwg0AADCVm+omfkBeuHrEeVw9AsDs2HMDAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMxePhZvLkyYqNjVVAQIDq1q2rNWvWXLX/vHnzVLNmTQUGBioyMlLdu3fX8ePHr1O1AADgRufRcDN//nwNGDBAw4YN05YtW9SkSRO1bt1aKSkpufZfu3atunTpop49e+r333/XggULtHHjRvXq1es6Vw4AAG5UHg03EyZMUM+ePdWrVy9VrlxZEydOVFRUlKZMmZJr/w0bNigmJkb9+/dXbGysGjdurN69e2vTpk3XuXIAAHCj8li4uXjxojZv3qyWLVvatbds2VLr1q3LdZq4uDj99ddfWrZsmQzD0JEjR/T555+rTZs2eY6TmZmpjIwMuwcAADAvj4Wb9PR0Wa1WRURE2LVHREQoLS0t12ni4uI0b948dezYUX5+fipZsqSKFy+ud999N89xxo4dq5CQENsjKirKrcsBAABuLB4/odhisdg9NwzDoS3Hjh071L9/f73yyivavHmzvv32W+3bt099+vTJc/5Dhw7V6dOnbY+DBw+6tX4AAHBj8fHUwCVKlJC3t7fDXpqjR4867M3JMXbsWDVq1EjPP/+8JKlGjRoqWrSomjRpotGjRysyMtJhGn9/f/n7+7t/AQAAwA3JY3tu/Pz8VLduXSUlJdm1JyUlKS4uLtdpzp8/Ly8v+5K9vb0lXd7jAwAA4NHDUomJifrwww81Y8YMJScna+DAgUpJSbEdZho6dKi6dOli69+2bVstWrRIU6ZM0d69e/Xjjz+qf//+uvvuu1WqVClPLQYAALiBeOywlCR17NhRx48f16hRo5Samqpq1app2bJlio6OliSlpqba3fOmW7duOnPmjP773/9q0KBBKl68uJo1a6Zx48Z5ahEAAMANxmLcYsdzMjIyFBISotOnTys4ONjT5cBNYoZ87ekSbhr7X8/71gm4ObC9O4/t3Txc+f72+NVSAAAA7kS4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAApkK4AQAAplLgcGO1WrV161adPHnSHfUAAAAUiMvhZsCAAZo+fbqky8EmPj5ederUUVRUlH744Qd31wcAAOASl8PN559/rpo1a0qSlixZon379umPP/7QgAEDNGzYMLcXCAAA4AqXw016erpKliwpSVq2bJnat2+vChUqqGfPnvrtt9/cXiAAAIArXA43ERER2rFjh6xWq7799lu1aNFCknT+/Hl5e3u7vUAAAABX+Lg6Qffu3dWhQwdFRkbKYrEoISFBkvTTTz+pUqVKbi8QAADAFS6Hm5EjR6patWo6ePCg2rdvL39/f0mSt7e3hgwZ4vYCAQAAXOFyuJGkxx57zKGta9euBS4GAACgoJwKN5MmTdK//vUvBQQEaNKkSVft279/f7cUBgAAkB9OhZu3335bTzzxhAICAvT222/n2c9isRBuAACARzkVbvbt25frvwEAAG40/LYUAAAwlXydUPzXX39p8eLFSklJ0cWLF+1emzBhglsKAwAAyA+Xw83KlSv14IMPKjY2Vjt37lS1atW0f/9+GYahOnXqFEaNAAAATnP5sNTQoUM1aNAgbd++XQEBAVq4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qVJTU5WRkWH3AAAA8CSXfzgz54qoBx980O6S8JxLxK1Wq/uqAwAAcJHL4WbVqlWFUQcAAIBbuBxu4uPjC6MOAAAAt3A53OQ4f/68UlJSdPHiRbv2GjVqFLgoAACA/HI53Bw7dkzdu3fXN998k+vrnHMDAAA8yeWrpQYMGKCTJ09qw4YNKlKkiL799lvNnj1b5cuX1+LFiwujRgAAAKe5vOfm+++/11dffaW77rpLXl5eio6OVkJCgoKDgzV27Fi1adOmMOoEAABwist7bs6dO6fw8HBJUmhoqI4dOybp8s39fvnlF/dWBwAA4CKXw03FihW1c+dOSVKtWrX0/vvv69ChQ5o6dSq/NwUAADzO5cNSAwYM0OHDhyVd/jHNVq1aad68efLz89OsWbPcXR8AAIBLXA43TzzxhO3ftWvX1v79+/XHH3+oTJkyKlGihFuLAwAAcJXTh6XOnz+vfv36qXTp0goPD1fnzp2Vnp6uwMBA1alTh2ADAABuCE6HmxEjRmjWrFlq06aNOnXqpKSkJD3zzDOFWRsAAIDLnD4stWjRIk2fPl2dOnWSJD355JNq1KiRrFarvL29C61AAAAAVzi95+bgwYNq0qSJ7fndd98tHx8f28nFAAAANwKnw43VapWfn59dm4+Pj7KystxeFAAAQH45fVjKMAx169ZN/v7+tra///5bffr0UdGiRW1tixYtcm+FAAAALnA63HTt2tWh7cknn3RrMQAAAAXldLiZOXNmYdYBAADgFi7//AIAAMCNjHADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMxcfTBQAAcDOIGfK1p0u4aex/vY1Hx2fPDQAAMBXCDQAAMBWPh5vJkycrNjZWAQEBqlu3rtasWZNn30WLFikhIUG33367goOD1bBhQy1fvvw6VgsAAG50Hg038+fP14ABAzRs2DBt2bJFTZo0UevWrZWSkpJr///9739KSEjQsmXLtHnzZjVt2lRt27bVli1brnPlAADgRuXRcDNhwgT17NlTvXr1UuXKlTVx4kRFRUVpypQpufafOHGiXnjhBd11110qX768XnvtNZUvX15Lliy5zpUDAIAblcfCzcWLF7V582a1bNnSrr1ly5Zat26dU/PIzs7WmTNnFBoammefzMxMZWRk2D0AAIB5eSzcpKeny2q1KiIiwq49IiJCaWlpTs3jrbfe0rlz59ShQ4c8+4wdO1YhISG2R1RUVIHqBgAANzaPn1BssVjsnhuG4dCWm08++UQjR47U/PnzFR4enme/oUOH6vTp07bHwYMHC1wzAAC4cXnsJn4lSpSQt7e3w16ao0ePOuzNudL8+fPVs2dPLViwQC1atLhqX39/f/n7+xe4XgAAcHPw2J4bPz8/1a1bV0lJSXbtSUlJiouLy3O6Tz75RN26ddPHH3+sNm08ewdEAABw4/Hozy8kJibqqaeeUr169dSwYUNNmzZNKSkp6tOnj6TLh5QOHTqkOXPmSLocbLp06aJ33nlHDRo0sO31KVKkiEJCQjy2HAAA4Mbh0XDTsWNHHT9+XKNGjVJqaqqqVaumZcuWKTo6WpKUmppqd8+b999/X1lZWerXr5/69etna+/atatmzZp1vcsHAAA3II//cGbfvn3Vt2/fXF+7MrD88MMPhV8QAAC4qXn8aikAAAB3ItwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABTIdwAAABT8fF0AQBuXjFDvvZ0CTeN/a+38XQJwC2DPTcAAMBUCDcAAMBUPB5uJk+erNjYWAUEBKhu3bpas2bNVfuvXr1adevWVUBAgMqWLaupU6dep0oBAMDNwKPhZv78+RowYICGDRumLVu2qEmTJmrdurVSUlJy7b9v3z7df//9atKkibZs2aKXXnpJ/fv318KFC69z5QAA4Ebl0XAzYcIE9ezZU7169VLlypU1ceJERUVFacqUKbn2nzp1qsqUKaOJEyeqcuXK6tWrl3r06KE333zzOlcOAABuVB4LNxcvXtTmzZvVsmVLu/aWLVtq3bp1uU6zfv16h/6tWrXSpk2bdOnSpUKrFQAA3Dw8dil4enq6rFarIiIi7NojIiKUlpaW6zRpaWm59s/KylJ6eroiIyMdpsnMzFRmZqbt+enTpyVJGRkZBV2EXGVnni+U+ZqRO98D1rvzWO+ewXr3DNa7ZxTGd2zOPA3DuGZfj9/nxmKx2D03DMOh7Vr9c2vPMXbsWL366qsO7VFRUa6WCjcLmejpCm5NrHfPYL17BuvdMwpzvZ85c0YhISFX7eOxcFOiRAl5e3s77KU5evSow96ZHCVLlsy1v4+Pj8LCwnKdZujQoUpMTLQ9z87O1okTJxQWFnbVEGUmGRkZioqK0sGDBxUcHOzpcm4JrHPPYL17BuvdM2619W4Yhs6cOaNSpUpds6/Hwo2fn5/q1q2rpKQkPfLII7b2pKQkPfTQQ7lO07BhQy1ZssSubcWKFapXr558fX1zncbf31/+/v52bcWLFy9Y8Tep4ODgW+IDcCNhnXsG690zWO+ecSut92vtscnh0aulEhMT9eGHH2rGjBlKTk7WwIEDlZKSoj59+ki6vNelS5cutv59+vTRgQMHlJiYqOTkZM2YMUPTp0/X4MGDPbUIAADgBuPRc246duyo48ePa9SoUUpNTVW1atW0bNkyRUdHS5JSU1Pt7nkTGxurZcuWaeDAgXrvvfdUqlQpTZo0Se3atfPUIgAAgBuMx08o7tu3r/r27Zvra7NmzXJoi4+P1y+//FLIVZmLv7+/RowY4XB4DoWHde4ZrHfPYL17Bus9bxbDmWuqAAAAbhIe/20pAAAAdyLcAAAAUyHcAAAAUyHcAAAAUyHcmNTIkSNlsVjsHiVLlvR0WbeEQ4cO6cknn1RYWJgCAwNVq1Ytbd682dNlmVpMTIzD9m6xWNSvXz9Pl2ZqWVlZevnllxUbG6siRYqobNmyGjVqlLKzsz1dmumdOXNGAwYMUHR0tIoUKaK4uDht3LjR02XdMDx+KTgKT9WqVfXdd9/Znnt7e3uwmlvDyZMn1ahRIzVt2lTffPONwsPDtWfPnlv2rtjXy8aNG2W1Wm3Pt2/froSEBLVv396DVZnfuHHjNHXqVM2ePVtVq1bVpk2b1L17d4WEhOi5557zdHmm1qtXL23fvl0fffSRSpUqpblz56pFixbasWOHSpcu7enyPI5LwU1q5MiR+vLLL7V161ZPl3JLGTJkiH788UetWbPG06Xc0gYMGKClS5fqzz//vGV+Q84THnjgAUVERGj69Om2tnbt2ikwMFAfffSRBysztwsXLigoKEhfffWV2rRpY2uvVauWHnjgAY0ePdqD1d0YOCxlYn/++adKlSql2NhYderUSXv37vV0Saa3ePFi1atXT+3bt1d4eLhq166tDz74wNNl3VIuXryouXPnqkePHgSbQta4cWOtXLlSu3btkiRt27ZNa9eu1f333+/hyswtKytLVqtVAQEBdu1FihTR2rVrPVTVjYVwY1L169fXnDlztHz5cn3wwQdKS0tTXFycjh8/7unSTG3v3r2aMmWKypcvr+XLl6tPnz7q37+/5syZ4+nSbhlffvmlTp06pW7dunm6FNN78cUX9fjjj6tSpUry9fVV7dq1NWDAAD3++OOeLs3UgoKC1LBhQ/3nP//R4cOHZbVaNXfuXP30009KTU31dHk3BA5L3SLOnTunO++8Uy+88IISExM9XY5p+fn5qV69elq3bp2trX///tq4caPWr1/vwcpuHa1atZKfn5+WLFni6VJM79NPP9Xzzz+vN954Q1WrVtXWrVs1YMAATZgwQV27dvV0eaa2Z88e9ejRQ//73//k7e2tOnXqqEKFCvrll1+0Y8cOT5fncZxQfIsoWrSoqlevrj///NPTpZhaZGSkqlSpYtdWuXJlLVy40EMV3VoOHDig7777TosWLfJ0KbeE559/XkOGDFGnTp0kSdWrV9eBAwc0duxYwk0hu/POO7V69WqdO3dOGRkZioyMVMeOHRUbG+vp0m4IHJa6RWRmZio5OVmRkZGeLsXUGjVqpJ07d9q17dq1y/ZL9yhcM2fOVHh4uN1Jlig858+fl5eX/deIt7c3l4JfR0WLFlVkZKROnjyp5cuX66GHHvJ0STcE9tyY1ODBg9W2bVuVKVNGR48e1ejRo5WRkcH/pgrZwIEDFRcXp9dee00dOnTQzz//rGnTpmnatGmeLs30srOzNXPmTHXt2lU+Pvxpux7atm2rMWPGqEyZMqpataq2bNmiCRMmqEePHp4uzfSWL18uwzBUsWJF7d69W88//7wqVqyo7t27e7q0G4MBU+rYsaMRGRlp+Pr6GqVKlTIeffRR4/fff/d0WbeEJUuWGNWqVTP8/f2NSpUqGdOmTfN0SbeE5cuXG5KMnTt3erqUW0ZGRobx3HPPGWXKlDECAgKMsmXLGsOGDTMyMzM9XZrpzZ8/3yhbtqzh5+dnlCxZ0ujXr59x6tQpT5d1w+CEYgAAYCqccwMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAOgUKSlpenf//63ypYtK39/f0VFRalt27ZauXKlp0sDYHL8AAsAt9u/f78aNWqk4sWLa/z48apRo4YuXbqk5cuXq1+/fvrjjz88XSIAE2PPDQC369u3rywWi37++Wc99thjqlChgqpWrarExERt2LBBkpSSkqKHHnpIxYoVU3BwsDp06KAjR47Y5jFy5EjVqlVLM2bMUJkyZVSsWDE988wzslqtGj9+vEqWLKnw8HCNGTPGbmyLxaIpU6aodevWKlKkiGJjY7VgwQK7Pi+++KIqVKigwMBAlS1bVsOHD9elS5ccxv7oo48UExOjkJAQderUSWfOnJEkzZkzR2FhYcrMzLSbb7t27dSlSxe3rksAriPcAHCrEydO6Ntvv1W/fv1UtGhRh9eLFy8uwzD08MMP68SJE1q9erWSkpK0Z88edezY0a7vnj179M033+jbb7/VJ598ohkzZqhNmzb666+/tHr1ao0bN04vv/yyLTDlGD58uNq1a6dt27bpySef1OOPP67k5GTb60FBQZo1a5Z27Nihd955Rx988IHefvtth7G//PJLLV26VEuXLtXq1av1+uuvS5Lat28vq9WqxYsX2/qnp6dr6dKl/CozcCPw8A93AjCZn376yZBkLFq0KM8+K1asMLy9vY2UlBRb2++//25IMn7++WfDMAxjxIgRRmBgoJGRkWHr06pVKyMmJsawWq22tooVKxpjx461PZdk9OnTx268+vXrG88880ye9YwfP96oW7eu7XluYz///PNG/fr1bc+feeYZo3Xr1rbnEydONMqWLWtkZ2fnOQ6A64NzbgC4lWEYki4fHspLcnKyoqKiFBUVZWurUqWKihcvruTkZN11112SpJiYGAUFBdn6REREyNvbW15eXnZtR48etZt/w4YNHZ5v3brV9vzzzz/XxIkTtXv3bp09e1ZZWVkKDg62m+bKsSMjI+3Gefrpp3XXXXfp0KFDKl26tGbOnKlu3bpddbkBXB8clgLgVuXLl5fFYrE7DHQlwzByDQFXtvv6+tq9brFYcm3Lzs6+Zl05892wYYM6deqk1q1ba+nSpdqyZYuGDRumixcv2vW/1ji1a9dWzZo1NWfOHP3yyy/67bff1K1bt2vWAaDwEW4AuFVoaKhatWql9957T+fOnXN4/dSpU6pSpYpSUlJ08OBBW/uOHTt0+vRpVa5cucA1XHkOzoYNG1SpUiVJ0o8//qjo6GgNGzZM9erVU/ny5XXgwIF8jdOrVy/NnDlTM2bMUIsWLez2RAHwHMINALebPHmyrFar7r77bi1cuFB//vmnkpOTNWnSJDVs2FAtWrRQjRo19MQTT+iXX37Rzz//rC5duig+Pl716tUr8PgLFizQjBkztGvXLo0YMUI///yznn32WUlSuXLllJKSok8//VR79uzRpEmT9MUXX+RrnCeeeEKHDh3SBx98oB49ehS4bgDuQbgB4HaxsbH65Zdf1LRpUw0aNEjVqlVTQkKCVq5cqSlTpshisejLL7/UbbfdpnvuuUctWrRQ2bJlNX/+fLeM/+qrr+rTTz9VjRo1NHv2bM2bN09VqlSRJD300EMaOHCgnn32WdWqVUvr1q3T8OHD8zVOcHCw2rVrp2LFiunhhx92S+0ACs5i5Jz9BwAmYLFY9MUXX1y3sJGQkKDKlStr0qRJ12U8ANfG1VIAkA8nTpzQihUr9P333+u///2vp8sB8A+EGwDIhzp16ujkyZMaN26cKlas6OlyAPwDh6UAAICpcEIxAAAwFcINAAAwFcINAAAwFcINAAAwFcINAAAwFcINAAAwFcINAAAwFcINAAAwFcINAAAwlf8DNQlGe3xOUnMAAAAASUVORK5CYII=", + "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": [ "
" ] @@ -869,7 +869,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 23, "id": "8d116e34-cdd6-4ef9-8622-474da79f79ef", "metadata": {}, "outputs": [ @@ -891,7 +891,7 @@ "dtype: int64" ] }, - "execution_count": 66, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -903,7 +903,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 24, "id": "724d3c33-c219-4212-b8b6-dd78481674cb", "metadata": {}, "outputs": [], @@ -927,7 +927,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 25, "id": "e513f308-3a9c-40ed-99d5-ed420bd67384", "metadata": {}, "outputs": [ @@ -945,6 +945,469 @@ "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": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
customer_idnb_ticketsnb_purchasestotal_amountnb_suppliersvente_internet_maxpurchase_date_minpurchase_date_maxtime_between_purchasenb_tickets_internet...gender_labelgender_femalegender_malegender_othercountry_frhas_tagsnb_campaignsnb_campaigns_openedtime_to_openy_has_purchased
010_10.00.00.00.00.0NaNNaNNaN0.0...other001NaN00.00.0NaNNaN
110_20.00.00.00.00.0NaNNaNNaN0.0...other001NaN00.00.0NaNNaN
210_30.00.00.00.00.0NaNNaNNaN0.0...other001NaN00.00.0NaNNaN
310_40.00.00.00.00.0NaNNaNNaN0.0...other001NaN00.00.0NaNNaN
410_50.00.00.00.00.0NaNNaNNaN0.0...other001NaN00.00.0NaNNaN
..................................................................
152368314_68847480.00.00.00.00.0NaNNaNNaN0.0...male0101.000.00.0NaNNaN
152368414_68847490.00.00.00.00.0NaNNaNNaN0.0...male0101.000.00.0NaNNaN
152368514_68847500.00.00.00.00.0NaNNaNNaN0.0...male0101.000.00.0NaNNaN
152368614_68847510.00.00.00.00.0NaNNaNNaN0.0...female1001.000.00.0NaNNaN
152368714_68847530.00.00.00.00.0NaNNaNNaN0.0...male0101.000.00.0NaNNaN
\n", + "

1523688 rows × 41 columns

\n", + "
" + ], + "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": { diff --git a/Sport/exploration_sport.ipynb b/Sport/exploration_sport.ipynb index e28c5f2..b60be94 100644 --- a/Sport/exploration_sport.ipynb +++ b/Sport/exploration_sport.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 114, + "execution_count": 1, "id": "314bf34b-1f6d-4a99-8f82-aa71ebacdabc", "metadata": {}, "outputs": [], @@ -19,7 +19,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 2, "id": "a276822a-c389-429e-b249-8a9e47758bfc", "metadata": {}, "outputs": [], @@ -30,7 +30,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 3, "id": "f62b996c-4e17-40ea-83ba-f0cb60be7671", "metadata": {}, "outputs": [ @@ -54,7 +54,7 @@ " 'bdc2324-data/9']" ] }, - "execution_count": 34, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -822,12 +822,33 @@ ] }, { - "cell_type": "code", - "execution_count": null, - "id": "f086a8dc-69ab-4cf3-b25e-379d7da02f43", + "cell_type": "markdown", + "id": "99a75c34-f393-433a-b3c2-dc3f6f2f3e7e", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "## Investigate train and test" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "970302f5-4de2-46b4-a1ce-a5396f5330ab", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fs(" + ] } ], "metadata": { -- 2.34.1 From d8e2da70cb6151a67542f605bef597e5e38d115a Mon Sep 17 00:00:00 2001 From: arevelle-ensae Date: Wed, 6 Mar 2024 11:49:37 +0000 Subject: [PATCH 4/7] fix path + test and train customer allocation' --- 0_2_Dataset_construction.py | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/0_2_Dataset_construction.py b/0_2_Dataset_construction.py index 917dee9..1c410f5 100644 --- a/0_2_Dataset_construction.py +++ b/0_2_Dataset_construction.py @@ -66,6 +66,10 @@ def dataset_construction(min_date, end_features_date, max_date, directory_path): df_customerplus_clean_0 = display_databases(directory_path, file_name = "customerplus_cleaned") df_campaigns_information = display_databases(directory_path, file_name = "campaigns_information", datetime_col = ['opened_at', 'sent_at', 'campaign_sent_at']) df_products_purchased_reduced = display_databases(directory_path, file_name = "products_purchased_reduced", datetime_col = ['purchase_date']) + + # if directory_path == "101": + # df_products_purchased_reduced_1 = display_databases(directory_path, file_name = "products_purchased_reduced_1", datetime_col = ['purchase_date']) + # df_products_purchased_reduced = pd.concat([df_products_purchased_reduced, df_products_purchased_reduced_1]) # Filtre de cohérence pour la mise en pratique de notre méthode max_date = pd.to_datetime(max_date, utc = True, format = 'ISO8601') @@ -131,7 +135,7 @@ def dataset_construction(min_date, end_features_date, max_date, directory_path): ## Exportation -companies = {'musee' : ['1', '2', '3', '4', '101'], +companies = {'musee' : ['1', '2', '3', '4'], # , '101' 'sport': ['5', '6', '7', '8', '9'], 'musique' : ['10', '11', '12', '13', '14']} @@ -142,12 +146,31 @@ BUCKET_OUT = f'projet-bdc2324-team1/Generalization/{type_of_comp}' # Create test dataset and train dataset for sport companies -start_date, end_of_features, final_date = df_coverage_modelization(list_of_comp, coverage_train = 0.7) +# start_date, end_of_features, final_date = df_coverage_modelization(list_of_comp, coverage_train = 0.7) +start_date = "2021-05-01" +end_of_features = "2022-11-01" +final_date = "2023-11-01" + +anonymous_customer = {'1' : 1_1, '2' : 2_12184, '3' : 3_1, '4' : 4_2, '101' : 101_1, + '5' : 5_191835, '6' : 6_591412, '7' : 7_49632, '8' : 8_1942, '9' : 9_19683} for company in list_of_comp: - dataset_test = dataset_construction(min_date = start_date, end_features_date = end_of_features, + dataset = dataset_construction(min_date = start_date, end_features_date = end_of_features, max_date = final_date, directory_path = company) + + # On retire le client anonyme + dataset = dataset[dataset['customer_id'] != anonymous_customer[company]] + #train test set + np.random.seed(42) + + # Dataset Test + split_ratio = 0.7 + split_index = int(len(dataset) * split_ratio) + dataset = dataset.sample(frac=1).reset_index(drop=True) + dataset_train = dataset.iloc[:split_index] + dataset_test = dataset.iloc[split_index:] + # Exportation FILE_KEY_OUT_S3 = "dataset_test" + company + ".csv" FILE_PATH_OUT_S3 = BUCKET_OUT + "/Test_set/" + FILE_KEY_OUT_S3 @@ -157,12 +180,11 @@ for company in list_of_comp: print("Exportation dataset test : SUCCESS") -# Dataset train - dataset_train = dataset_construction(min_date = start_date, end_features_date = end_of_features, - max_date = final_date, directory_path = company) + # Dataset train + # Export FILE_KEY_OUT_S3 = "dataset_train" + company + ".csv" - FILE_PATH_OUT_S3 = BUCKET_OUT + "/Train_test/" + FILE_KEY_OUT_S3 + FILE_PATH_OUT_S3 = BUCKET_OUT + "/Train_set/" + FILE_KEY_OUT_S3 with fs.open(FILE_PATH_OUT_S3, 'w') as file_out: dataset_train.to_csv(file_out, index = False) -- 2.34.1 From 41f49edd1c346884fd97672a125c7df1fa25d550 Mon Sep 17 00:00:00 2001 From: arevelle-ensae Date: Wed, 6 Mar 2024 11:49:51 +0000 Subject: [PATCH 5/7] explore sport --- Sport/exploration_sport.ipynb | 119 ++++++++++++++++++++++++++++++++-- 1 file changed, 113 insertions(+), 6 deletions(-) diff --git a/Sport/exploration_sport.ipynb b/Sport/exploration_sport.ipynb index b60be94..bf66eaf 100644 --- a/Sport/exploration_sport.ipynb +++ b/Sport/exploration_sport.ipynb @@ -30,7 +30,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 31, "id": "f62b996c-4e17-40ea-83ba-f0cb60be7671", "metadata": {}, "outputs": [ @@ -54,7 +54,7 @@ " 'bdc2324-data/9']" ] }, - "execution_count": 3, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -831,23 +831,130 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 13, "id": "970302f5-4de2-46b4-a1ce-a5396f5330ab", "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": 50, + "id": "f5bfae82-04aa-44e1-9869-3f4fd5736b41", + "metadata": { + "scrolled": true + }, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "File path : projet-bdc2324-team1/Generalization/sport/Train_set.csv\n" + ] + }, { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
c
\n", + "
" + ], "text/plain": [ - "" + "Empty DataFrame\n", + "Columns: [c]\n", + "Index: []" ] }, - "execution_count": 5, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "fs(" + "train_sport = display_databases('sport', 'Train_set')\n", + "train_sport.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "56d5b12e-45e8-4312-869d-bde4d24900b6", + "metadata": {}, + "outputs": [ + { + "ename": "KeyError", + "evalue": "'y_has_purchased'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m/opt/mamba/lib/python3.11/site-packages/pandas/core/indexes/base.py:3802\u001b[0m, in \u001b[0;36mIndex.get_loc\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3801\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 3802\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \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[43mget_loc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcasted_key\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3803\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err:\n", + "File \u001b[0;32mindex.pyx:153\u001b[0m, in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", + "File \u001b[0;32mindex.pyx:182\u001b[0m, in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", + "File \u001b[0;32mpandas/_libs/hashtable_class_helper.pxi:7081\u001b[0m, in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", + "File \u001b[0;32mpandas/_libs/hashtable_class_helper.pxi:7089\u001b[0m, in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", + "\u001b[0;31mKeyError\u001b[0m: 'y_has_purchased'", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[51], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mtrain_sport\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43my_has_purchased\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[38;5;241m.\u001b[39munique()\n", + "File \u001b[0;32m/opt/mamba/lib/python3.11/site-packages/pandas/core/frame.py:4090\u001b[0m, in \u001b[0;36mDataFrame.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 4088\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcolumns\u001b[38;5;241m.\u001b[39mnlevels \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m1\u001b[39m:\n\u001b[1;32m 4089\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_getitem_multilevel(key)\n\u001b[0;32m-> 4090\u001b[0m indexer \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcolumns\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_loc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4091\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_integer(indexer):\n\u001b[1;32m 4092\u001b[0m indexer \u001b[38;5;241m=\u001b[39m [indexer]\n", + "File \u001b[0;32m/opt/mamba/lib/python3.11/site-packages/pandas/core/indexes/base.py:3809\u001b[0m, in \u001b[0;36mIndex.get_loc\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3804\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(casted_key, \u001b[38;5;28mslice\u001b[39m) \u001b[38;5;129;01mor\u001b[39;00m (\n\u001b[1;32m 3805\u001b[0m \u001b[38;5;28misinstance\u001b[39m(casted_key, abc\u001b[38;5;241m.\u001b[39mIterable)\n\u001b[1;32m 3806\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28many\u001b[39m(\u001b[38;5;28misinstance\u001b[39m(x, \u001b[38;5;28mslice\u001b[39m) \u001b[38;5;28;01mfor\u001b[39;00m x \u001b[38;5;129;01min\u001b[39;00m casted_key)\n\u001b[1;32m 3807\u001b[0m ):\n\u001b[1;32m 3808\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m InvalidIndexError(key)\n\u001b[0;32m-> 3809\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m(key) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01merr\u001b[39;00m\n\u001b[1;32m 3810\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m:\n\u001b[1;32m 3811\u001b[0m \u001b[38;5;66;03m# If we have a listlike key, _check_indexing_error will raise\u001b[39;00m\n\u001b[1;32m 3812\u001b[0m \u001b[38;5;66;03m# InvalidIndexError. Otherwise we fall through and re-raise\u001b[39;00m\n\u001b[1;32m 3813\u001b[0m \u001b[38;5;66;03m# the TypeError.\u001b[39;00m\n\u001b[1;32m 3814\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_indexing_error(key)\n", + "\u001b[0;31mKeyError\u001b[0m: 'y_has_purchased'" + ] + } + ], + "source": [ + "train_sport['y_has_purchased'].unique()" + ] + }, + { + "cell_type": "raw", + "id": "bd8019ae-8d7b-4dfe-be93-abf80a497e13", + "metadata": {}, + "source": [ + "projet-bdc2324-team1/Generalization/sport/Train_set/dataset_train5.csv" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d056c7b3-0e8c-485c-b2f3-4681077f1c2e", + "metadata": {}, + "outputs": [], + "source": [ + "fs.ls('projet-bdc2324-team1/Generalization/sport')" ] } ], -- 2.34.1 From bed6a5c9013df6a208ca7c098a9d8cb44e2ceae5 Mon Sep 17 00:00:00 2001 From: arevelle-ensae Date: Wed, 6 Mar 2024 12:42:39 +0000 Subject: [PATCH 6/7] fix condition --- 0_2_Dataset_construction.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/0_2_Dataset_construction.py b/0_2_Dataset_construction.py index 1c410f5..ae96532 100644 --- a/0_2_Dataset_construction.py +++ b/0_2_Dataset_construction.py @@ -42,7 +42,7 @@ def compute_time_intersection(datecover): return sorted(formated_dates) -def df_coverage_modelization(sport, coverage_train = 0.7): +def df_coverage_modelization(sport, coverage_features = 0.7): """ This function returns start_date, end_of_features and final dates that help to construct train and test datasets @@ -81,7 +81,7 @@ def dataset_construction(min_date, end_features_date, max_date, directory_path): df_campaigns_information['opened_at'][df_campaigns_information['opened_at'] >= end_features_date] = np.datetime64('NaT') #Filtre de la base df_products_purchased_reduced - df_products_purchased_reduced = df_products_purchased_reduced[(df_products_purchased_reduced['purchase_date'] <= end_features_date) & (df_products_purchased_reduced['purchase_date'] >= min_date)] + df_products_purchased_features = df_products_purchased_reduced[(df_products_purchased_reduced['purchase_date'] <= end_features_date) & (df_products_purchased_reduced['purchase_date'] >= min_date)] print("Data filtering : SUCCESS") @@ -91,7 +91,7 @@ def dataset_construction(min_date, end_features_date, max_date, directory_path): df_campaigns_kpi = campaigns_kpi_function(campaigns_information = df_campaigns_information) # KPI sur le comportement d'achat - df_tickets_kpi = tickets_kpi_function(tickets_information = df_products_purchased_reduced) + df_tickets_kpi = tickets_kpi_function(tickets_information = df_products_purchased_features) # KPI sur les données socio-démographiques df_customerplus_clean = customerplus_kpi_function(customerplus_clean = df_customerplus_clean_0) @@ -146,7 +146,7 @@ BUCKET_OUT = f'projet-bdc2324-team1/Generalization/{type_of_comp}' # Create test dataset and train dataset for sport companies -# start_date, end_of_features, final_date = df_coverage_modelization(list_of_comp, coverage_train = 0.7) +#start_date, end_of_features, final_date = df_coverage_modelization(list_of_comp, coverage_features = 0.7) start_date = "2021-05-01" end_of_features = "2022-11-01" final_date = "2023-11-01" -- 2.34.1 From 20fa01647ac28d96bab7fdb3a376fb8bdb58119f Mon Sep 17 00:00:00 2001 From: arevelle-ensae Date: Wed, 6 Mar 2024 12:42:55 +0000 Subject: [PATCH 7/7] test train --- Sport/exploration_sport.ipynb | 1390 ++++++++++++++++++++++++++++++++- 1 file changed, 1352 insertions(+), 38 deletions(-) diff --git a/Sport/exploration_sport.ipynb b/Sport/exploration_sport.ipynb index bf66eaf..b9d7e59 100644 --- a/Sport/exploration_sport.ipynb +++ b/Sport/exploration_sport.ipynb @@ -30,7 +30,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 3, "id": "f62b996c-4e17-40ea-83ba-f0cb60be7671", "metadata": {}, "outputs": [ @@ -54,7 +54,7 @@ " 'bdc2324-data/9']" ] }, - "execution_count": 31, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -831,7 +831,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 6, "id": "970302f5-4de2-46b4-a1ce-a5396f5330ab", "metadata": {}, "outputs": [], @@ -849,7 +849,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 11, "id": "f5bfae82-04aa-44e1-9869-3f4fd5736b41", "metadata": { "scrolled": true @@ -883,7 +883,393 @@ " \n", " \n", " \n", - " c\n", + " customer_id\n", + " nb_tickets\n", + " nb_purchases\n", + " total_amount\n", + " nb_suppliers\n", + " vente_internet_max\n", + " purchase_date_min\n", + " purchase_date_max\n", + " time_between_purchase\n", + " nb_tickets_internet\n", + " ...\n", + " country\n", + " gender_label\n", + " gender_female\n", + " gender_male\n", + " gender_other\n", + " country_fr\n", + " nb_campaigns\n", + " nb_campaigns_opened\n", + " time_to_open\n", + " y_has_purchased\n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " 5_6046652\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " ...\n", + " af\n", + " other\n", + " 0\n", + " 0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0\n", + " 0.0\n", + " \n", + " \n", + " 1\n", + " 5_3789159\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " ...\n", + " fr\n", + " male\n", + " 0\n", + " 1\n", + " 0\n", + " 1.0\n", + " 0.0\n", + " 0.0\n", + " 0\n", + " 0.0\n", + " \n", + " \n", + " 2\n", + " 5_5991148\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " ...\n", + " af\n", + " other\n", + " 0\n", + " 0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0\n", + " 0.0\n", + " \n", + " \n", + " 3\n", + " 5_3848065\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " ...\n", + " fr\n", + " male\n", + " 0\n", + " 1\n", + " 0\n", + " 1.0\n", + " 0.0\n", + " 0.0\n", + " 0\n", + " 0.0\n", + " \n", + " \n", + " 4\n", + " 5_6154495\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " ...\n", + " af\n", + " other\n", + " 0\n", + " 0\n", + " 1\n", + " 0.0\n", + " 0.0\n", + " 0.0\n", + " 0\n", + " 0.0\n", + " \n", + " \n", + "\n", + "

5 rows × 40 columns

\n", + "" + ], + "text/plain": [ + " customer_id nb_tickets nb_purchases total_amount nb_suppliers \\\n", + "0 5_6046652 0.0 0.0 0.0 0.0 \n", + "1 5_3789159 0.0 0.0 0.0 0.0 \n", + "2 5_5991148 0.0 0.0 0.0 0.0 \n", + "3 5_3848065 0.0 0.0 0.0 0.0 \n", + "4 5_6154495 0.0 0.0 0.0 0.0 \n", + "\n", + " vente_internet_max purchase_date_min purchase_date_max \\\n", + "0 0.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "\n", + " time_between_purchase nb_tickets_internet ... country gender_label \\\n", + "0 0.0 0.0 ... af other \n", + "1 0.0 0.0 ... fr male \n", + "2 0.0 0.0 ... af other \n", + "3 0.0 0.0 ... fr male \n", + "4 0.0 0.0 ... af other \n", + "\n", + " gender_female gender_male gender_other country_fr nb_campaigns \\\n", + "0 0 0 1 0.0 0.0 \n", + "1 0 1 0 1.0 0.0 \n", + "2 0 0 1 0.0 0.0 \n", + "3 0 1 0 1.0 0.0 \n", + "4 0 0 1 0.0 0.0 \n", + "\n", + " nb_campaigns_opened time_to_open y_has_purchased \n", + "0 0.0 0 0.0 \n", + "1 0.0 0 0.0 \n", + "2 0.0 0 0.0 \n", + "3 0.0 0 0.0 \n", + "4 0.0 0 0.0 \n", + "\n", + "[5 rows x 40 columns]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_sport = display_databases('sport', 'Train_set').fillna(0)\n", + "train_sport.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "56d5b12e-45e8-4312-869d-bde4d24900b6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "shape : (426449, 40)\n", + "number of na explained variable : 369102\n" + ] + } + ], + "source": [ + "print('shape : ', train_sport.shape) \n", + "print('number of na explained variable : ', train_sport['y_has_purchased'].isna().sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "13bff83a-e931-4286-a3f2-1382462703f4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlYAAAGxCAYAAACgDPi4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8w0lEQVR4nO3df1RUdeL/8deEMpLCRCE/xlh/fEpWwtwNOopWlAlogVnb6i41ySdjazE5hGQf61urfkoqf7XpZ61tK1djlz67RltpfCBLjFX8wTK7YOR6Wg1cQaxgELKB8H7/6HBPI2pK1xB7Ps655zj3vube99w9s7563ztXm2EYhgAAAPCtXdDbAwAAADhfUKwAAAAsQrECAACwCMUKAADAIhQrAAAAi1CsAAAALEKxAgAAsAjFCgAAwCL9ensA3zfHjh3TwYMHFRgYKJvN1tvDAQAAp8EwDB05ckROp1MXXHDyeSmK1Xfs4MGDioyM7O1hAACAHqirq9Oll1560u0Uq+9YYGCgpK/+hwkKCurl0QAAgNPR0tKiyMhI8+/xk6FYfce6Lv8FBQVRrAAA6GO+6TYebl4HAACwCMUKAADAIhQrAAAAi1CsAAAALEKxAgAAsAjFCgAAwCIUKwAAAItQrAAAACxCsQIAALAIxQoAAMAiFCsAAACLUKwAAAAsQrECAACwCMUKAADAIhQrAAAAi/Tr7QHAerEPru3tIQDnpIold/X2EACc55ixAgAAsAjFCgAAwCIUKwAAAItQrAAAACxCsQIAALAIxQoAAMAiFCsAAACLUKwAAAAsQrECAACwCMUKAADAIhQrAAAAi1CsAAAALNKrxWr16tW68sorFRQUpKCgIMXHx+vtt982t6enp8tms/ks48aN89mH1+vVnDlzFBISooEDB2rq1Kk6cOCAT6apqUkul0sOh0MOh0Mul0vNzc0+mdraWqWmpmrgwIEKCQlRVlaW2tvbfTJVVVVKSEhQQECAhgwZokWLFskwDGtPCgAA6LN6tVhdeumlevLJJ7Vr1y7t2rVLEydO1C233KLdu3ebmcmTJ6u+vt5cNm7c6LOP7OxsFRYWqqCgQGVlZWptbVVKSoo6OzvNTFpamtxut4qKilRUVCS32y2Xy2Vu7+zs1M0336y2tjaVlZWpoKBA69ev19y5c81MS0uLEhMT5XQ6tXPnTq1cuVJLly7V8uXLz+IZAgAAfYnNOMemXC6++GItWbJEs2bNUnp6upqbm/X666+fMOvxeDR48GCtW7dOM2bMkCQdPHhQkZGR2rhxo5KTk1VTU6Po6GiVl5dr7NixkqTy8nLFx8frww8/VFRUlN5++22lpKSorq5OTqdTklRQUKD09HQ1NjYqKChIq1ev1vz583Xo0CHZ7XZJ0pNPPqmVK1fqwIEDstlsp/X5Wlpa5HA45PF4FBQU9C3P1onFPrj2rOwX6OsqltzV20MA0Eed7t/f58w9Vp2dnSooKFBbW5vi4+PN9Zs3b1ZoaKhGjhypjIwMNTY2mtsqKirU0dGhpKQkc53T6VRMTIy2bt0qSdq2bZscDodZqiRp3LhxcjgcPpmYmBizVElScnKyvF6vKioqzExCQoJZqroyBw8e1P79+609GQAAoE/q19sDqKqqUnx8vL744gsNGjRIhYWFio6OliRNmTJFP/3pTzV06FDt27dPjz76qCZOnKiKigrZ7XY1NDTI399fwcHBPvsMCwtTQ0ODJKmhoUGhoaHdjhsaGuqTCQsL89keHBwsf39/n8ywYcO6Hadr2/Dhw0/4+bxer7xer/m6paXldE8NAADoY3q9WEVFRcntdqu5uVnr16/XzJkzVVpaqujoaPPyniTFxMQoLi5OQ4cO1YYNG3TbbbeddJ+GYfhcmjvRZTorMl1XUU91GTAvL08LFy486XYAAHD+6PVLgf7+/rrssssUFxenvLw8jRkzRr/+9a9PmI2IiNDQoUO1d+9eSVJ4eLja29vV1NTkk2tsbDRnk8LDw3Xo0KFu+zp8+LBPpmtmqktTU5M6OjpOmem6LHn8bNfXzZ8/Xx6Px1zq6upOmgUAAH1brxer4xmG4XPp7Os+/fRT1dXVKSIiQpIUGxur/v37q6SkxMzU19erurpa48ePlyTFx8fL4/Fox44dZmb79u3yeDw+merqatXX15uZ4uJi2e12xcbGmpktW7b4PIKhuLhYTqez2yXCr7Pb7ebjJLoWAABwfurVYvXwww/r/fff1/79+1VVVaVHHnlEmzdv1h133KHW1lbl5uZq27Zt2r9/vzZv3qzU1FSFhITo1ltvlSQ5HA7NmjVLc+fO1aZNm1RZWak777xTo0eP1qRJkyRJo0aN0uTJk5WRkaHy8nKVl5crIyNDKSkpioqKkiQlJSUpOjpaLpdLlZWV2rRpk3Jzc5WRkWEWobS0NNntdqWnp6u6ulqFhYVavHixcnJyTvsXgQAA4PzWq/dYHTp0SC6XS/X19XI4HLryyitVVFSkxMREHT16VFVVVVq7dq2am5sVERGhG264Qa+++qoCAwPNfaxYsUL9+vXT9OnTdfToUd14441as2aN/Pz8zEx+fr6ysrLMXw9OnTpVq1atMrf7+flpw4YNyszM1IQJExQQEKC0tDQtXbrUzDgcDpWUlGj27NmKi4tTcHCwcnJylJOT8x2cKQAA0Becc8+xOt/xHCug9/AcKwA91eeeYwUAANDXUawAAAAsQrECAACwCMUKAADAIhQrAAAAi1CsAAAALEKxAgAAsAjFCgAAwCIUKwAAAItQrAAAACxCsQIAALAIxQoAAMAiFCsAAACLUKwAAAAsQrECAACwCMUKAADAIhQrAAAAi1CsAAAALEKxAgAAsAjFCgAAwCIUKwAAAItQrAAAACxCsQIAALAIxQoAAMAiFCsAAACLUKwAAAAsQrECAACwCMUKAADAIhQrAAAAi1CsAAAALEKxAgAAsAjFCgAAwCIUKwAAAItQrAAAACxCsQIAALAIxQoAAMAiFCsAAACL9GqxWr16ta688koFBQUpKChI8fHxevvtt83thmFowYIFcjqdCggI0PXXX6/du3f77MPr9WrOnDkKCQnRwIEDNXXqVB04cMAn09TUJJfLJYfDIYfDIZfLpebmZp9MbW2tUlNTNXDgQIWEhCgrK0vt7e0+maqqKiUkJCggIEBDhgzRokWLZBiGtScFAAD0Wb1arC699FI9+eST2rVrl3bt2qWJEyfqlltuMcvT008/reXLl2vVqlXauXOnwsPDlZiYqCNHjpj7yM7OVmFhoQoKClRWVqbW1lalpKSos7PTzKSlpcntdquoqEhFRUVyu91yuVzm9s7OTt18881qa2tTWVmZCgoKtH79es2dO9fMtLS0KDExUU6nUzt37tTKlSu1dOlSLV++/Ds4UwAAoC+wGefYlMvFF1+sJUuW6O6775bT6VR2drYeeughSV/NToWFhempp57SvffeK4/Ho8GDB2vdunWaMWOGJOngwYOKjIzUxo0blZycrJqaGkVHR6u8vFxjx46VJJWXlys+Pl4ffvihoqKi9PbbbyslJUV1dXVyOp2SpIKCAqWnp6uxsVFBQUFavXq15s+fr0OH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/+QnP9Fdd911WvtYt26dhg0bJofDoZ/97Gc6cuSIua2oqEjXXHONLrroIl1yySVKSUnRRx99ZG5vb2/X/fffr4iICA0YMEDDhg1TXl7eaR3XZrNp9erVmjJligICAjR8+HD96U9/Mref6NKY2+2WzWbT/v37JUlr1qzRRRddpLfeekvR0dGy2+36+OOP5fV6NW/ePEVGRsput+vyyy/Xiy++6HP8iooKxcXF6cILL9T48eO1Z88ec9tHH32kW265RWFhYRo0aJCuvvpqvfPOOz7v/81vfqPLL79cAwYMUFhYmG6//XZzm2EYevrppzVixAgFBARozJgx+vOf/+zz/o0bN2rkyJEKCAjQDTfcYH4mACdHsQJwVv30pz9VZ2en3njjDXPdJ598orfeekv/+Z//+Y3v/+ijj/T666/rrbfe0ltvvaXS0lI9+eST5va2tjbl5ORo586d2rRpky644ALdeuut5qzQs88+qzfeeEP/+7//qz179uiVV17RsGHDTnv8jz76qH7yk5/o73//u+688079/Oc/V01NzemfAEmff/658vLy9Lvf/U67d+9WaGio7rrrLhUUFOjZZ59VTU2NnnvuOQ0aNMjnfY888oiWLVumXbt2qV+/frr77rvNba2trbrpppv0zjvvqLKyUsnJyUpNTVVtba0kadeuXcrKytKiRYu0Z88eFRUV6brrrjPf///+3//Tyy+/rNWrV2v37t164IEHdOedd6q0tFSSVFdXp9tuu0033XST3G637rnnHv3Xf/3XGX1u4HvJAICz7Je//KUxZcoU8/UzzzxjjBgxwjh27Ngp3/erX/3KuPDCC42WlhZz3YMPPmiMHTv2pO9pbGw0JBlVVVWGYRjGnDlzjIkTJ37jsU5EknHffff5rBs7dqzxy1/+0jAMw3jvvfcMSUZTU5O5vbKy0pBk7Nu3zzAMw3j55ZcNSYbb7TYze/bsMSQZJSUlJzxu137feecdc92GDRsMScbRo0dPOt7o6Ghj5cqVhmEYxvr1642goCCfc9eltbXVGDBggLF161af9bNmzTJ+/vOfG4ZhGPPnzzdGjRrlc94eeuihbp8XgC9mrACcdRkZGSouLta///1vSdLLL7+s9PR02Wy2b3zvsGHDFBgYaL6OiIhQY2Oj+fqjjz5SWlqaRowYoaCgIA0fPlySzJmb9PR0ud1uRUVFKSsrS8XFxWc09vj4+G6vz3TGyt/fX1deeaX52u12y8/PTwkJCad839ffExERIUnmZ29ra9O8efMUHR2tiy66SIMGDdKHH35ofu7ExEQNHTpUI0aMkMvlUn5+vj7//HNJ0gcffKAvvvhCiYmJGjRokLmsXbvWvIxaU1OjcePG+fxvdPy5ANBdv94eAIDz349//GONGTNGa9euVXJysqqqqvTmm2+e1nv79+/v89pms/nc/J2amqrIyEi98MILcjqdOnbsmGJiYtTe3i5Juuqqq7Rv3z69/fbbeueddzR9+nRNmjSp2/1EZ6KrbFxwwVf/bWoYhrmto6OjWz4gIMCnoAQEBJzWcb7+2bve3/XZH3zwQf3f//2fli5dqssuu0wBAQG6/fbbzc8dGBiov/3tb9q8ebOKi4v12GOPacGCBdq5c6e5jw0bNmjIkCE+x7Tb7d0+E4DTR7EC8J245557tGLFCv373//WpEmTFBkZ+a33+emnn6qmpkbPP/+8rr32WklSWVlZt1xQUJBmzJihGTNm6Pbbb9fkyZP12Wef6eKLL/7GY5SXl/vcZF9eXq4f//jHkqTBgwdLkurr6xUcHCzpq9mobzJ69GgdO3ZMpaWlmjRp0jfmT+T9999Xenq6br31Vklf3XN1/M3l/fr106RJkzRp0iT96le/0kUXXaR3331XiYmJstvtqq2tPemsWXR0tF5//XWfdeXl5T0aK/B9QrEC8J244447lJubqxdeeEFr1661ZJ/BwcG65JJL9Nvf/lYRERGqra3tdoP1ihUrFBERoR/96Ee64IIL9Kc//Unh4eG66KKLTusYf/rTnxQXF6drrrlG+fn52rFjh/nrvcsuu0yRkZFasGCBHn/8ce3du1fLli37xn0OGzZMM2fO1N13361nn31WY8aM0ccff6zGxkZNnz79tMZ12WWX6bXXXlNqaqpsNpseffRRn5m8t956S//617903XXXKTg4WBs3btSxY8cUFRWlwMBA5ebm6oEHHtCxY8d0zTXXqKWlRVu3btWgQYM0c+ZM3XfffVq2bJlycnJ07733qqKiQmvWrDmtsQHfZ9xjBeA7ERQUpJ/85CcaNGiQpk2bZsk+L7jgAhUUFKiiokIxMTF64IEHtGTJEp/MoEGD9NRTTykuLk5XX3219u/fr40bN5qX8b7JwoULVVBQoCuvvFK///3vlZ+fr+joaElfXar74x//qA8//FBjxozRU089pccff/y09rt69WrdfvvtyszM1A9/+ENlZGSora3ttD/7ihUrFBwcrPHjxys1NVXJycm66qqrzO0XXXSRXnvtNU2cOFGjRo3Sc889pz/+8Y+64oorJEn//d//rccee0x5eXkaNWqUkpOT9eabb5r3qP3gBz/Q+vXr9eabb2rMmDF67rnntHjx4tMeH/B9ZTO4kA7gO5KYmKhRo0bp2Wef7e2hnBabzabCwkLLiiCA8x+XAgGcdZ999pmKi4v17rvvatWqVb09HAA4a7gUCOCsu+qqq3TvvffqqaeeUlRUlLn+iiuu8Pm5/9eX/Pz8szqm/Pz8kx6763IZAJwpLgUC6DUff/zxCR9PIElhYWE+z6+y2pEjR3To0KETbuvfv7+GDh161o4N4PxFsQIAALAIlwIBAAAsQrECAACwCMUKAADAIhQrAAAAi1CsAAAALEKxAgAAsAjFCgAAwCIUKwAAAIv8fxcO5ezCVCpeAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns\n", + "\n", + "sns.countplot(train_sport, x='y_has_purchased')" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d056c7b3-0e8c-485c-b2f3-4681077f1c2e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['projet-bdc2324-team1/Generalization/sport/Test_set',\n", + " 'projet-bdc2324-team1/Generalization/sport/Test_set.csv',\n", + " 'projet-bdc2324-team1/Generalization/sport/Train_set',\n", + " 'projet-bdc2324-team1/Generalization/sport/Train_set.csv']" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fs.ls('projet-bdc2324-team1/Generalization/sport')" + ] + }, + { + "cell_type": "markdown", + "id": "6a9963be-e17b-4cb3-a795-35cece44ce97", + "metadata": {}, + "source": [ + "## Look at y_has_purchased" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "907bb25a-b555-4cfa-bfc9-785120ae4292", + "metadata": {}, + "outputs": [], + "source": [ + "def display_databases(directory_path, file_name, datetime_col = None):\n", + " \"\"\"\n", + " This function returns the file from s3 storage \n", + " \"\"\"\n", + " file_path = \"projet-bdc2324-team1\" + \"/0_Input/Company_\" + directory_path + \"/\" + file_name + \".csv\"\n", + " print(\"File path : \", file_path)\n", + " with fs.open(file_path, mode=\"rb\") as file_in:\n", + " df = pd.read_csv(file_in, sep=\",\", parse_dates = datetime_col, date_parser=custom_date_parser) \n", + " return df " + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "d3164f81-0ef2-4f12-bc56-b7a999c4a9cd", + "metadata": {}, + "outputs": [], + "source": [ + "directory_path = '5'\n", + "# start_date, end_of_features, final_date = df_coverage_modelization(list_of_comp, coverage_train = 0.7)\n", + "min_date = \"2021-05-01\"\n", + "end_features_date = \"2022-11-01\"\n", + "max_date = \"2023-11-01\"" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "7cb31d80-41ca-4c2b-89b6-ee50486e7298", + "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" + ] + } + ], + "source": [ + "df_customerplus_clean_0 = display_databases(directory_path, file_name = \"customerplus_cleaned\")\n", + "df_campaigns_information = display_databases(directory_path, file_name = \"campaigns_information\",\n", + " datetime_col = ['opened_at', 'sent_at', 'campaign_sent_at'])\n", + "df_products_purchased_reduced = display_databases(directory_path, file_name = \"products_purchased_reduced\",\n", + " datetime_col = ['purchase_date'])\n", + "\n", + "# Filtre de cohérence pour la mise en pratique de notre méthode\n", + "max_date = pd.to_datetime(max_date, utc = True, format = 'ISO8601') \n", + "end_features_date = pd.to_datetime(end_features_date, utc = True, format = 'ISO8601')\n", + "min_date = pd.to_datetime(min_date, utc = True, format = 'ISO8601')\n", + "\n", + "df_campaigns_information = df_campaigns_information[(df_campaigns_information['sent_at'] <= end_features_date) & (df_campaigns_information['sent_at'] >= min_date)]\n", + "df_campaigns_information['opened_at'][df_campaigns_information['opened_at'] >= end_features_date] = np.datetime64('NaT')\n", + "\n", + "#Filtre de la base df_products_purchased_reduced\n", + "df_products_purchased_reduced = df_products_purchased_reduced[(df_products_purchased_reduced['purchase_date'] <= end_features_date) & (df_products_purchased_reduced['purchase_date'] >= min_date)]\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "1d63a61e-22b4-4224-89d4-18444276cfaa", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -893,69 +1279,997 @@ ], "text/plain": [ "Empty DataFrame\n", - "Columns: [c]\n", + "Columns: [id, customer_id, opened_at, sent_at, delivered_at, campaign_name, campaign_service_id, campaign_sent_at]\n", "Index: []" ] }, - "execution_count": 50, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "train_sport = display_databases('sport', 'Train_set')\n", - "train_sport.head()" + "df_campaigns_information.head()" ] }, { "cell_type": "code", - "execution_count": 51, - "id": "56d5b12e-45e8-4312-869d-bde4d24900b6", + "execution_count": 62, + "id": "a27a80c1-0be2-4199-96e7-566d568b1f51", "metadata": {}, "outputs": [ { - "ename": "KeyError", - "evalue": "'y_has_purchased'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", - "File \u001b[0;32m/opt/mamba/lib/python3.11/site-packages/pandas/core/indexes/base.py:3802\u001b[0m, in \u001b[0;36mIndex.get_loc\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3801\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 3802\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \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[43mget_loc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcasted_key\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3803\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m err:\n", - "File \u001b[0;32mindex.pyx:153\u001b[0m, in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", - "File \u001b[0;32mindex.pyx:182\u001b[0m, in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", - "File \u001b[0;32mpandas/_libs/hashtable_class_helper.pxi:7081\u001b[0m, in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", - "File \u001b[0;32mpandas/_libs/hashtable_class_helper.pxi:7089\u001b[0m, in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", - "\u001b[0;31mKeyError\u001b[0m: 'y_has_purchased'", - "\nThe above exception was the direct cause of the following exception:\n", - "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[51], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mtrain_sport\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43my_has_purchased\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[38;5;241m.\u001b[39munique()\n", - "File \u001b[0;32m/opt/mamba/lib/python3.11/site-packages/pandas/core/frame.py:4090\u001b[0m, in \u001b[0;36mDataFrame.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 4088\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcolumns\u001b[38;5;241m.\u001b[39mnlevels \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m1\u001b[39m:\n\u001b[1;32m 4089\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_getitem_multilevel(key)\n\u001b[0;32m-> 4090\u001b[0m indexer \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcolumns\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_loc\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4091\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m is_integer(indexer):\n\u001b[1;32m 4092\u001b[0m indexer \u001b[38;5;241m=\u001b[39m [indexer]\n", - "File \u001b[0;32m/opt/mamba/lib/python3.11/site-packages/pandas/core/indexes/base.py:3809\u001b[0m, in \u001b[0;36mIndex.get_loc\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3804\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(casted_key, \u001b[38;5;28mslice\u001b[39m) \u001b[38;5;129;01mor\u001b[39;00m (\n\u001b[1;32m 3805\u001b[0m \u001b[38;5;28misinstance\u001b[39m(casted_key, abc\u001b[38;5;241m.\u001b[39mIterable)\n\u001b[1;32m 3806\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28many\u001b[39m(\u001b[38;5;28misinstance\u001b[39m(x, \u001b[38;5;28mslice\u001b[39m) \u001b[38;5;28;01mfor\u001b[39;00m x \u001b[38;5;129;01min\u001b[39;00m casted_key)\n\u001b[1;32m 3807\u001b[0m ):\n\u001b[1;32m 3808\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m InvalidIndexError(key)\n\u001b[0;32m-> 3809\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m(key) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01merr\u001b[39;00m\n\u001b[1;32m 3810\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m:\n\u001b[1;32m 3811\u001b[0m \u001b[38;5;66;03m# If we have a listlike key, _check_indexing_error will raise\u001b[39;00m\n\u001b[1;32m 3812\u001b[0m \u001b[38;5;66;03m# InvalidIndexError. Otherwise we fall through and re-raise\u001b[39;00m\n\u001b[1;32m 3813\u001b[0m \u001b[38;5;66;03m# the TypeError.\u001b[39;00m\n\u001b[1;32m 3814\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_indexing_error(key)\n", - "\u001b[0;31mKeyError\u001b[0m: 'y_has_purchased'" - ] + "data": { + "text/html": [ + "
\n", + "\n", + "
idcustomer_idopened_atsent_atdelivered_atcampaign_namecampaign_service_idcampaign_sent_at
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ticket_idcustomer_idpurchase_idevent_type_idsupplier_namepurchase_dateamountis_full_pricename_event_typesname_facilitiesname_categoriesname_eventsname_seasonsstart_date_timeend_date_timeopen
06287839204007545836.0824fov2022-03-31 03:42:59+00:0055.0Falsematch rugbyjean bouincentralesf paris / racing 92 (ercc)saison 2021 - 20222022-04-08 22:00:00+02:001901-01-01 00:09:21+00:09True
16287840204007545836.0824fov2022-03-31 03:42:59+00:0030.0Falsematch rugbyjean bouincentralesf paris / racing 92 (ercc)saison 2021 - 20222022-04-08 22:00:00+02:001901-01-01 00:09:21+00:09True
26154548227006535225.0824fov2022-02-28 16:31:29+00:0055.0Falsematch rugbyjean bouincentralesf paris / racing 92 (ercc)saison 2021 - 20222022-04-08 22:00:00+02:001901-01-01 00:09:21+00:09True
36154549227006535225.0824fov2022-02-28 16:31:29+00:0055.0Falsematch rugbyjean bouincentralesf paris / racing 92 (ercc)saison 2021 - 20222022-04-08 22:00:00+02:001901-01-01 00:09:21+00:09True
46287843407930545838.0824fov2022-03-31 04:00:22+00:0055.0Falsematch rugbyjean bouincentralesf paris / racing 92 (ercc)saison 2021 - 20222022-04-08 22:00:00+02:001901-01-01 00:09:21+00:09True
\n", + "
" + ], + "text/plain": [ + " ticket_id customer_id purchase_id event_type_id supplier_name \\\n", + "0 6287839 204007 545836.0 824 fov \n", + "1 6287840 204007 545836.0 824 fov \n", + "2 6154548 227006 535225.0 824 fov \n", + "3 6154549 227006 535225.0 824 fov \n", + "4 6287843 407930 545838.0 824 fov \n", + "\n", + " purchase_date amount is_full_price name_event_types \\\n", + "0 2022-03-31 03:42:59+00:00 55.0 False match rugby \n", + "1 2022-03-31 03:42:59+00:00 30.0 False match rugby \n", + "2 2022-02-28 16:31:29+00:00 55.0 False match rugby \n", + "3 2022-02-28 16:31:29+00:00 55.0 False match rugby \n", + "4 2022-03-31 04:00:22+00:00 55.0 False match rugby \n", + "\n", + " name_facilities name_categories name_events \\\n", + "0 jean bouin centrale sf paris / racing 92 (ercc) \n", + "1 jean bouin centrale sf paris / racing 92 (ercc) \n", + "2 jean bouin centrale sf paris / racing 92 (ercc) \n", + "3 jean bouin centrale sf paris / racing 92 (ercc) \n", + "4 jean bouin centrale sf paris / racing 92 (ercc) \n", + "\n", + " name_seasons start_date_time end_date_time \\\n", + "0 saison 2021 - 2022 2022-04-08 22:00:00+02:00 1901-01-01 00:09:21+00:09 \n", + "1 saison 2021 - 2022 2022-04-08 22:00:00+02:00 1901-01-01 00:09:21+00:09 \n", + "2 saison 2021 - 2022 2022-04-08 22:00:00+02:00 1901-01-01 00:09:21+00:09 \n", + "3 saison 2021 - 2022 2022-04-08 22:00:00+02:00 1901-01-01 00:09:21+00:09 \n", + "4 saison 2021 - 2022 2022-04-08 22:00:00+02:00 1901-01-01 00:09:21+00:09 \n", + "\n", + " open \n", + "0 True \n", + "1 True \n", + "2 True \n", + "3 True \n", + "4 True " + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "train_sport['y_has_purchased'].unique()" + "df_products_purchased_reduced.head()" ] }, { - "cell_type": "raw", - "id": "bd8019ae-8d7b-4dfe-be93-abf80a497e13", + "cell_type": "code", + "execution_count": 63, + "id": "f47357ab-0216-4f70-ab8f-6767819e1cdb", "metadata": {}, + "outputs": [], "source": [ - "projet-bdc2324-team1/Generalization/sport/Train_set/dataset_train5.csv" + "# Fusion de l'ensemble et creation des KPI\n", + "\n", + "# KPI sur les campagnes publicitaires\n", + "df_campaigns_kpi = campaigns_kpi_function(campaigns_information = df_campaigns_information) \n", + "\n", + "# KPI sur le comportement d'achat\n", + "df_tickets_kpi = tickets_kpi_function(tickets_information = df_products_purchased_reduced)\n", + "\n", + "# KPI sur les données socio-démographiques\n", + "df_customerplus_clean = customerplus_kpi_function(customerplus_clean = df_customerplus_clean_0)" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "3d08a2f8-3c83-41c7-98f8-4be268ffa0da", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
customer_idstreet_idstructure_idmcp_contact_idfidelitytenant_idis_partnerdeleted_atgenderis_email_true...first_buying_datecountrygender_labelgender_femalegender_malegender_othercountry_frnb_campaignsnb_campaigns_openedtime_to_open
060097451372685NaNNaN01771FalseNaN2True...NaNafother0010.0NaNNaNNaT
160112281372685NaNNaN01771FalseNaN2True...NaNafother0010.0NaNNaNNaT
260589501372685NaNNaN01771FalseNaN2True...NaNafother0010.0NaNNaNNaT
360624041372685NaNNaN01771FalseNaN2True...NaNafother0010.0NaNNaNNaT
425021778785NaN11035.001771FalseNaN0True...NaNfrfemale1001.0NaNNaNNaT
\n", + "

5 rows × 30 columns

\n", + "
" + ], + "text/plain": [ + " customer_id street_id structure_id mcp_contact_id fidelity tenant_id \\\n", + "0 6009745 1372685 NaN NaN 0 1771 \n", + "1 6011228 1372685 NaN NaN 0 1771 \n", + "2 6058950 1372685 NaN NaN 0 1771 \n", + "3 6062404 1372685 NaN NaN 0 1771 \n", + "4 250217 78785 NaN 11035.0 0 1771 \n", + "\n", + " is_partner deleted_at gender is_email_true ... first_buying_date \\\n", + "0 False NaN 2 True ... NaN \n", + "1 False NaN 2 True ... NaN \n", + "2 False NaN 2 True ... NaN \n", + "3 False NaN 2 True ... NaN \n", + "4 False NaN 0 True ... NaN \n", + "\n", + " country gender_label gender_female gender_male gender_other country_fr \\\n", + "0 af other 0 0 1 0.0 \n", + "1 af other 0 0 1 0.0 \n", + "2 af other 0 0 1 0.0 \n", + "3 af other 0 0 1 0.0 \n", + "4 fr female 1 0 0 1.0 \n", + "\n", + " nb_campaigns nb_campaigns_opened time_to_open \n", + "0 NaN NaN NaT \n", + "1 NaN NaN NaT \n", + "2 NaN NaN NaT \n", + "3 NaN NaN NaT \n", + "4 NaN NaN NaT \n", + "\n", + "[5 rows x 30 columns]" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Fusion avec KPI liés au customer\n", + "df_customer = pd.merge(df_customerplus_clean, df_campaigns_kpi, on = 'customer_id', how = 'left')\n", + "df_customer.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "bc3d1aed-b2af-48e5-a920-626f2abc3358", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
customer_idnb_ticketsnb_purchasestotal_amountnb_suppliersvente_internet_maxpurchase_date_minpurchase_date_maxtime_between_purchasenb_tickets_internet...first_buying_datecountrygender_labelgender_femalegender_malegender_othercountry_frnb_campaignsnb_campaigns_openedtime_to_open
0160516149.03.04470.01.00.0409.69313766.356979343.3361570.0...2021-09-17 06:39:19+00:00frmale0101.00.00.0NaT
11605171977.027.01473.02.01.0431.55851927.733472403.82504615.0...2021-08-26 09:53:10+00:00frfemale1001.00.00.0NaT
2160518116.08.0439.02.00.0427.17772023.689340403.4883800.0...2021-08-30 19:01:31+00:00frmale0101.00.00.0NaT
316051934.02.0608.01.00.0483.642940108.777870374.8650690.0...2019-05-21 08:03:52+00:00frfemale1001.00.00.0NaT
4160520207.05.00.01.00.0431.55001269.310266362.2397450.0...2019-08-20 15:10:07+00:00frmale0101.00.00.0NaT
\n", + "

5 rows × 39 columns

\n", + "
" + ], + "text/plain": [ + " customer_id nb_tickets nb_purchases total_amount nb_suppliers \\\n", + "0 160516 149.0 3.0 4470.0 1.0 \n", + "1 160517 1977.0 27.0 1473.0 2.0 \n", + "2 160518 116.0 8.0 439.0 2.0 \n", + "3 160519 34.0 2.0 608.0 1.0 \n", + "4 160520 207.0 5.0 0.0 1.0 \n", + "\n", + " vente_internet_max purchase_date_min purchase_date_max \\\n", + "0 0.0 409.693137 66.356979 \n", + "1 1.0 431.558519 27.733472 \n", + "2 0.0 427.177720 23.689340 \n", + "3 0.0 483.642940 108.777870 \n", + "4 0.0 431.550012 69.310266 \n", + "\n", + " time_between_purchase nb_tickets_internet ... first_buying_date \\\n", + "0 343.336157 0.0 ... 2021-09-17 06:39:19+00:00 \n", + "1 403.825046 15.0 ... 2021-08-26 09:53:10+00:00 \n", + "2 403.488380 0.0 ... 2021-08-30 19:01:31+00:00 \n", + "3 374.865069 0.0 ... 2019-05-21 08:03:52+00:00 \n", + "4 362.239745 0.0 ... 2019-08-20 15:10:07+00:00 \n", + "\n", + " country gender_label gender_female gender_male gender_other \\\n", + "0 fr male 0 1 0 \n", + "1 fr female 1 0 0 \n", + "2 fr male 0 1 0 \n", + "3 fr female 1 0 0 \n", + "4 fr male 0 1 0 \n", + "\n", + " country_fr nb_campaigns nb_campaigns_opened time_to_open \n", + "0 1.0 0.0 0.0 NaT \n", + "1 1.0 0.0 0.0 NaT \n", + "2 1.0 0.0 0.0 NaT \n", + "3 1.0 0.0 0.0 NaT \n", + "4 1.0 0.0 0.0 NaT \n", + "\n", + "[5 rows x 39 columns]" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_customer[['nb_campaigns', 'nb_campaigns_opened']] = df_customer[['nb_campaigns', 'nb_campaigns_opened']].fillna(0)\n", + "# Fusion avec KPI liés au comportement d'achat\n", + "df_customer_product = pd.merge(df_tickets_kpi, df_customer, on = 'customer_id', how = 'outer')\n", + "df_customer_product.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "5549e265-3904-464b-964b-518a84a42503", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ticket_idcustomer_idpurchase_idevent_type_idsupplier_namepurchase_dateamountis_full_pricename_event_typesname_facilitiesname_categoriesname_eventsname_seasonsstart_date_timeend_date_timeopen
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [ticket_id, customer_id, purchase_id, event_type_id, supplier_name, purchase_date, amount, is_full_price, name_event_types, name_facilities, name_categories, name_events, name_seasons, start_date_time, end_date_time, open]\n", + "Index: []" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Fill NaN values\n", + "df_customer_product[['nb_tickets', 'nb_purchases', 'total_amount', 'nb_suppliers', 'vente_internet_max', 'nb_tickets_internet']] = df_customer_product[['nb_tickets', 'nb_purchases', 'total_amount', 'nb_suppliers', 'vente_internet_max', 'nb_tickets_internet']].fillna(0)\n", + "\n", + "# 2. Construction of the explained variable \n", + "df_products_purchased_to_predict = df_products_purchased_reduced[(df_products_purchased_reduced['purchase_date'] <= max_date) & (df_products_purchased_reduced['purchase_date'] > end_features_date)]\n", + "df_products_purchased_to_predict.head()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "be182c6c-012f-447d-a57f-03da65da53f7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "['2022-03-31 03:42:59+00:00', '2022-02-28 16:31:29+00:00',\n", + " '2022-03-31 04:00:22+00:00', '2022-03-31 04:09:18+00:00',\n", + " '2022-03-25 15:50:52+00:00', '2022-08-01 10:05:49+00:00',\n", + " '2021-08-26 12:17:40+00:00', '2022-08-02 06:32:37+00:00',\n", + " '2022-06-30 09:16:59+00:00', '2022-07-03 13:53:30+00:00',\n", + " ...\n", + " '2022-01-26 11:34:05+00:00', '2022-01-21 17:07:25+00:00',\n", + " '2022-01-26 13:43:23+00:00', '2022-01-26 14:38:05+00:00',\n", + " '2022-01-26 14:39:19+00:00', '2022-01-26 14:40:12+00:00',\n", + " '2022-01-26 14:41:17+00:00', '2022-01-27 08:16:02+00:00',\n", + " '2022-01-27 08:45:25+00:00', '2022-01-27 11:57:11+00:00']\n", + "Length: 49543, dtype: datetime64[ns, UTC]" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_products_purchased_reduced['purchase_date'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "aab1cc7e-79be-403c-b9c1-4f4f333b13ff", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ticket_idcustomer_idpurchase_idevent_type_idsupplier_namepurchase_dateamountis_full_pricename_event_typesname_facilitiesname_categoriesname_eventsname_seasonsstart_date_timeend_date_timeopen
06287839204007545836.0824fov2022-03-31 03:42:59+00:0055.0Falsematch rugbyjean bouincentralesf paris / racing 92 (ercc)saison 2021 - 20222022-04-08 22:00:00+02:001901-01-01 00:09:21+00:09True
16287840204007545836.0824fov2022-03-31 03:42:59+00:0030.0Falsematch rugbyjean bouincentralesf paris / racing 92 (ercc)saison 2021 - 20222022-04-08 22:00:00+02:001901-01-01 00:09:21+00:09True
26154548227006535225.0824fov2022-02-28 16:31:29+00:0055.0Falsematch rugbyjean bouincentralesf paris / racing 92 (ercc)saison 2021 - 20222022-04-08 22:00:00+02:001901-01-01 00:09:21+00:09True
36154549227006535225.0824fov2022-02-28 16:31:29+00:0055.0Falsematch rugbyjean bouincentralesf paris / racing 92 (ercc)saison 2021 - 20222022-04-08 22:00:00+02:001901-01-01 00:09:21+00:09True
46287843407930545838.0824fov2022-03-31 04:00:22+00:0055.0Falsematch rugbyjean bouincentralesf paris / racing 92 (ercc)saison 2021 - 20222022-04-08 22:00:00+02:001901-01-01 00:09:21+00:09True
\n", + "
" + ], + "text/plain": [ + " ticket_id customer_id purchase_id event_type_id supplier_name \\\n", + "0 6287839 204007 545836.0 824 fov \n", + "1 6287840 204007 545836.0 824 fov \n", + "2 6154548 227006 535225.0 824 fov \n", + "3 6154549 227006 535225.0 824 fov \n", + "4 6287843 407930 545838.0 824 fov \n", + "\n", + " purchase_date amount is_full_price name_event_types \\\n", + "0 2022-03-31 03:42:59+00:00 55.0 False match rugby \n", + "1 2022-03-31 03:42:59+00:00 30.0 False match rugby \n", + "2 2022-02-28 16:31:29+00:00 55.0 False match rugby \n", + "3 2022-02-28 16:31:29+00:00 55.0 False match rugby \n", + "4 2022-03-31 04:00:22+00:00 55.0 False match rugby \n", + "\n", + " name_facilities name_categories name_events \\\n", + "0 jean bouin centrale sf paris / racing 92 (ercc) \n", + "1 jean bouin centrale sf paris / racing 92 (ercc) \n", + "2 jean bouin centrale sf paris / racing 92 (ercc) \n", + "3 jean bouin centrale sf paris / racing 92 (ercc) \n", + "4 jean bouin centrale sf paris / racing 92 (ercc) \n", + "\n", + " name_seasons start_date_time end_date_time \\\n", + "0 saison 2021 - 2022 2022-04-08 22:00:00+02:00 1901-01-01 00:09:21+00:09 \n", + "1 saison 2021 - 2022 2022-04-08 22:00:00+02:00 1901-01-01 00:09:21+00:09 \n", + "2 saison 2021 - 2022 2022-04-08 22:00:00+02:00 1901-01-01 00:09:21+00:09 \n", + "3 saison 2021 - 2022 2022-04-08 22:00:00+02:00 1901-01-01 00:09:21+00:09 \n", + "4 saison 2021 - 2022 2022-04-08 22:00:00+02:00 1901-01-01 00:09:21+00:09 \n", + "\n", + " open \n", + "0 True \n", + "1 True \n", + "2 True \n", + "3 True \n", + "4 True " + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_products_purchased_reduced[(df_products_purchased_reduced['purchase_date'] <= max_date)].head()" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "ce59de67-127e-4b0a-b96c-9684d87792dd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Timestamp('2022-10-31 23:17:26+0000', tz='UTC')" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_products_purchased_reduced['purchase_date'].max()" ] }, { "cell_type": "code", "execution_count": null, - "id": "d056c7b3-0e8c-485c-b2f3-4681077f1c2e", + "id": "184463d1-b0dd-44b9-a9a3-4ab32c8c13c1", "metadata": {}, "outputs": [], - "source": [ - "fs.ls('projet-bdc2324-team1/Generalization/sport')" - ] + "source": [] } ], "metadata": { -- 2.34.1