From 0ae48d63f2690b93529e7737c1ba77aea2fff850 Mon Sep 17 00:00:00 2001 From: Abdelkouddous LHACHIMI Date: Thu, 5 Mar 2026 11:11:10 +0000 Subject: [PATCH] Initial Commit --- .gitignore | 4 + .../Professionals_Sort-checkpoint.ipynb | 76 ++ .ipynb_checkpoints/Untitled-checkpoint.ipynb | 6 + Professionals.ipynb | 176 ++++ ...essionals_Activities_Inconsistencies.ipynb | 924 ++++++++++++++++++ Professionals_Multiple_Names2.ipynb | 465 +++++++++ Professionals_Multiple_Names3.ipynb | 439 +++++++++ Professionals_Sort.ipynb | 140 +++ Resendo.ipynb | 210 ++++ Resendo2.ipynb | 163 +++ Table_Réf_Professionnels - Copie.xlsx | Bin 0 -> 73492 bytes Table_Réf_Professionnels.xlsx | Bin 0 -> 73339 bytes Table_Réf_Professionnels_inconsistencies.xlsx | Bin 0 -> 5721736 bytes datacompyProfessionals.ipynb | 276 ++++++ datacompyTest.ipynb | 204 ++++ prepareProfessionalsTable.py | 164 ++++ 16 files changed, 3247 insertions(+) create mode 100644 .gitignore create mode 100644 .ipynb_checkpoints/Professionals_Sort-checkpoint.ipynb create mode 100644 .ipynb_checkpoints/Untitled-checkpoint.ipynb create mode 100644 Professionals.ipynb create mode 100644 Professionals_Activities_Inconsistencies.ipynb create mode 100644 Professionals_Multiple_Names2.ipynb create mode 100644 Professionals_Multiple_Names3.ipynb create mode 100644 Professionals_Sort.ipynb create mode 100644 Resendo.ipynb create mode 100644 Resendo2.ipynb create mode 100644 Table_Réf_Professionnels - Copie.xlsx create mode 100644 Table_Réf_Professionnels.xlsx create mode 100644 Table_Réf_Professionnels_inconsistencies.xlsx create mode 100644 datacompyProfessionals.ipynb create mode 100644 datacompyTest.ipynb create mode 100644 prepareProfessionalsTable.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..220c29d --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.rar +*.zip +*.txt +*.csv diff --git a/.ipynb_checkpoints/Professionals_Sort-checkpoint.ipynb b/.ipynb_checkpoints/Professionals_Sort-checkpoint.ipynb new file mode 100644 index 0000000..789d7c7 --- /dev/null +++ b/.ipynb_checkpoints/Professionals_Sort-checkpoint.ipynb @@ -0,0 +1,76 @@ +{ + "cells": [ + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "import csv\n", + "filename = 'Table_Réf_Professionnels_250430'\n", + "df = pd.read_csv(\"H:\\\\Mon Drive\\\\Ziwig Health\\\\Tables de Réf\\\\Professionnels\\\\\"+filename+\".csv\", sep='|', doublequote=False, quoting=csv.QUOTE_NONE,dtype=str, na_values='', keep_default_na=False)\n", + "df.columns" + ], + "metadata": { + "collapsed": false, + "jupyter": { + "is_executing": true + } + }, + "outputs": [], + "execution_count": null + }, + { + "cell_type": "code", + "source": [ + "df.shape" + ], + "metadata": { + "collapsed": false + }, + "outputs": [], + "execution_count": null + }, + { + "cell_type": "code", + "source": [ + "df_sorted = df.sort_values([\"Identifiant PP\", \"Nom d'exercice\", \"Prénom d'exercice\", 'Libellé profession', 'Libellé savoir-faire', 'Bureau cedex (coord. structure)', 'Numéro Voie (coord. structure)', 'Indice répétition voie (coord. structure)', 'Libellé type de voie (coord. structure)', 'Libellé Voie (coord. structure)' , 'Mention distribution (coord. structure)', 'Téléphone (coord. structure)'])" + ], + "metadata": { + "collapsed": false + }, + "outputs": [], + "execution_count": null + }, + { + "cell_type": "code", + "source": [ + "df_sorted.to_csv(\"H:\\\\Mon Drive\\\\Ziwig Health\\\\Tables de Réf\\\\Professionnels\\\\\"+filename+\"-sorted.csv\", sep='|', index=False, doublequote=False, quoting=csv.QUOTE_NONE, lineterminator='\\n')" + ], + "metadata": { + "collapsed": false + }, + "outputs": [], + "execution_count": null + } + ], + "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.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/.ipynb_checkpoints/Untitled-checkpoint.ipynb new file mode 100644 index 0000000..363fcab --- /dev/null +++ b/.ipynb_checkpoints/Untitled-checkpoint.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Professionals.ipynb b/Professionals.ipynb new file mode 100644 index 0000000..ab07fee --- /dev/null +++ b/Professionals.ipynb @@ -0,0 +1,176 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [], + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "text/plain": "Index(['Type d'identifiant PP', 'Identifiant PP',\n 'Identification nationale PP', 'Code civilité d'exercice',\n 'Libellé civilité d'exercice', 'Code civilité', 'Libellé civilité',\n 'Nom d'exercice', 'Prénom d'exercice', 'Code profession',\n 'Libellé profession', 'Code catégorie professionnelle',\n 'Libellé catégorie professionnelle', 'Code type savoir-faire',\n 'Libellé type savoir-faire', 'Code savoir-faire',\n 'Libellé savoir-faire', 'Code mode exercice', 'Libellé mode exercice',\n 'Numéro SIRET site', 'Numéro SIREN site', 'Numéro FINESS site',\n 'Numéro FINESS établissement juridique',\n 'Identifiant technique de la structure', 'Raison sociale site',\n 'Enseigne commerciale site',\n 'Complément destinataire (coord. structure)',\n 'Complément point géographique (coord. structure)',\n 'Numéro Voie (coord. structure)',\n 'Indice répétition voie (coord. structure)',\n 'Code type de voie (coord. structure)',\n 'Libellé type de voie (coord. structure)',\n 'Libellé Voie (coord. structure)',\n 'Mention distribution (coord. structure)',\n 'Bureau cedex (coord. structure)', 'Code postal (coord. structure)',\n 'Code commune (coord. structure)', 'Libellé commune (coord. structure)',\n 'Code pays (coord. structure)', 'Libellé pays (coord. structure)',\n 'Téléphone (coord. structure)', 'Téléphone 2 (coord. structure)',\n 'Télécopie (coord. structure)', 'Adresse e-mail (coord. structure)',\n 'Code Département (structure)', 'Libellé Département (structure)',\n 'Ancien identifiant de la structure', 'Autorité d'enregistrement',\n 'Code secteur d'activité', 'Libellé secteur d'activité',\n 'Code section tableau pharmaciens',\n 'Libellé section tableau pharmaciens', 'Unnamed: 52'],\n dtype='object')" + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "import csv\n", + "df = pd.read_csv(\"C:\\_temp\\Professionnels\\Table_Réf_Professionnels_220615.csv\", sep='|', doublequote=False, quoting=csv.QUOTE_NONE,\n", + " dtype=str, na_values='', keep_default_na=False)\n", + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "pycharm": { + "name": "#%%\n" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": "(864328, 53)" + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "text/plain": "(843643, 53)" + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.drop_duplicates().shape" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "pycharm": { + "name": "#%%\n" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": "(812168, 53)" + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.drop_duplicates([\"Nom d'exercice\", \"Prénom d'exercice\", 'Libellé profession', 'Libellé savoir-faire', 'Bureau cedex (coord. structure)']).shape" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "text/plain": "(814972, 53)" + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.drop_duplicates([\"Nom d'exercice\", \"Prénom d'exercice\", 'Libellé profession', 'Libellé savoir-faire', 'Bureau cedex (coord. structure)', \"Identifiant PP\"]).shape" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "text/plain": "(839643, 53)" + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.drop_duplicates([\"Nom d'exercice\", \"Prénom d'exercice\", 'Libellé profession', 'Libellé savoir-faire', 'Bureau cedex (coord. structure)', \"Identifiant PP\", 'Numéro Voie (coord. structure)', 'Indice répétition voie (coord. structure)', 'Libellé type de voie (coord. structure)', 'Libellé Voie (coord. structure)' , 'Mention distribution (coord. structure)']).shape" + ] + } + ], + "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.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} \ No newline at end of file diff --git a/Professionals_Activities_Inconsistencies.ipynb b/Professionals_Activities_Inconsistencies.ipynb new file mode 100644 index 0000000..39dde05 --- /dev/null +++ b/Professionals_Activities_Inconsistencies.ipynb @@ -0,0 +1,924 @@ +{ + "cells": [ + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:45:53.794236Z", + "start_time": "2025-08-19T22:45:51.445477Z" + } + }, + "cell_type": "code", + "source": [ + "%%time\n", + "import polars as pd\n", + "import csv\n", + "folder = \"E:\\\\Ziwig Drive\\\\Ziwig Health\\\\Tables de Réf\\\\Professionnels\\\\\"\n", + "input_file = \"Table_Réf_Professionnels_250815.txt\"\n", + "output_file = \"Table_Réf_Professionnels_inconsistencies\"\n", + "output_extension = \".csv\"\n", + "df = pd.read_csv(f\"{folder}{input_file}\",\n", + " separator='|',\n", + " quote_char=None,\n", + " null_values='',\n", + " infer_schema_length=0) # Read all columns as strings\n", + "df = df.with_row_index('index')\n", + "df.columns\n" + ], + "id": "58db5082e27759f7", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 13 s\n", + "Wall time: 2.33 s\n" + ] + }, + { + "data": { + "text/plain": [ + "['index',\n", + " \"Type d'identifiant PP\",\n", + " 'Identifiant PP',\n", + " 'Identification nationale PP',\n", + " \"Code civilité d'exercice\",\n", + " \"Libellé civilité d'exercice\",\n", + " 'Code civilité',\n", + " 'Libellé civilité',\n", + " \"Nom d'exercice\",\n", + " \"Prénom d'exercice\",\n", + " 'Code profession',\n", + " 'Libellé profession',\n", + " 'Code catégorie professionnelle',\n", + " 'Libellé catégorie professionnelle',\n", + " 'Code type savoir-faire',\n", + " 'Libellé type savoir-faire',\n", + " 'Code savoir-faire',\n", + " 'Libellé savoir-faire',\n", + " 'Code mode exercice',\n", + " 'Libellé mode exercice',\n", + " 'Numéro SIRET site',\n", + " 'Numéro SIREN site',\n", + " 'Numéro FINESS site',\n", + " 'Numéro FINESS établissement juridique',\n", + " 'Identifiant technique de la structure',\n", + " 'Raison sociale site',\n", + " 'Enseigne commerciale site',\n", + " 'Complément destinataire (coord. structure)',\n", + " 'Complément point géographique (coord. structure)',\n", + " 'Numéro Voie (coord. structure)',\n", + " 'Indice répétition voie (coord. structure)',\n", + " 'Code type de voie (coord. structure)',\n", + " 'Libellé type de voie (coord. structure)',\n", + " 'Libellé Voie (coord. structure)',\n", + " 'Mention distribution (coord. structure)',\n", + " 'Bureau cedex (coord. structure)',\n", + " 'Code postal (coord. structure)',\n", + " 'Code commune (coord. structure)',\n", + " 'Libellé commune (coord. structure)',\n", + " 'Code pays (coord. structure)',\n", + " 'Libellé pays (coord. structure)',\n", + " 'Téléphone (coord. structure)',\n", + " 'Téléphone 2 (coord. structure)',\n", + " 'Télécopie (coord. structure)',\n", + " 'Adresse e-mail (coord. structure)',\n", + " 'Code Département (structure)',\n", + " 'Libellé Département (structure)',\n", + " 'Ancien identifiant de la structure',\n", + " \"Autorité d'enregistrement\",\n", + " \"Code secteur d'activité\",\n", + " \"Libellé secteur d'activité\",\n", + " 'Code section tableau pharmaciens',\n", + " 'Libellé section tableau pharmaciens',\n", + " 'Code rôle',\n", + " 'Libellé rôle',\n", + " 'Code genre activité',\n", + " 'Libellé genre activité',\n", + " '']" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 57 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:45:54.952210Z", + "start_time": "2025-08-19T22:45:53.873718Z" + } + }, + "cell_type": "code", + "source": [ + "%%time\n", + "df1 = (\n", + " df.with_columns(\n", + " (pd.col(\"Nom d'exercice\") + \" \" + pd.col(\"Prénom d'exercice\")).alias(\"Nom_Prénom\")\n", + " )\n", + " .with_columns(\n", + " pd.col(\"Nom_Prénom\").n_unique().over(\"Identifiant PP\").alias(\"Count\")\n", + " )\n", + " .filter(pd.col(\"Count\") > 1)\n", + " .sort([\"Identifiant PP\", \"index\"])\n", + " .select(\"index\", \"Identifiant PP\", \"Count\", \"Nom d'exercice\", \"Prénom d'exercice\")\n", + ")\n", + "df1\n" + ], + "id": "7d9b7562c09955", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 4.83 s\n", + "Wall time: 1.07 s\n" + ] + }, + { + "data": { + "text/plain": [ + "shape: (9_108, 5)\n", + "┌─────────┬────────────────┬───────┬────────────────┬───────────────────┐\n", + "│ index ┆ Identifiant PP ┆ Count ┆ Nom d'exercice ┆ Prénom d'exercice │\n", + "│ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n", + "│ u32 ┆ str ┆ u32 ┆ str ┆ str │\n", + "╞═════════╪════════════════╪═══════╪════════════════╪═══════════════════╡\n", + "│ 1352933 ┆ 10000034180 ┆ 2 ┆ DUWAT-GEORGES ┆ GHISLAINE │\n", + "│ 1352934 ┆ 10000034180 ┆ 2 ┆ GEORGES ┆ GHISLAINE │\n", + "│ 261 ┆ 10000040062 ┆ 2 ┆ MEYER ┆ Nicolas │\n", + "│ 262 ┆ 10000040062 ┆ 2 ┆ MEYER ┆ Nicolas │\n", + "│ 811196 ┆ 10000040062 ┆ 2 ┆ MEYER ┆ NICOLAS │\n", + "│ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ 2162425 ┆ 10111110721 ┆ 2 ┆ BARREAU ┆ Nadège │\n", + "│ 268237 ┆ 10111112636 ┆ 2 ┆ GIRAUDET ┆ MEGGIE │\n", + "│ 1892318 ┆ 10111112636 ┆ 2 ┆ GIRAUDET ┆ Meggie │\n", + "│ 269544 ┆ 10111320304 ┆ 2 ┆ Sengel ┆ Coralie │\n", + "│ 1352396 ┆ 10111320304 ┆ 2 ┆ SENGEL ┆ Coralie │\n", + "└─────────┴────────────────┴───────┴────────────────┴───────────────────┘" + ], + "text/html": [ + "
\n", + "shape: (9_108, 5)
indexIdentifiant PPCountNom d'exercicePrénom d'exercice
u32stru32strstr
1352933"10000034180"2"DUWAT-GEORGES""GHISLAINE"
1352934"10000034180"2"GEORGES""GHISLAINE"
261"10000040062"2"MEYER""Nicolas"
262"10000040062"2"MEYER""Nicolas"
811196"10000040062"2"MEYER""NICOLAS"
2162425"10111110721"2"BARREAU""Nadège"
268237"10111112636"2"GIRAUDET""MEGGIE"
1892318"10111112636"2"GIRAUDET""Meggie"
269544"10111320304"2"Sengel""Coralie"
1352396"10111320304"2"SENGEL""Coralie"
" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 58 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:45:55.090712Z", + "start_time": "2025-08-19T22:45:55.072647Z" + } + }, + "cell_type": "code", + "source": [ + "df1.write_csv(f\"{folder}{output_file}-Names_Variations_Strict{output_extension}\",\n", + " separator='|',\n", + " quote_style=\"never\",\n", + " line_terminator='\\n')\n" + ], + "id": "c418a6ea7abd77b", + "outputs": [], + "execution_count": 59 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:45:56.962873Z", + "start_time": "2025-08-19T22:45:55.259223Z" + } + }, + "cell_type": "code", + "source": [ + "%%time\n", + "df2 = (\n", + " df.with_columns(\n", + " (pd.col(\"Nom d'exercice\").str.to_lowercase() + \" \" + pd.col(\"Prénom d'exercice\").str.to_lowercase()).alias(\"Nom_Prénom\")\n", + " )\n", + " .with_columns(\n", + " pd.col(\"Nom_Prénom\").n_unique().over(\"Identifiant PP\").alias(\"Count\")\n", + " )\n", + " .filter(pd.col(\"Count\") > 1)\n", + " .sort([\"Identifiant PP\", \"index\"])\n", + " .select(\"index\", \"Identifiant PP\", \"Count\", \"Nom d'exercice\", \"Prénom d'exercice\")\n", + ")\n", + "df2\n" + ], + "id": "9d94b716364356c7", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 5.06 s\n", + "Wall time: 1.68 s\n" + ] + }, + { + "data": { + "text/plain": [ + "shape: (5_426, 5)\n", + "┌─────────┬────────────────┬───────┬────────────────┬───────────────────┐\n", + "│ index ┆ Identifiant PP ┆ Count ┆ Nom d'exercice ┆ Prénom d'exercice │\n", + "│ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n", + "│ u32 ┆ str ┆ u32 ┆ str ┆ str │\n", + "╞═════════╪════════════════╪═══════╪════════════════╪═══════════════════╡\n", + "│ 1352933 ┆ 10000034180 ┆ 2 ┆ DUWAT-GEORGES ┆ GHISLAINE │\n", + "│ 1352934 ┆ 10000034180 ┆ 2 ┆ GEORGES ┆ GHISLAINE │\n", + "│ 1353009 ┆ 10000046051 ┆ 2 ┆ STUDER ┆ AGNES │\n", + "│ 1623173 ┆ 10000046051 ┆ 2 ┆ JURION ┆ AGNES │\n", + "│ 270462 ┆ 10000101518 ┆ 2 ┆ BARREYRE ┆ SANDRINE │\n", + "│ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ 1619731 ┆ 10110987236 ┆ 2 ┆ ROGIER ┆ MATHILDE │\n", + "│ 808810 ┆ 10111077417 ┆ 2 ┆ DOUVIER ┆ FRANCETTE │\n", + "│ 2161999 ┆ 10111077417 ┆ 2 ┆ D'ELLOY ┆ FRANCETTE │\n", + "│ 538415 ┆ 10111110721 ┆ 2 ┆ ROCHEPEAU ┆ Nadège │\n", + "│ 2162425 ┆ 10111110721 ┆ 2 ┆ BARREAU ┆ Nadège │\n", + "└─────────┴────────────────┴───────┴────────────────┴───────────────────┘" + ], + "text/html": [ + "
\n", + "shape: (5_426, 5)
indexIdentifiant PPCountNom d'exercicePrénom d'exercice
u32stru32strstr
1352933"10000034180"2"DUWAT-GEORGES""GHISLAINE"
1352934"10000034180"2"GEORGES""GHISLAINE"
1353009"10000046051"2"STUDER""AGNES"
1623173"10000046051"2"JURION""AGNES"
270462"10000101518"2"BARREYRE""SANDRINE"
1619731"10110987236"2"ROGIER""MATHILDE"
808810"10111077417"2"DOUVIER""FRANCETTE"
2161999"10111077417"2"D'ELLOY""FRANCETTE"
538415"10111110721"2"ROCHEPEAU""Nadège"
2162425"10111110721"2"BARREAU""Nadège"
" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 60 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:45:57.433036Z", + "start_time": "2025-08-19T22:45:57.417970Z" + } + }, + "cell_type": "code", + "source": [ + "df2.write_csv(f\"{folder}{output_file}-Names_Variations_Insensitive{output_extension}\",\n", + " separator='|',\n", + " quote_style=\"never\",\n", + " line_terminator='\\n')\n" + ], + "id": "18aab4499103491a", + "outputs": [], + "execution_count": 61 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:46:02.915526Z", + "start_time": "2025-08-19T22:45:57.710258Z" + } + }, + "cell_type": "code", + "source": [ + "%%time\n", + "df3 = (\n", + " df\n", + " .with_columns(\n", + " (\n", + " (pd.col(\"Nom d'exercice\") + \" \" + pd.col(\"Prénom d'exercice\"))\n", + " .str.to_lowercase()\n", + " # Normalisation des accents\n", + " .str.replace_all(\"à|á|â|ã|ä|å\", \"a\", literal=False)\n", + " .str.replace_all(\"ç\", \"c\", literal=False)\n", + " .str.replace_all(\"è|é|ê|ë\", \"e\", literal=False)\n", + " .str.replace_all(\"ì|í|î|ï\", \"i\", literal=False)\n", + " .str.replace_all(\"ñ\", \"n\", literal=False)\n", + " .str.replace_all(\"ò|ó|ô|õ|ö\", \"o\", literal=False)\n", + " .str.replace_all(\"ù|ú|û|ü\", \"u\", literal=False)\n", + " .str.replace_all(\"ý|ÿ\", \"y\", literal=False)\n", + " # Remplacement des caractères non-alphanumériques et nettoyage des espaces\n", + " .str.replace_all(r\"[^a-z0-9\\\\s]\", \" \", literal=False)\n", + " .str.replace_all(r\"\\\\s+\", \" \", literal=False)\n", + " .str.strip_chars()\n", + " ).alias(\"Nom_Prénom_Nettoyé\")\n", + " )\n", + " .with_columns(\n", + " pd.col(\"Nom_Prénom_Nettoyé\").n_unique().over(\"Identifiant PP\").alias(\"Count\")\n", + " )\n", + " .filter(pd.col(\"Count\") > 1)\n", + " .sort([\"Identifiant PP\", \"index\"])\n", + " .select(\"index\", \"Identifiant PP\", \"Count\", \"Nom d'exercice\", \"Prénom d'exercice\", \"Nom_Prénom_Nettoyé\")\n", + ")\n", + "df3\n" + ], + "id": "8e4e3e22f16fea1c", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 8.59 s\n", + "Wall time: 5.19 s\n" + ] + }, + { + "data": { + "text/plain": [ + "shape: (3_584, 6)\n", + "┌─────────┬────────────────┬───────┬────────────────┬───────────────────┬─────────────────────────┐\n", + "│ index ┆ Identifiant PP ┆ Count ┆ Nom d'exercice ┆ Prénom d'exercice ┆ Nom_Prénom_Nettoyé │\n", + "│ --- ┆ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n", + "│ u32 ┆ str ┆ u32 ┆ str ┆ str ┆ str │\n", + "╞═════════╪════════════════╪═══════╪════════════════╪═══════════════════╪═════════════════════════╡\n", + "│ 1352933 ┆ 10000034180 ┆ 2 ┆ DUWAT-GEORGES ┆ GHISLAINE ┆ duwat georges ghislaine │\n", + "│ 1352934 ┆ 10000034180 ┆ 2 ┆ GEORGES ┆ GHISLAINE ┆ georges ghislaine │\n", + "│ 1353009 ┆ 10000046051 ┆ 2 ┆ STUDER ┆ AGNES ┆ studer agnes │\n", + "│ 1623173 ┆ 10000046051 ┆ 2 ┆ JURION ┆ AGNES ┆ jurion agnes │\n", + "│ 270462 ┆ 10000101518 ┆ 2 ┆ BARREYRE ┆ SANDRINE ┆ barreyre sandrine │\n", + "│ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ 1619731 ┆ 10110987236 ┆ 2 ┆ ROGIER ┆ MATHILDE ┆ rogier mathilde │\n", + "│ 808810 ┆ 10111077417 ┆ 2 ┆ DOUVIER ┆ FRANCETTE ┆ douvier francette │\n", + "│ 2161999 ┆ 10111077417 ┆ 2 ┆ D'ELLOY ┆ FRANCETTE ┆ d elloy francette │\n", + "│ 538415 ┆ 10111110721 ┆ 2 ┆ ROCHEPEAU ┆ Nadège ┆ rochepeau nadege │\n", + "│ 2162425 ┆ 10111110721 ┆ 2 ┆ BARREAU ┆ Nadège ┆ barreau nadege │\n", + "└─────────┴────────────────┴───────┴────────────────┴───────────────────┴─────────────────────────┘" + ], + "text/html": [ + "
\n", + "shape: (3_584, 6)
indexIdentifiant PPCountNom d'exercicePrénom d'exerciceNom_Prénom_Nettoyé
u32stru32strstrstr
1352933"10000034180"2"DUWAT-GEORGES""GHISLAINE""duwat georges ghislaine"
1352934"10000034180"2"GEORGES""GHISLAINE""georges ghislaine"
1353009"10000046051"2"STUDER""AGNES""studer agnes"
1623173"10000046051"2"JURION""AGNES""jurion agnes"
270462"10000101518"2"BARREYRE""SANDRINE""barreyre sandrine"
1619731"10110987236"2"ROGIER""MATHILDE""rogier mathilde"
808810"10111077417"2"DOUVIER""FRANCETTE""douvier francette"
2161999"10111077417"2"D'ELLOY""FRANCETTE""d elloy francette"
538415"10111110721"2"ROCHEPEAU""Nadège""rochepeau nadege"
2162425"10111110721"2"BARREAU""Nadège""barreau nadege"
" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 62 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:46:03.290835Z", + "start_time": "2025-08-19T22:46:03.280259Z" + } + }, + "cell_type": "code", + "source": [ + "df3.write_csv(f\"{folder}{output_file}-Names_Variations_Normalized{output_extension}\",\n", + " separator='|',\n", + " quote_style=\"never\",\n", + " line_terminator='\\n')\n" + ], + "id": "aab2ae2e91a7190c", + "outputs": [], + "execution_count": 63 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:46:07.814563Z", + "start_time": "2025-08-19T22:46:03.493442Z" + } + }, + "cell_type": "code", + "source": [ + "%%time\n", + "all_columns = df.columns\n", + "start_col = 'Raison sociale site'\n", + "end_col = \"Libellé secteur d'activité\"\n", + "start_col_index = all_columns.index(start_col)\n", + "end_col_index = all_columns.index(end_col)\n", + "site_info_cols = all_columns[start_col_index : end_col_index + 1]\n", + "if \"Autorité d'enregistrement\" in site_info_cols:\n", + " site_info_cols.remove(\"Autorité d'enregistrement\")\n", + "\n", + "df4 = (\n", + " df\n", + " .filter(pd.col('Numéro FINESS site').is_null())\n", + " .filter(\n", + " pd.col('Numéro SIRET site').is_not_null() | pd.col('Identifiant technique de la structure').is_not_null()\n", + " )\n", + " .with_columns(\n", + " pd.coalesce(\n", + " pd.col('Numéro SIRET site'),\n", + " pd.col('Identifiant technique de la structure')\n", + " ).alias('Site_Identifier')\n", + " )\n", + " .with_columns(\n", + " pd.struct(site_info_cols).n_unique().over(['Identifiant PP', 'Site_Identifier']).alias('Site_Info_Variations_Count')\n", + " )\n", + " .filter(pd.col('Site_Info_Variations_Count') > 1)\n", + " .sort(['Identifiant PP', 'Site_Identifier', 'index'])\n", + " .select(['index', \n", + " 'Identifiant PP', \n", + " 'Site_Identifier', \n", + " 'Numéro SIRET site', \n", + " 'Identifiant technique de la structure', \n", + " 'Site_Info_Variations_Count'] + site_info_cols)\n", + ")\n", + "df4" + ], + "id": "3c2f2bb5fc3c2a5e", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 18.1 s\n", + "Wall time: 4.29 s\n" + ] + }, + { + "data": { + "text/plain": [ + "shape: (98, 31)\n", + "┌─────────┬────────────┬───────────┬───────────┬───┬───────────┬───────────┬───────────┬───────────┐\n", + "│ index ┆ Identifian ┆ Site_Iden ┆ Numéro ┆ … ┆ Libellé ┆ Ancien ┆ Code ┆ Libellé │\n", + "│ --- ┆ t PP ┆ tifier ┆ SIRET ┆ ┆ Départeme ┆ identifia ┆ secteur ┆ secteur │\n", + "│ u32 ┆ --- ┆ --- ┆ site ┆ ┆ nt (struc ┆ nt de la ┆ d'activit ┆ d'activit │\n", + "│ ┆ str ┆ str ┆ --- ┆ ┆ ture… ┆ struc… ┆ é ┆ é │\n", + "│ ┆ ┆ ┆ str ┆ ┆ --- ┆ --- ┆ --- ┆ --- │\n", + "│ ┆ ┆ ┆ ┆ ┆ str ┆ str ┆ str ┆ str │\n", + "╞═════════╪════════════╪═══════════╪═══════════╪═══╪═══════════╪═══════════╪═══════════╪═══════════╡\n", + "│ 270597 ┆ 1000011638 ┆ 309802205 ┆ 309802205 ┆ … ┆ null ┆ 330980220 ┆ SA28 ┆ Asso et │\n", + "│ ┆ 3 ┆ 00505 ┆ 00505 ┆ ┆ ┆ 500505 ┆ ┆ orga huma │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ nitaire │\n", + "│ 1353470 ┆ 1000011638 ┆ 309802205 ┆ 309802205 ┆ … ┆ null ┆ 330980220 ┆ SA28 ┆ Asso et │\n", + "│ ┆ 3 ┆ 00505 ┆ 00505 ┆ ┆ ┆ 500505 ┆ ┆ orga huma │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ nitaire │\n", + "│ 4214 ┆ 1000053630 ┆ 180035024 ┆ 180035024 ┆ … ┆ null ┆ 318003502 ┆ SA24 ┆ Organisme │\n", + "│ ┆ 9 ┆ 02369 ┆ 02369 ┆ ┆ ┆ 402369 ┆ ┆ de │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sécurité │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sociale │\n", + "│ 1627221 ┆ 1000053630 ┆ 180035024 ┆ 180035024 ┆ … ┆ null ┆ 318003502 ┆ SA24 ┆ Organisme │\n", + "│ ┆ 9 ┆ 02369 ┆ 02369 ┆ ┆ ┆ 402369 ┆ ┆ de │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sécurité │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sociale │\n", + "│ 816501 ┆ 1000066718 ┆ 180035024 ┆ 180035024 ┆ … ┆ null ┆ 318003502 ┆ SA24 ┆ Organisme │\n", + "│ ┆ 7 ┆ 02369 ┆ 02369 ┆ ┆ ┆ 402369 ┆ ┆ de │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sécurité │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sociale │\n", + "│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ 532248 ┆ 1011059216 ┆ 880859350 ┆ 880859350 ┆ … ┆ null ┆ 388085935 ┆ SA32 ┆ Fab. │\n", + "│ ┆ 8 ┆ 00014 ┆ 00014 ┆ ┆ ┆ 000014 ┆ ┆ Exploit. │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Import. │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Méd. DM │\n", + "│ 1344743 ┆ 1011059749 ┆ 130008006 ┆ 130008006 ┆ … ┆ null ┆ 313000800 ┆ SA24 ┆ Organisme │\n", + "│ ┆ 8 ┆ 00038 ┆ 00038 ┆ ┆ ┆ 600038 ┆ ┆ de │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sécurité │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sociale │\n", + "│ 2156205 ┆ 1011059749 ┆ 130008006 ┆ 130008006 ┆ … ┆ null ┆ 313000800 ┆ SA24 ┆ Organisme │\n", + "│ ┆ 8 ┆ 00038 ┆ 00038 ┆ ┆ ┆ 600038 ┆ ┆ de │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sécurité │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sociale │\n", + "│ 1618789 ┆ 1011091034 ┆ 180035024 ┆ 180035024 ┆ … ┆ null ┆ 318003502 ┆ SA24 ┆ Organisme │\n", + "│ ┆ 5 ┆ 01098 ┆ 01098 ┆ ┆ ┆ 401098 ┆ ┆ de │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sécurité │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sociale │\n", + "│ 1889827 ┆ 1011091034 ┆ 180035024 ┆ 180035024 ┆ … ┆ null ┆ 318003502 ┆ SA24 ┆ Organisme │\n", + "│ ┆ 5 ┆ 01098 ┆ 01098 ┆ ┆ ┆ 401098 ┆ ┆ de │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sécurité │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Sociale │\n", + "└─────────┴────────────┴───────────┴───────────┴───┴───────────┴───────────┴───────────┴───────────┘" + ], + "text/html": [ + "
\n", + "shape: (98, 31)
indexIdentifiant PPSite_IdentifierNuméro SIRET siteIdentifiant technique de la structureSite_Info_Variations_CountRaison sociale siteEnseigne commerciale siteComplément destinataire (coord. structure)Complément point géographique (coord. structure)Numéro Voie (coord. structure)Indice répétition voie (coord. structure)Code type de voie (coord. structure)Libellé type de voie (coord. structure)Libellé Voie (coord. structure)Mention distribution (coord. structure)Bureau cedex (coord. structure)Code postal (coord. structure)Code commune (coord. structure)Libellé commune (coord. structure)Code pays (coord. structure)Libellé pays (coord. structure)Téléphone (coord. structure)Téléphone 2 (coord. structure)Télécopie (coord. structure)Adresse e-mail (coord. structure)Code Département (structure)Libellé Département (structure)Ancien identifiant de la structureCode secteur d'activitéLibellé secteur d'activité
u32strstrstrstru32strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstr
270597"10000116383""30980220500505""30980220500505""R10100000198782"2"OEUVRES HOSPITALIERES FRANCAIS…"ORDRE DE MALTE FRANCE""ORDRE DE MALTE FRANCE"null"42"nullnullnull"RUE DES VOLONTAIRES"null"75015 PARIS""75015""75056""Paris""99000""France"nullnullnullnullnullnull"330980220500505""SA28""Asso et orga humanitaire"
1353470"10000116383""30980220500505""30980220500505""R10100000779807"2"OEUVRE HOSP FRANC DE L'ORDRE D…nullnullnull"49"null"R""Rue""DE LA CHAPELLE"null"75018 PARIS 18E  ARRONDISSEMEN…"75018""75118""Paris 18e  Arrondissement"nullnullnullnullnullnullnullnull"330980220500505""SA28""Asso et orga humanitaire"
4214"10000536309""18003502402369""18003502402369""R10100000050224"2"DRSM PAYS DE LA LOIREELSM 44""SITE NANTES"nullnull"9"null"R""Rue""GAETAN RONDEAU""BP""44203 NANTES""44203""44109""Nantes"nullnullnullnullnullnullnullnull"318003502402369""SA24""Organisme de Sécurité Sociale"
1627221"10000536309""18003502402369""18003502402369""R10100000049799"2"DRSM PAYS DE LOIREELSM 49""SITE CHOLET"nullnull"2"null"R""Rue""SAINT ELOI""BP""49321 CHOLET""49321""49099""Cholet"nullnullnullnullnullnullnullnull"318003502402369""SA24""Organisme de Sécurité Sociale"
816501"10000667187""18003502402369""18003502402369""R10100000049794"3"DRSM NORD PICARDIEELSM 59""SITE MAUBEUGE"nullnullnullnull"PL""Place""DE WATTIGNIES""BP""59603 MAUBEUGE""59603""59392""Maubeuge"nullnullnullnullnullnullnullnull"318003502402369""SA24""Organisme de Sécurité Sociale"
532248"10110592168""88085935000014""88085935000014""R10100000325887"2"FAREVA PAU"nullnullnullnullnull"AV""Avenue""DU BEARN"null"64320 IDRON""64320""64269""Idron"nullnull"0559402100"null"0559402119"nullnullnull"388085935000014""SA32""Fab. Exploit. Import. Méd. DM"
1344743"10110597498""13000800600038""13000800600038""R10100000097229"2"AGENCE REGIONALE SANTE PAYS LO…nullnullnull"17"null"BD""Boulevard""GASTON DOUMERGUE"null"44262 NANTES""44262""44109""Nantes"nullnullnullnullnullnullnullnull"313000800600038""SA24""Organisme de Sécurité Sociale"
2156205"10110597498""13000800600038""13000800600038""R10100000097229"2"AGENCE REGIONALE SANTE PAYS LO…null"DELEGATION TERRITORIALE"null"2"null"BD""Boulevard""MURAT"null"53000 LAVAL""53000""53130""Laval"nullnullnullnullnullnullnullnull"313000800600038""SA24""Organisme de Sécurité Sociale"
1618789"10110910345""18003502401098""18003502401098""R10100000398898"2"CAISSE NATIONALE DE L'ASSURANC…"DRSM DIRECTION REG. DU SERVICE…"QUARTIER DU LAC"null"80"nullnullnull"AVENUE DE LA JALLERE""BP 260""33300 BORDEAUX""33300""33063""Bordeaux""99000""France"nullnullnullnullnullnull"318003502401098""SA24""Organisme de Sécurité Sociale"
1889827"10110910345""18003502401098""18003502401098""R10100000398898"2"CAISSE NATIONALE DE L'ASSURANC…"DRSM DIRECTION REG. DU SERVICE…nullnull"207"null"R""Rue""FONTAINEBLEAU""BP""40011 MONT-DE-MARSAN""40011""40192""Mont-de-Marsan"nullnullnullnullnullnullnullnull"318003502401098""SA24""Organisme de Sécurité Sociale"
" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 64 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:46:07.974271Z", + "start_time": "2025-08-19T22:46:07.943280Z" + } + }, + "cell_type": "code", + "source": [ + "df4.write_csv(f\"{folder}{output_file}-Sites_Variations{output_extension}\",\n", + " separator='|',\n", + " quote_style=\"never\",\n", + " line_terminator='\\n')\n" + ], + "id": "c1fd01e419f4ccc9", + "outputs": [], + "execution_count": 65 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:46:12.781888Z", + "start_time": "2025-08-19T22:46:08.306776Z" + } + }, + "cell_type": "code", + "source": [ + "%%time\n", + "df5 = (\n", + " df\n", + " .filter(pd.col('Numéro FINESS site').is_null())\n", + " .filter(\n", + " pd.col('Numéro SIRET site').is_not_null() | pd.col('Identifiant technique de la structure').is_not_null()\n", + " )\n", + " .with_columns(\n", + " pd.coalesce(\n", + " pd.col('Numéro SIRET site'),\n", + " pd.col('Identifiant technique de la structure')\n", + " ).alias('Site_Identifier')\n", + " )\n", + " .with_columns(\n", + " pd.struct(site_info_cols).n_unique().over(['Site_Identifier']).alias('Site_Info_Variations_Count')\n", + " )\n", + " .filter(pd.col('Site_Info_Variations_Count') > 1)\n", + " .sort(['Site_Identifier', 'index'])\n", + " .select(['index', \n", + " 'Identifiant PP', \n", + " 'Site_Identifier', \n", + " 'Numéro SIRET site', \n", + " 'Identifiant technique de la structure', \n", + " 'Site_Info_Variations_Count'] + site_info_cols)\n", + ")\n", + "df5\n" + ], + "id": "7838523925fc85ee", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 19.8 s\n", + "Wall time: 4.43 s\n" + ] + }, + { + "data": { + "text/plain": [ + "shape: (4_190, 31)\n", + "┌─────────┬────────────┬───────────┬───────────┬───┬───────────┬───────────┬───────────┬───────────┐\n", + "│ index ┆ Identifian ┆ Site_Iden ┆ Numéro ┆ … ┆ Libellé ┆ Ancien ┆ Code ┆ Libellé │\n", + "│ --- ┆ t PP ┆ tifier ┆ SIRET ┆ ┆ Départeme ┆ identifia ┆ secteur ┆ secteur │\n", + "│ u32 ┆ --- ┆ --- ┆ site ┆ ┆ nt (struc ┆ nt de la ┆ d'activit ┆ d'activit │\n", + "│ ┆ str ┆ str ┆ --- ┆ ┆ ture… ┆ struc… ┆ é ┆ é │\n", + "│ ┆ ┆ ┆ str ┆ ┆ --- ┆ --- ┆ --- ┆ --- │\n", + "│ ┆ ┆ ┆ ┆ ┆ str ┆ str ┆ str ┆ str │\n", + "╞═════════╪════════════╪═══════════╪═══════════╪═══╪═══════════╪═══════════╪═══════════╪═══════════╡\n", + "│ 127508 ┆ 1010000229 ┆ 056501711 ┆ 056501711 ┆ … ┆ null ┆ 305650171 ┆ SA32 ┆ Fab. │\n", + "│ ┆ 3 ┆ 00115 ┆ 00115 ┆ ┆ ┆ 100115 ┆ ┆ Exploit. │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Import. │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Méd. DM │\n", + "│ 285182 ┆ 1000180676 ┆ 056501711 ┆ 056501711 ┆ … ┆ null ┆ 305650171 ┆ SA32 ┆ Fab. │\n", + "│ ┆ 8 ┆ 00115 ┆ 00115 ┆ ┆ ┆ 100115 ┆ ┆ Exploit. │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Import. │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Méd. DM │\n", + "│ 466100 ┆ 1010480041 ┆ 056501711 ┆ 056501711 ┆ … ┆ null ┆ 305650171 ┆ SA32 ┆ Fab. │\n", + "│ ┆ 1 ┆ 00115 ┆ 00115 ┆ ┆ ┆ 100115 ┆ ┆ Exploit. │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Import. │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Méd. DM │\n", + "│ 722626 ┆ 1010368715 ┆ 056501711 ┆ 056501711 ┆ … ┆ null ┆ 305650171 ┆ SA32 ┆ Fab. │\n", + "│ ┆ 7 ┆ 00115 ┆ 00115 ┆ ┆ ┆ 100115 ┆ ┆ Exploit. │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Import. │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Méd. DM │\n", + "│ 826390 ┆ 1000179659 ┆ 056501711 ┆ 056501711 ┆ … ┆ null ┆ 305650171 ┆ SA32 ┆ Fab. │\n", + "│ ┆ 7 ┆ 00115 ┆ 00115 ┆ ┆ ┆ 100115 ┆ ┆ Exploit. │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Import. │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Méd. DM │\n", + "│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ 793647 ┆ 1010986940 ┆ 984526194 ┆ 984526194 ┆ … ┆ null ┆ 398452619 ┆ SA09 ┆ Exercice │\n", + "│ ┆ 3 ┆ 00019 ┆ 00019 ┆ ┆ ┆ 400019 ┆ ┆ en │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Société │\n", + "│ 1500531 ┆ 1010129326 ┆ 984526194 ┆ 984526194 ┆ … ┆ null ┆ 398452619 ┆ SA09 ┆ Exercice │\n", + "│ ┆ 3 ┆ 00019 ┆ 00019 ┆ ┆ ┆ 400019 ┆ ┆ en │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Société │\n", + "│ 1852947 ┆ 1010801513 ┆ 984526194 ┆ 984526194 ┆ … ┆ null ┆ 398452619 ┆ SA09 ┆ Exercice │\n", + "│ ┆ 1 ┆ 00019 ┆ 00019 ┆ ┆ ┆ 400019 ┆ ┆ en │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ Société │\n", + "│ 1571945 ┆ 1010723524 ┆ 998823504 ┆ 998823504 ┆ … ┆ null ┆ 399882350 ┆ SA11 ┆ Entrepris │\n", + "│ ┆ 3 ┆ 30834 ┆ 30834 ┆ ┆ ┆ 430834 ┆ ┆ e │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ d'intérim │\n", + "│ 1590681 ┆ 1010869303 ┆ 998823504 ┆ 998823504 ┆ … ┆ null ┆ 399882350 ┆ SA11 ┆ Entrepris │\n", + "│ ┆ 6 ┆ 30834 ┆ 30834 ┆ ┆ ┆ 430834 ┆ ┆ e │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ d'intérim │\n", + "└─────────┴────────────┴───────────┴───────────┴───┴───────────┴───────────┴───────────┴───────────┘" + ], + "text/html": [ + "
\n", + "shape: (4_190, 31)
indexIdentifiant PPSite_IdentifierNuméro SIRET siteIdentifiant technique de la structureSite_Info_Variations_CountRaison sociale siteEnseigne commerciale siteComplément destinataire (coord. structure)Complément point géographique (coord. structure)Numéro Voie (coord. structure)Indice répétition voie (coord. structure)Code type de voie (coord. structure)Libellé type de voie (coord. structure)Libellé Voie (coord. structure)Mention distribution (coord. structure)Bureau cedex (coord. structure)Code postal (coord. structure)Code commune (coord. structure)Libellé commune (coord. structure)Code pays (coord. structure)Libellé pays (coord. structure)Téléphone (coord. structure)Téléphone 2 (coord. structure)Télécopie (coord. structure)Adresse e-mail (coord. structure)Code Département (structure)Libellé Département (structure)Ancien identifiant de la structureCode secteur d'activitéLibellé secteur d'activité
u32strstrstrstru32strstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstrstr
127508"10100002293""05650171100115""05650171100115""R10000001502146"2"BECTON DICKINSON FRANCE"nullnullnull"11"null"R""Rue""RUE ARISTIDE BERGES"null"38801 LE PONT DE CLAIX CEDEX""38801""38317""Le Pont-de-Claix""99000""France"nullnullnullnullnullnull"305650171100115""SA32""Fab. Exploit. Import. Méd. DM"
285182"10001806768""05650171100115""05650171100115""R10000001502146"2"BECTON DICKINSON FRANCE"nullnullnull"11"null"R""Rue""RUE ARISTIDE BERGES"null"38801 LE PONT DE CLAIX CEDEX""38801""38317""Le Pont-de-Claix""99000""France"nullnullnullnullnullnull"305650171100115""SA32""Fab. Exploit. Import. Méd. DM"
466100"10104800411""05650171100115""05650171100115""R10000001502146"2"BECTON DICKINSON FRANCE"nullnullnull"11"null"R""Rue""RUE ARISTIDE BERGES"null"38801 LE PONT DE CLAIX CEDEX""38801""38317""Le Pont-de-Claix""99000""France"nullnullnullnullnullnull"305650171100115""SA32""Fab. Exploit. Import. Méd. DM"
722626"10103687157""05650171100115""05650171100115""R10000001502146"2"BECTON DICKINSON FRANCE"nullnullnull"11"null"R""Rue""RUE ARISTIDE BERGES"null"38801 LE PONT DE CLAIX CEDEX""38801""38317""Le Pont-de-Claix""99000""France"nullnullnullnullnullnull"305650171100115""SA32""Fab. Exploit. Import. Méd. DM"
826390"10001796597""05650171100115""05650171100115""R10000001502146"2"BECTON DICKINSON FRANCE"nullnullnull"11"null"R""Rue""RUE ARISTIDE BERGES"null"38801 LE PONT DE CLAIX CEDEX""38801""38317""Le Pont-de-Claix""99000""France"nullnullnullnullnullnull"305650171100115""SA32""Fab. Exploit. Import. Méd. DM"
793647"10109869403""98452619400019""98452619400019""R10100000673943"2"SELARL CENTRE DE PODOLOGIE SPO…"SELARL CENTRE DE PODOLOGIE SPO…nullnull"8"null"R""Rue""GEORGES NEGREVERGNE"null"33700 MERIGNAC""33700""33281""Mérignac""99000""France"nullnullnullnullnullnull"398452619400019""SA09""Exercice en Société"
1500531"10101293263""98452619400019""98452619400019""R10100000673943"2"SELARL CENTRE DE PODOLOGIE SPO…"SELARL CENTRE DE PODOLOGIE SPO…nullnull"8"null"R""Rue""GEORGES NEGREVERGNE"null"33700 MERIGNAC""33700""33281""Mérignac""99000""France"nullnullnullnullnullnull"398452619400019""SA09""Exercice en Société"
1852947"10108015131""98452619400019""98452619400019""R10100000673943"2"SELARL CENTRE DE PODOLOGIE SPO…"SELARL CENTRE DE PODOLOGIE SPO…nullnull"8"null"R""Rue""GEORGES NEGREVERGNE"null"33700 MERIGNAC""33700""33281""Mérignac""99000""France"nullnullnullnullnullnull"398452619400019""SA09""Exercice en Société"
1571945"10107235243""99882350430834""99882350430834""R10100000554688"2"ADECCO FRANCE""ADECCO"null"PARC VALMY PARK AVENUE BAT A 1…"8""D"nullnull"RUE JEANNE BARRET"null"21000 DIJON""21000""21231""Dijon""99000""France"nullnullnullnullnullnull"399882350430834""SA11""Entreprise d'intérim"
1590681"10108693036""99882350430834""99882350430834""R10100000413248"2"ADECCO MEDICAL"nullnullnull"8""D""R""Rue""JEANNE BARRET"null"21000 DIJON""21000""21231""Dijon""99000""France"nullnullnullnullnullnull"399882350430834""SA11""Entreprise d'intérim"
" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 66 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:46:13.670911Z", + "start_time": "2025-08-19T22:46:13.655386Z" + } + }, + "cell_type": "code", + "source": [ + "df5.write_csv(f\"{folder}{output_file}-Sites_Variations_Global{output_extension}\",\n", + " separator='|',\n", + " quote_style=\"never\",\n", + " line_terminator='\\n')\n" + ], + "id": "416184f32f973a71", + "outputs": [], + "execution_count": 67 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:46:17.023811Z", + "start_time": "2025-08-19T22:46:14.032470Z" + } + }, + "cell_type": "code", + "source": [ + "%%time\n", + "df6 = (\n", + " df\n", + " .with_columns(\n", + " pd.coalesce(\n", + " pd.col('Numéro FINESS site'),\n", + " pd.col('Numéro SIRET site'),\n", + " pd.col('Identifiant technique de la structure')\n", + " ).alias('Site_Identifier_Global')\n", + " )\n", + " .filter(pd.col('Site_Identifier_Global').is_not_null())\n", + " .with_columns(\n", + " pd.struct([\n", + " \"Libellé profession\",\n", + " \"Libellé savoir-faire\",\n", + " \"Libellé mode exercice\",\n", + " \"Libellé rôle\",\n", + " \"Libellé genre activité\"\n", + " ]).n_unique().over([\"Identifiant PP\", \"Site_Identifier_Global\"]).alias(\"Activites_Count\")\n", + " )\n", + " .filter(pd.col(\"Activites_Count\") > 1)\n", + " .sort([\"Identifiant PP\", \"Site_Identifier_Global\", \"index\"])\n", + " .select([\n", + " \"index\",\n", + " \"Identifiant PP\",\n", + " \"Site_Identifier_Global\",\n", + " \"Numéro FINESS site\",\n", + " \"Numéro SIRET site\",\n", + " \"Identifiant technique de la structure\",\n", + " \"Activites_Count\",\n", + " \"Libellé profession\",\n", + " \"Libellé savoir-faire\",\n", + " \"Libellé mode exercice\",\n", + " \"Libellé rôle\",\n", + " \"Libellé genre activité\"\n", + " ])\n", + ")\n", + "df6\n" + ], + "id": "84549f83ce5e92f", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 11 s\n", + "Wall time: 2.96 s\n" + ] + }, + { + "data": { + "text/plain": [ + "shape: (25_389, 12)\n", + "┌─────────┬────────────┬───────────┬───────────┬───┬───────────┬───────────┬───────────┬───────────┐\n", + "│ index ┆ Identifian ┆ Site_Iden ┆ Numéro ┆ … ┆ Libellé ┆ Libellé ┆ Libellé ┆ Libellé │\n", + "│ --- ┆ t PP ┆ tifier_Gl ┆ FINESS ┆ ┆ savoir-fa ┆ mode ┆ rôle ┆ genre │\n", + "│ u32 ┆ --- ┆ obal ┆ site ┆ ┆ ire ┆ exercice ┆ --- ┆ activité │\n", + "│ ┆ str ┆ --- ┆ --- ┆ ┆ --- ┆ --- ┆ str ┆ --- │\n", + "│ ┆ ┆ str ┆ str ┆ ┆ str ┆ str ┆ ┆ str │\n", + "╞═════════╪════════════╪═══════════╪═══════════╪═══╪═══════════╪═══════════╪═══════════╪═══════════╡\n", + "│ 1352840 ┆ 1000001797 ┆ 130786445 ┆ 130786445 ┆ … ┆ null ┆ Salarié ┆ Salarié ┆ Activité │\n", + "│ ┆ 9 ┆ ┆ ┆ ┆ ┆ ┆ en poste ┆ standard │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ fixe ┆ de soin │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ou d… │\n", + "│ 1893982 ┆ 1000001797 ┆ 130786445 ┆ 130786445 ┆ … ┆ null ┆ Salarié ┆ Fonction ┆ Activité │\n", + "│ ┆ 9 ┆ ┆ ┆ ┆ ┆ ┆ non ┆ standard │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ définie ┆ de soin │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ou d… │\n", + "│ 270269 ┆ 1000007028 ┆ 397840901 ┆ null ┆ … ┆ null ┆ Salarié ┆ Salarié ┆ Activité │\n", + "│ ┆ 3 ┆ 00011 ┆ ┆ ┆ ┆ ┆ en poste ┆ standard │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ fixe ┆ de soin │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ou d… │\n", + "│ 811380 ┆ 1000007028 ┆ 397840901 ┆ null ┆ … ┆ null ┆ Salarié ┆ Fonction ┆ Activité │\n", + "│ ┆ 3 ┆ 00011 ┆ ┆ ┆ ┆ ┆ non ┆ non │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ définie ┆ soignante │\n", + "│ 540586 ┆ 1000008684 ┆ 860012228 ┆ 860012228 ┆ … ┆ null ┆ Salarié ┆ Salarié ┆ Activité │\n", + "│ ┆ 2 ┆ ┆ ┆ ┆ ┆ ┆ en poste ┆ standard │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ fixe ┆ de soin │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ou d… │\n", + "│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ 538572 ┆ 1011112354 ┆ 970400016 ┆ 970400016 ┆ … ┆ null ┆ Salarié ┆ Salarié ┆ Activité │\n", + "│ ┆ 2 ┆ ┆ ┆ ┆ ┆ ┆ en poste ┆ standard │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ fixe ┆ de soin │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ou d… │\n", + "│ 538882 ┆ 1011125299 ┆ 250006954 ┆ 250006954 ┆ … ┆ null ┆ Salarié ┆ Salarié ┆ Activité │\n", + "│ ┆ 4 ┆ ┆ ┆ ┆ ┆ ┆ en poste ┆ standard │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ fixe ┆ de soin │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ou d… │\n", + "│ 2162932 ┆ 1011125299 ┆ 250006954 ┆ 250006954 ┆ … ┆ null ┆ Salarié ┆ Salarié ┆ Activité │\n", + "│ ┆ 4 ┆ ┆ ┆ ┆ ┆ ┆ en poste ┆ standard │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ fixe ┆ de soin │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ou d… │\n", + "│ 2163446 ┆ 1011129312 ┆ 490540218 ┆ 490540218 ┆ … ┆ null ┆ Salarié ┆ Salarié ┆ Activité │\n", + "│ ┆ 1 ┆ ┆ ┆ ┆ ┆ ┆ en poste ┆ standard │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ fixe ┆ de soin │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ┆ ou d… │\n", + "│ 2163447 ┆ 1011129312 ┆ 490540218 ┆ 490540218 ┆ … ┆ null ┆ Salarié ┆ Cadre de ┆ Activité │\n", + "│ ┆ 1 ┆ ┆ ┆ ┆ ┆ ┆ santé de ┆ non │\n", + "│ ┆ ┆ ┆ ┆ ┆ ┆ ┆ proximité ┆ soignante │\n", + "└─────────┴────────────┴───────────┴───────────┴───┴───────────┴───────────┴───────────┴───────────┘" + ], + "text/html": [ + "
\n", + "shape: (25_389, 12)
indexIdentifiant PPSite_Identifier_GlobalNuméro FINESS siteNuméro SIRET siteIdentifiant technique de la structureActivites_CountLibellé professionLibellé savoir-faireLibellé mode exerciceLibellé rôleLibellé genre activité
u32strstrstrstrstru32strstrstrstrstr
1352840"10000017979""130786445""130786445""30247736900011""F130786445"2"Ostéopathe"null"Salarié""Salarié en poste fixe""Activité standard de soin ou d…
1893982"10000017979""130786445""130786445""30247736900011""F130786445"2"Sage-Femme"null"Salarié""Fonction non définie""Activité standard de soin ou d…
270269"10000070283""39784090100011"null"39784090100011""R10000002500225"2"Chirurgien-Dentiste"null"Salarié""Salarié en poste fixe""Activité standard de soin ou d…
811380"10000070283""39784090100011"null"39784090100011""R10000002500225"2"Chirurgien-Dentiste"null"Salarié""Fonction non définie""Activité non soignante"
540586"10000086842""860012228""860012228""13001256000038""F860012228"2"Psychologue"null"Salarié""Salarié en poste fixe""Activité standard de soin ou d…
538572"10111123542""970400016""970400016""26974214400034""F970400016"2"Psychologue"null"Salarié""Salarié en poste fixe""Activité standard de soin ou d…
538882"10111252994""250006954""250006954""26250176000264""F250006954"2"Psychothérapeute"null"Salarié""Salarié en poste fixe""Activité standard de soin ou d…
2162932"10111252994""250006954""250006954""26250176000264""F250006954"2"Psychologue"null"Salarié""Salarié en poste fixe""Activité standard de soin ou d…
2163446"10111293121""490540218""490540218""77568873211159""F490540218"2"Infirmier"null"Salarié""Salarié en poste fixe""Activité standard de soin ou d…
2163447"10111293121""490540218""490540218""77568873211159""F490540218"2"Infirmier"null"Salarié""Cadre de santé de proximité""Activité non soignante"
" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 68 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:46:17.851427Z", + "start_time": "2025-08-19T22:46:17.796168Z" + } + }, + "cell_type": "code", + "source": [ + "df6.write_csv(f\"{folder}{output_file}-Multiple_Activities_Per_Site{output_extension}\",\n", + " separator='|',\n", + " quote_style=\"never\",\n", + " line_terminator='\\n')\n" + ], + "id": "6f7025a7c08b54b4", + "outputs": [], + "execution_count": 69 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:46:19.535052Z", + "start_time": "2025-08-19T22:46:18.015194Z" + } + }, + "cell_type": "code", + "source": [ + "%%time\n", + "df7 = (\n", + " df\n", + " .with_columns(\n", + " pd.col(\"Libellé profession\").n_unique().over(\"Identifiant PP\").alias(\"Profession_Count\")\n", + " )\n", + " .filter(pd.col(\"Profession_Count\") > 1)\n", + " .sort([\"Identifiant PP\", \"index\"])\n", + " .select([\n", + " \"index\",\n", + " \"Identifiant PP\",\n", + " \"Profession_Count\",\n", + " \"Libellé profession\",\n", + " \"Libellé savoir-faire\"\n", + " ])\n", + ")\n", + "df7\n" + ], + "id": "b18d9ba71ba63d9d", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 5.33 s\n", + "Wall time: 1.5 s\n" + ] + }, + { + "data": { + "text/plain": [ + "shape: (88_845, 5)\n", + "┌─────────┬────────────────┬──────────────────┬────────────────────┬──────────────────────┐\n", + "│ index ┆ Identifiant PP ┆ Profession_Count ┆ Libellé profession ┆ Libellé savoir-faire │\n", + "│ --- ┆ --- ┆ --- ┆ --- ┆ --- │\n", + "│ u32 ┆ str ┆ u32 ┆ str ┆ str │\n", + "╞═════════╪════════════════╪══════════════════╪════════════════════╪══════════════════════╡\n", + "│ 74 ┆ 10000013150 ┆ 2 ┆ Médecin ┆ Psychiatrie │\n", + "│ 269913 ┆ 10000013150 ┆ 2 ┆ Psychothérapeute ┆ null │\n", + "│ 1352840 ┆ 10000017979 ┆ 2 ┆ Ostéopathe ┆ null │\n", + "│ 1893982 ┆ 10000017979 ┆ 2 ┆ Sage-Femme ┆ null │\n", + "│ 811125 ┆ 10000029966 ┆ 2 ┆ Sage-Femme ┆ null │\n", + "│ … ┆ … ┆ … ┆ … ┆ … │\n", + "│ 1352396 ┆ 10111320304 ┆ 2 ┆ Psychothérapeute ┆ null │\n", + "│ 269545 ┆ 10111320379 ┆ 2 ┆ Psychothérapeute ┆ null │\n", + "│ 810601 ┆ 10111320379 ┆ 2 ┆ Psychologue ┆ null │\n", + "│ 539711 ┆ 10111321468 ┆ 2 ┆ Psychothérapeute ┆ null │\n", + "│ 1352414 ┆ 10111321468 ┆ 2 ┆ Psychologue ┆ null │\n", + "└─────────┴────────────────┴──────────────────┴────────────────────┴──────────────────────┘" + ], + "text/html": [ + "
\n", + "shape: (88_845, 5)
indexIdentifiant PPProfession_CountLibellé professionLibellé savoir-faire
u32stru32strstr
74"10000013150"2"Médecin""Psychiatrie"
269913"10000013150"2"Psychothérapeute"null
1352840"10000017979"2"Ostéopathe"null
1893982"10000017979"2"Sage-Femme"null
811125"10000029966"2"Sage-Femme"null
1352396"10111320304"2"Psychothérapeute"null
269545"10111320379"2"Psychothérapeute"null
810601"10111320379"2"Psychologue"null
539711"10111321468"2"Psychothérapeute"null
1352414"10111321468"2"Psychologue"null
" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 70 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-19T22:46:19.893214Z", + "start_time": "2025-08-19T22:46:19.851765Z" + } + }, + "cell_type": "code", + "source": [ + "df7.write_csv(f\"{folder}{output_file}-Multiple_Professions{output_extension}\",\n", + " separator='|',\n", + " quote_style=\"never\",\n", + " line_terminator='\\n')\n" + ], + "id": "85be468fd3f461d1", + "outputs": [], + "execution_count": 71 + } + ], + "metadata": { + "kernelspec": { + "name": "python3", + "language": "python", + "display_name": "Python 3 (ipykernel)" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Professionals_Multiple_Names2.ipynb b/Professionals_Multiple_Names2.ipynb new file mode 100644 index 0000000..14aa29b --- /dev/null +++ b/Professionals_Multiple_Names2.ipynb @@ -0,0 +1,465 @@ +{ + "cells": [ + { + "cell_type": "code", + "metadata": { + "tags": [], + "ExecuteTime": { + "end_time": "2025-08-12T19:54:05.652708Z", + "start_time": "2025-08-12T19:53:30.037989Z" + } + }, + "source": [ + "%%time\n", + "import pandas as pd\n", + "import csv\n", + "df = pd.read_csv(\"E:\\\\Ziwig Drive\\\\Ziwig Health\\\\Tables de Réf\\\\Professionnels\\\\Table_Réf_Professionnels_250804.txt\", sep='|',\n", + " doublequote=False, quoting=csv.QUOTE_NONE, dtype=str, na_values='', keep_default_na=False)\n", + "df.index.name = 'index'\n", + "df.columns" + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 35 s\n", + "Wall time: 35.6 s\n" + ] + }, + { + "data": { + "text/plain": [ + "Index(['Type d'identifiant PP', 'Identifiant PP',\n", + " 'Identification nationale PP', 'Code civilité d'exercice',\n", + " 'Libellé civilité d'exercice', 'Code civilité', 'Libellé civilité',\n", + " 'Nom d'exercice', 'Prénom d'exercice', 'Code profession',\n", + " 'Libellé profession', 'Code catégorie professionnelle',\n", + " 'Libellé catégorie professionnelle', 'Code type savoir-faire',\n", + " 'Libellé type savoir-faire', 'Code savoir-faire',\n", + " 'Libellé savoir-faire', 'Code mode exercice', 'Libellé mode exercice',\n", + " 'Numéro SIRET site', 'Numéro SIREN site', 'Numéro FINESS site',\n", + " 'Numéro FINESS établissement juridique',\n", + " 'Identifiant technique de la structure', 'Raison sociale site',\n", + " 'Enseigne commerciale site',\n", + " 'Complément destinataire (coord. structure)',\n", + " 'Complément point géographique (coord. structure)',\n", + " 'Numéro Voie (coord. structure)',\n", + " 'Indice répétition voie (coord. structure)',\n", + " 'Code type de voie (coord. structure)',\n", + " 'Libellé type de voie (coord. structure)',\n", + " 'Libellé Voie (coord. structure)',\n", + " 'Mention distribution (coord. structure)',\n", + " 'Bureau cedex (coord. structure)', 'Code postal (coord. structure)',\n", + " 'Code commune (coord. structure)', 'Libellé commune (coord. structure)',\n", + " 'Code pays (coord. structure)', 'Libellé pays (coord. structure)',\n", + " 'Téléphone (coord. structure)', 'Téléphone 2 (coord. structure)',\n", + " 'Télécopie (coord. structure)', 'Adresse e-mail (coord. structure)',\n", + " 'Code Département (structure)', 'Libellé Département (structure)',\n", + " 'Ancien identifiant de la structure', 'Autorité d'enregistrement',\n", + " 'Code secteur d'activité', 'Libellé secteur d'activité',\n", + " 'Code section tableau pharmaciens',\n", + " 'Libellé section tableau pharmaciens', 'Code rôle', 'Libellé rôle',\n", + " 'Code genre activité', 'Libellé genre activité', 'Unnamed: 56'],\n", + " dtype='object')" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 19 + }, + { + "cell_type": "code", + "metadata": { + "tags": [], + "ExecuteTime": { + "end_time": "2025-08-12T19:54:12.829107Z", + "start_time": "2025-08-12T19:54:05.751406Z" + } + }, + "source": [ + "%%time\n", + "df2 = df.assign(Nom_Prénom = df[\"Nom d'exercice\"]+\" \"+df[\"Prénom d'exercice\"]) \\\n", + " .groupby('Identifiant PP')[['Nom_Prénom']] \\\n", + " .transform('nunique').rename(columns={'Nom_Prénom' : 'Count'}).query('Count > 1') \\\n", + " .join(df)[['Identifiant PP','Count',\"Nom d'exercice\",\"Prénom d'exercice\"]] \\\n", + " .sort_values(['Identifiant PP', 'index'])\n", + "\n", + "df2" + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 6.81 s\n", + "Wall time: 7.06 s\n" + ] + }, + { + "data": { + "text/plain": [ + " Identifiant PP Count Nom d'exercice Prénom d'exercice\n", + "index \n", + "1350393 10000034180 2 DUWAT-GEORGES GHISLAINE\n", + "1350394 10000034180 2 GEORGES GHISLAINE\n", + "259 10000040062 2 MEYER Nicolas\n", + "260 10000040062 2 MEYER Nicolas\n", + "809702 10000040062 2 MEYER NICOLAS\n", + "... ... ... ... ...\n", + "2158383 10111077417 2 D'ELLOY FRANCETTE\n", + "537896 10111105358 2 HOMO Maddy\n", + "1889090 10111105358 2 Homo Maddy\n", + "537977 10111110721 2 ROCHEPEAU Nadège\n", + "2158797 10111110721 2 BARREAU Nadège\n", + "\n", + "[9059 rows x 4 columns]" + ], + "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", + "
Identifiant PPCountNom d'exercicePrénom d'exercice
index
1350393100000341802DUWAT-GEORGESGHISLAINE
1350394100000341802GEORGESGHISLAINE
259100000400622MEYERNicolas
260100000400622MEYERNicolas
809702100000400622MEYERNICOLAS
...............
2158383101110774172D'ELLOYFRANCETTE
537896101111053582HOMOMaddy
1889090101111053582HomoMaddy
537977101111107212ROCHEPEAUNadège
2158797101111107212BARREAUNadège
\n", + "

9059 rows × 4 columns

\n", + "
" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 20 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-12T19:54:13.114103Z", + "start_time": "2025-08-12T19:54:13.063080Z" + } + }, + "cell_type": "code", + "source": [ + "df2.to_csv(\"E:\\\\Ziwig Drive\\\\Ziwig Health\\\\Tables de Réf\\\\Professionnels\\\\Table_Réf_Professionnels_250804_Multiple_Names_2-1.csv\",\n", + " sep='|', index=True, doublequote=False, quoting=csv.QUOTE_NONE, lineterminator='\\n')" + ], + "outputs": [], + "execution_count": 21 + }, + { + "cell_type": "code", + "metadata": { + "tags": [], + "ExecuteTime": { + "end_time": "2025-08-12T19:54:20.671679Z", + "start_time": "2025-08-12T19:54:13.377047Z" + } + }, + "source": [ + "%%time\n", + "df3 = df.assign(Nom_Prénom = df[\"Nom d'exercice\"].str.lower()+\" \"+df[\"Prénom d'exercice\"].str.lower()) \\\n", + " .groupby('Identifiant PP')[['Nom_Prénom']] \\\n", + " .transform('nunique').rename(columns={'Nom_Prénom' : 'Count'}).query('Count > 1') \\\n", + " .join(df)[['Identifiant PP','Count',\"Nom d'exercice\",\"Prénom d'exercice\"]] \\\n", + " .sort_values(['Identifiant PP', 'index'])\n", + "df3" + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 6.97 s\n", + "Wall time: 7.28 s\n" + ] + }, + { + "data": { + "text/plain": [ + " Identifiant PP Count Nom d'exercice Prénom d'exercice\n", + "index \n", + "1350393 10000034180 2 DUWAT-GEORGES GHISLAINE\n", + "1350394 10000034180 2 GEORGES GHISLAINE\n", + "1350470 10000046051 2 STUDER AGNES\n", + "1620048 10000046051 2 JURION AGNES\n", + "269964 10000101518 2 BARREYRE SANDRINE\n", + "... ... ... ... ...\n", + "1617156 10110987236 2 ROGIER MATHILDE\n", + "807882 10111077417 2 DOUVIER FRANCETTE\n", + "2158383 10111077417 2 D'ELLOY FRANCETTE\n", + "537977 10111110721 2 ROCHEPEAU Nadège\n", + "2158797 10111110721 2 BARREAU Nadège\n", + "\n", + "[5395 rows x 4 columns]" + ], + "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", + "
Identifiant PPCountNom d'exercicePrénom d'exercice
index
1350393100000341802DUWAT-GEORGESGHISLAINE
1350394100000341802GEORGESGHISLAINE
1350470100000460512STUDERAGNES
1620048100000460512JURIONAGNES
269964100001015182BARREYRESANDRINE
...............
1617156101109872362ROGIERMATHILDE
807882101110774172DOUVIERFRANCETTE
2158383101110774172D'ELLOYFRANCETTE
537977101111107212ROCHEPEAUNadège
2158797101111107212BARREAUNadège
\n", + "

5395 rows × 4 columns

\n", + "
" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 22 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-12T19:54:21.102182Z", + "start_time": "2025-08-12T19:54:21.072806Z" + } + }, + "cell_type": "code", + "source": [ + "df3.to_csv(\"E:\\\\Ziwig Drive\\\\Ziwig Health\\\\Tables de Réf\\\\Professionnels\\\\Table_Réf_Professionnels_250804_Multiple_Names_2-2.csv\",\n", + " sep='|', index=True, doublequote=False, quoting=csv.QUOTE_NONE, lineterminator='\\n')" + ], + "outputs": [], + "execution_count": 23 + } + ], + "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.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Professionals_Multiple_Names3.ipynb b/Professionals_Multiple_Names3.ipynb new file mode 100644 index 0000000..4e43354 --- /dev/null +++ b/Professionals_Multiple_Names3.ipynb @@ -0,0 +1,439 @@ +{ + "cells": [ + { + "cell_type": "code", + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "ExecuteTime": { + "end_time": "2025-08-11T22:50:03.135959Z", + "start_time": "2025-08-11T22:49:26.824618Z" + } + }, + "source": [ + "%%time\n", + "import pandas as pd\n", + "import csv\n", + "df = pd.read_csv(\"E:\\\\Ziwig Drive\\\\Ziwig Health\\\\Tables de Réf\\\\Professionnels\\\\Table_Réf_Professionnels_250804.txt\",\n", + " sep='|', doublequote=False, quoting=csv.QUOTE_NONE, dtype=str, na_values='', keep_default_na=False)\n", + "df.index.name = 'index'\n", + "df.columns" + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 35.9 s\n", + "Wall time: 36.3 s\n" + ] + }, + { + "data": { + "text/plain": [ + "Index(['Type d'identifiant PP', 'Identifiant PP',\n", + " 'Identification nationale PP', 'Code civilité d'exercice',\n", + " 'Libellé civilité d'exercice', 'Code civilité', 'Libellé civilité',\n", + " 'Nom d'exercice', 'Prénom d'exercice', 'Code profession',\n", + " 'Libellé profession', 'Code catégorie professionnelle',\n", + " 'Libellé catégorie professionnelle', 'Code type savoir-faire',\n", + " 'Libellé type savoir-faire', 'Code savoir-faire',\n", + " 'Libellé savoir-faire', 'Code mode exercice', 'Libellé mode exercice',\n", + " 'Numéro SIRET site', 'Numéro SIREN site', 'Numéro FINESS site',\n", + " 'Numéro FINESS établissement juridique',\n", + " 'Identifiant technique de la structure', 'Raison sociale site',\n", + " 'Enseigne commerciale site',\n", + " 'Complément destinataire (coord. structure)',\n", + " 'Complément point géographique (coord. structure)',\n", + " 'Numéro Voie (coord. structure)',\n", + " 'Indice répétition voie (coord. structure)',\n", + " 'Code type de voie (coord. structure)',\n", + " 'Libellé type de voie (coord. structure)',\n", + " 'Libellé Voie (coord. structure)',\n", + " 'Mention distribution (coord. structure)',\n", + " 'Bureau cedex (coord. structure)', 'Code postal (coord. structure)',\n", + " 'Code commune (coord. structure)', 'Libellé commune (coord. structure)',\n", + " 'Code pays (coord. structure)', 'Libellé pays (coord. structure)',\n", + " 'Téléphone (coord. structure)', 'Téléphone 2 (coord. structure)',\n", + " 'Télécopie (coord. structure)', 'Adresse e-mail (coord. structure)',\n", + " 'Code Département (structure)', 'Libellé Département (structure)',\n", + " 'Ancien identifiant de la structure', 'Autorité d'enregistrement',\n", + " 'Code secteur d'activité', 'Libellé secteur d'activité',\n", + " 'Code section tableau pharmaciens',\n", + " 'Libellé section tableau pharmaciens', 'Code rôle', 'Libellé rôle',\n", + " 'Code genre activité', 'Libellé genre activité', 'Unnamed: 56'],\n", + " dtype='object')" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 38 + }, + { + "cell_type": "code", + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "ExecuteTime": { + "end_time": "2025-08-11T22:53:55.986443Z", + "start_time": "2025-08-11T22:50:03.157898Z" + } + }, + "source": [ + "%%time\n", + "df2 = df.assign(Nom_Prénom = df[\"Nom d'exercice\"]+\" \"+df[\"Prénom d'exercice\"]) \\\n", + " [['Identifiant PP','Nom_Prénom',\"Nom d'exercice\",\"Prénom d'exercice\"]] \\\n", + " .groupby('Identifiant PP') \\\n", + " .filter(lambda f: f['Nom_Prénom'].nunique()>1) \\\n", + " .sort_values(['Identifiant PP','index']) \\\n", + " [['Identifiant PP',\"Nom d'exercice\",\"Prénom d'exercice\"]]\n", + "df2" + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 3min 44s\n", + "Wall time: 3min 52s\n" + ] + }, + { + "data": { + "text/plain": [ + " Identifiant PP Nom d'exercice Prénom d'exercice\n", + "index \n", + "1350393 10000034180 DUWAT-GEORGES GHISLAINE\n", + "1350394 10000034180 GEORGES GHISLAINE\n", + "259 10000040062 MEYER Nicolas\n", + "260 10000040062 MEYER Nicolas\n", + "809702 10000040062 MEYER NICOLAS\n", + "... ... ... ...\n", + "2158383 10111077417 D'ELLOY FRANCETTE\n", + "537896 10111105358 HOMO Maddy\n", + "1889090 10111105358 Homo Maddy\n", + "537977 10111110721 ROCHEPEAU Nadège\n", + "2158797 10111110721 BARREAU Nadège\n", + "\n", + "[9059 rows x 3 columns]" + ], + "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", + "
Identifiant PPNom d'exercicePrénom d'exercice
index
135039310000034180DUWAT-GEORGESGHISLAINE
135039410000034180GEORGESGHISLAINE
25910000040062MEYERNicolas
26010000040062MEYERNicolas
80970210000040062MEYERNICOLAS
............
215838310111077417D'ELLOYFRANCETTE
53789610111105358HOMOMaddy
188909010111105358HomoMaddy
53797710111110721ROCHEPEAUNadège
215879710111110721BARREAUNadège
\n", + "

9059 rows × 3 columns

\n", + "
" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 39 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-11T22:53:56.801020Z", + "start_time": "2025-08-11T22:53:56.699295Z" + } + }, + "cell_type": "code", + "source": "df2.to_csv(\"E:\\\\Ziwig Drive\\\\Ziwig Health\\\\Tables de Réf\\\\Professionnels\\\\Table_Réf_Professionnels_250804_Multiple_Names_3-1.csv\", sep='|', index=True, doublequote=False, quoting=csv.QUOTE_NONE, lineterminator='\\n')", + "outputs": [], + "execution_count": 40 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-11T22:57:28.643070Z", + "start_time": "2025-08-11T22:53:56.870889Z" + } + }, + "cell_type": "code", + "source": [ + "%%time\n", + "df3 = df.assign(Nom_Prénom = df[\"Nom d'exercice\"].str.lower()+\" \"+df[\"Prénom d'exercice\"].str.lower()) \\\n", + " [['Identifiant PP','Nom_Prénom',\"Nom d'exercice\",\"Prénom d'exercice\"]] \\\n", + " .groupby('Identifiant PP') \\\n", + " .filter(lambda f: f['Nom_Prénom'].nunique()>1) \\\n", + " .sort_values(['Identifiant PP','index']) \\\n", + " [['Identifiant PP',\"Nom d'exercice\",\"Prénom d'exercice\"]]\n", + "df3" + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 3min 26s\n", + "Wall time: 3min 31s\n" + ] + }, + { + "data": { + "text/plain": [ + " Identifiant PP Nom d'exercice Prénom d'exercice\n", + "index \n", + "1350393 10000034180 DUWAT-GEORGES GHISLAINE\n", + "1350394 10000034180 GEORGES GHISLAINE\n", + "1350470 10000046051 STUDER AGNES\n", + "1620048 10000046051 JURION AGNES\n", + "269964 10000101518 BARREYRE SANDRINE\n", + "... ... ... ...\n", + "1617156 10110987236 ROGIER MATHILDE\n", + "807882 10111077417 DOUVIER FRANCETTE\n", + "2158383 10111077417 D'ELLOY FRANCETTE\n", + "537977 10111110721 ROCHEPEAU Nadège\n", + "2158797 10111110721 BARREAU Nadège\n", + "\n", + "[5395 rows x 3 columns]" + ], + "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", + "
Identifiant PPNom d'exercicePrénom d'exercice
index
135039310000034180DUWAT-GEORGESGHISLAINE
135039410000034180GEORGESGHISLAINE
135047010000046051STUDERAGNES
162004810000046051JURIONAGNES
26996410000101518BARREYRESANDRINE
............
161715610110987236ROGIERMATHILDE
80788210111077417DOUVIERFRANCETTE
215838310111077417D'ELLOYFRANCETTE
53797710111110721ROCHEPEAUNadège
215879710111110721BARREAUNadège
\n", + "

5395 rows × 3 columns

\n", + "
" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 41 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-08-11T22:57:29.038232Z", + "start_time": "2025-08-11T22:57:29.014447Z" + } + }, + "cell_type": "code", + "source": "df3.to_csv(\"E:\\\\Ziwig Drive\\\\Ziwig Health\\\\Tables de Réf\\\\Professionnels\\\\Table_Réf_Professionnels_250804_Multiple_Names_3-2.csv\", sep='|', index=True, doublequote=False, quoting=csv.QUOTE_NONE, lineterminator='\\n')", + "outputs": [], + "execution_count": 42 + } + ], + "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.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Professionals_Sort.ipynb b/Professionals_Sort.ipynb new file mode 100644 index 0000000..905ac95 --- /dev/null +++ b/Professionals_Sort.ipynb @@ -0,0 +1,140 @@ +{ + "cells": [ + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "import csv\n", + "filename = 'Table_Réf_Professionnels_250815'\n", + "df = pd.read_csv(\"E:\\\\Ziwig Drive\\\\Ziwig Health\\\\Tables de Réf\\\\Professionnels\\\\\"+filename+\".csv\", sep='|', doublequote=False, quoting=csv.QUOTE_NONE,dtype=str, na_values='', keep_default_na=False)\n", + "df.columns" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-08-16T01:35:13.352289Z", + "start_time": "2025-08-16T01:34:58.550068Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Type d'identifiant PP', 'Identifiant PP',\n", + " 'Identification nationale PP', 'Code civilité d'exercice',\n", + " 'Libellé civilité d'exercice', 'Code civilité', 'Libellé civilité',\n", + " 'Nom d'exercice', 'Prénom d'exercice', 'Code profession',\n", + " 'Libellé profession', 'Code catégorie professionnelle',\n", + " 'Libellé catégorie professionnelle', 'Code type savoir-faire',\n", + " 'Libellé type savoir-faire', 'Code savoir-faire',\n", + " 'Libellé savoir-faire', 'Code mode exercice', 'Libellé mode exercice',\n", + " 'Numéro SIRET site', 'Numéro SIREN site', 'Numéro FINESS site',\n", + " 'Numéro FINESS établissement juridique',\n", + " 'Identifiant technique de la structure', 'Raison sociale site',\n", + " 'Enseigne commerciale site',\n", + " 'Complément destinataire (coord. structure)',\n", + " 'Complément point géographique (coord. structure)',\n", + " 'Numéro Voie (coord. structure)',\n", + " 'Indice répétition voie (coord. structure)',\n", + " 'Code type de voie (coord. structure)',\n", + " 'Libellé type de voie (coord. structure)',\n", + " 'Libellé Voie (coord. structure)',\n", + " 'Mention distribution (coord. structure)',\n", + " 'Bureau cedex (coord. structure)', 'Code postal (coord. structure)',\n", + " 'Code commune (coord. structure)', 'Libellé commune (coord. structure)',\n", + " 'Code pays (coord. structure)', 'Libellé pays (coord. structure)',\n", + " 'Téléphone (coord. structure)', 'Téléphone 2 (coord. structure)',\n", + " 'Télécopie (coord. structure)', 'Adresse e-mail (coord. structure)',\n", + " 'Code Département (structure)', 'Libellé Département (structure)',\n", + " 'Ancien identifiant de la structure', 'Autorité d'enregistrement',\n", + " 'Code secteur d'activité', 'Libellé secteur d'activité',\n", + " 'Code section tableau pharmaciens',\n", + " 'Libellé section tableau pharmaciens', 'Code rôle', 'Libellé rôle',\n", + " 'Code genre activité', 'Libellé genre activité', 'Unnamed: 56'],\n", + " dtype='object')" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 1 + }, + { + "cell_type": "code", + "source": [ + "df.shape" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-08-16T01:35:13.450995Z", + "start_time": "2025-08-16T01:35:13.442103Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(994582, 57)" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 2 + }, + { + "cell_type": "code", + "source": [ + "df_sorted = df.sort_values([\"Identifiant PP\", \"Nom d'exercice\", \"Prénom d'exercice\", 'Libellé profession', 'Libellé savoir-faire', 'Bureau cedex (coord. structure)', 'Numéro Voie (coord. structure)', 'Indice répétition voie (coord. structure)', 'Libellé type de voie (coord. structure)', 'Libellé Voie (coord. structure)' , 'Mention distribution (coord. structure)', 'Téléphone (coord. structure)'])" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-08-16T01:35:20.312959Z", + "start_time": "2025-08-16T01:35:13.656674Z" + } + }, + "outputs": [], + "execution_count": 3 + }, + { + "cell_type": "code", + "source": "df_sorted.to_csv(\"E:\\\\Ziwig Drive\\\\Ziwig Health\\\\Tables de Réf\\\\Professionnels\\\\\"+filename+\"-sorted.csv\", sep='|', index=False, doublequote=False, quoting=csv.QUOTE_NONE, lineterminator='\\n')", + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2025-08-16T01:35:34.463854Z", + "start_time": "2025-08-16T01:35:20.454076Z" + } + }, + "outputs": [], + "execution_count": 4 + } + ], + "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.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Resendo.ipynb b/Resendo.ipynb new file mode 100644 index 0000000..a78fa2d --- /dev/null +++ b/Resendo.ipynb @@ -0,0 +1,210 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "df = pd.read_excel(\"G:\\Mon Drive\\Ziwig-Health\\Data\\Extract_Prof_Patient_List.xlsx\", header=3)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "text/plain": "(7728, 9)" + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "timedDf = df.set_index('createdAt')" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "timedDf['count']=True" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "timedDf['NonStarted']=1-timedDf['isStartMedicalRecord'].astype(int)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "timedDf['NonFinished']=1-timedDf['isFinishMedicalRecord'].astype(int)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "timedDf=timedDf.loc[:, ['isStartMedicalRecord','isFinishMedicalRecord','count','NonStarted','NonFinished']]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [], + "source": [ + "timedDfMonthly = timedDf.resample('M')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "data": { + "text/plain": " isStartMedicalRecord isFinishMedicalRecord count NonStarted \\\ncreatedAt \n2020-11-30 2 2 2 0 \n2020-12-31 3 3 3 0 \n2021-01-31 21 21 21 0 \n2021-02-28 10 10 10 0 \n2021-03-31 348 323 404 56 \n2021-04-30 602 559 712 110 \n2021-05-31 511 465 622 111 \n2021-06-30 406 372 503 97 \n2021-07-31 426 398 498 72 \n2021-08-31 429 393 528 99 \n2021-09-30 561 517 677 116 \n2021-10-31 580 539 696 116 \n2021-11-30 453 416 557 104 \n2021-12-31 480 447 608 128 \n2022-01-31 608 562 786 178 \n2022-02-28 544 502 704 160 \n2022-03-31 286 255 397 111 \n\n NonFinished \ncreatedAt \n2020-11-30 0 \n2020-12-31 0 \n2021-01-31 0 \n2021-02-28 0 \n2021-03-31 81 \n2021-04-30 153 \n2021-05-31 157 \n2021-06-30 131 \n2021-07-31 100 \n2021-08-31 135 \n2021-09-30 160 \n2021-10-31 157 \n2021-11-30 141 \n2021-12-31 161 \n2022-01-31 224 \n2022-02-28 202 \n2022-03-31 142 ", + "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
isStartMedicalRecordisFinishMedicalRecordcountNonStartedNonFinished
createdAt
2020-11-3022200
2020-12-3133300
2021-01-3121212100
2021-02-2810101000
2021-03-313483234045681
2021-04-30602559712110153
2021-05-31511465622111157
2021-06-3040637250397131
2021-07-3142639849872100
2021-08-3142939352899135
2021-09-30561517677116160
2021-10-31580539696116157
2021-11-30453416557104141
2021-12-31480447608128161
2022-01-31608562786178224
2022-02-28544502704160202
2022-03-31286255397111142
\n
" + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "timedDfMonthly.sum()" + ] + } + ], + "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.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} \ No newline at end of file diff --git a/Resendo2.ipynb b/Resendo2.ipynb new file mode 100644 index 0000000..7e21ad2 --- /dev/null +++ b/Resendo2.ipynb @@ -0,0 +1,163 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "pycharm": { + "name": "#%%\n" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 5.89 s\n", + "Wall time: 6.14 s\n" + ] + }, + { + "data": { + "text/plain": "(31371, 9)" + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%time\n", + "import pandas as pd\n", + "df = pd.read_excel(\"G:\\Mon Drive\\Ziwig-Health\\Data\\Extract_Prof_Patient_List_new.xlsx\", header=2)\n", + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 46.9 ms\n", + "Wall time: 49.9 ms\n" + ] + }, + { + "data": { + "text/plain": "isStartMedicalRecord False True \nisFinishMedicalRecord False False True\ncreatedAt \n2020-11-30 169 9 78\n2020-12-31 226 16 147\n2021-01-31 149 388 842\n2021-02-28 238 164 606\n2021-03-31 652 453 2262\n2021-04-30 250 118 1141\n2021-05-31 269 144 1106\n2021-06-30 283 150 1012\n2021-07-31 227 127 883\n2021-08-31 196 111 912\n2021-09-30 223 142 1254\n2021-10-31 224 112 1176\n2021-11-30 229 110 988\n2021-12-31 466 111 925\n2022-01-31 753 287 1766\n2022-02-28 1095 549 2362\n2022-03-31 520 176 1242\n2022-04-30 395 125 849\n2022-05-31 363 99 771\n2022-06-30 233 65 433", + "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
isStartMedicalRecordFalseTrue
isFinishMedicalRecordFalseFalseTrue
createdAt
2020-11-30169978
2020-12-3122616147
2021-01-31149388842
2021-02-28238164606
2021-03-316524532262
2021-04-302501181141
2021-05-312691441106
2021-06-302831501012
2021-07-31227127883
2021-08-31196111912
2021-09-302231421254
2021-10-312241121176
2021-11-30229110988
2021-12-31466111925
2022-01-317532871766
2022-02-2810955492362
2022-03-315201761242
2022-04-30395125849
2022-05-3136399771
2022-06-3023365433
\n
" + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%time\n", + "pd.pivot_table(data = df, index=pd.Grouper(key=\"createdAt\", freq=\"M\"), columns=[\"isStartMedicalRecord\",\"isFinishMedicalRecord\"], values=\"fullName\", aggfunc=\"count\", fill_value= 0)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 46.9 ms\n", + "Wall time: 46.9 ms\n" + ] + }, + { + "data": { + "text/plain": "isStartMedicalRecord False True\ncreatedAt \n2020-11-30 169 87\n2020-12-31 226 163\n2021-01-31 149 1230\n2021-02-28 238 770\n2021-03-31 652 2715\n2021-04-30 250 1259\n2021-05-31 269 1250\n2021-06-30 283 1162\n2021-07-31 227 1010\n2021-08-31 196 1023\n2021-09-30 223 1396\n2021-10-31 224 1288\n2021-11-30 229 1098\n2021-12-31 466 1036\n2022-01-31 753 2053\n2022-02-28 1095 2911\n2022-03-31 520 1418\n2022-04-30 395 974\n2022-05-31 363 870\n2022-06-30 233 498", + "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
isStartMedicalRecordFalseTrue
createdAt
2020-11-3016987
2020-12-31226163
2021-01-311491230
2021-02-28238770
2021-03-316522715
2021-04-302501259
2021-05-312691250
2021-06-302831162
2021-07-312271010
2021-08-311961023
2021-09-302231396
2021-10-312241288
2021-11-302291098
2021-12-314661036
2022-01-317532053
2022-02-2810952911
2022-03-315201418
2022-04-30395974
2022-05-31363870
2022-06-30233498
\n
" + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%time\n", + "pd.pivot_table(data = df, index=pd.Grouper(key=\"createdAt\", freq=\"M\"), columns=[\"isStartMedicalRecord\"], values=\"fullName\", aggfunc=\"count\", fill_value=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false, + "jupyter": { + "outputs_hidden": false + }, + "pycharm": { + "name": "#%%\n" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: total: 62.5 ms\n", + "Wall time: 58.8 ms\n" + ] + }, + { + "data": { + "text/plain": "isFinishMedicalRecord False True\ncreatedAt \n2020-11-30 178 78\n2020-12-31 242 147\n2021-01-31 537 842\n2021-02-28 402 606\n2021-03-31 1105 2262\n2021-04-30 368 1141\n2021-05-31 413 1106\n2021-06-30 433 1012\n2021-07-31 354 883\n2021-08-31 307 912\n2021-09-30 365 1254\n2021-10-31 336 1176\n2021-11-30 339 988\n2021-12-31 577 925\n2022-01-31 1040 1766\n2022-02-28 1644 2362\n2022-03-31 696 1242\n2022-04-30 520 849\n2022-05-31 462 771\n2022-06-30 298 433", + "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
isFinishMedicalRecordFalseTrue
createdAt
2020-11-3017878
2020-12-31242147
2021-01-31537842
2021-02-28402606
2021-03-3111052262
2021-04-303681141
2021-05-314131106
2021-06-304331012
2021-07-31354883
2021-08-31307912
2021-09-303651254
2021-10-313361176
2021-11-30339988
2021-12-31577925
2022-01-3110401766
2022-02-2816442362
2022-03-316961242
2022-04-30520849
2022-05-31462771
2022-06-30298433
\n
" + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%time\n", + "pd.pivot_table(data = df, index=pd.Grouper(key=\"createdAt\", freq=\"M\"), columns=[\"isFinishMedicalRecord\"], values=\"fullName\", aggfunc=\"count\", fill_value=0)" + ] + } + ], + "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.8.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} \ No newline at end of file diff --git a/Table_Réf_Professionnels - Copie.xlsx b/Table_Réf_Professionnels - Copie.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c7007a3b6d3fcf41b6b9ec9321ab301b5c900169 GIT binary patch literal 73492 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

uS<*D~b;Fu9$+*w!Y0|XJgmsDEz(2h5Hmmu0 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 c_vrRtEe{TuD!<^;TQMK46|%>orAf~ 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℞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