diff --git "a/1_datasets/haiti_catalog_cleaned_data/A\303\251roport_cleaned.csv" "b/1_datasets/haiti_catalog_cleaned_data/A\303\251roport_cleaned.csv"
new file mode 100644
index 0000000..6268033
--- /dev/null
+++ "b/1_datasets/haiti_catalog_cleaned_data/A\303\251roport_cleaned.csv"
@@ -0,0 +1,6 @@
+Type,name,Commune,Department,Region,GPS_Lat,GPS_Lon,Telephone,Email,Site_web,Ownership,Maturity,Notes,Included
+Aéroport,Toussaint Louverture International (PAP),Tabarre,Ouest,National,18.579964,-72.292542,+509 48 94 3000,info@aan.gouv.ht,https://aan.gouv.ht,Gouvernement haïtien,Opérationnel,Hub principal international,
+Aéroport,Cap-Haïtien International (CAP),Cap-Haïtien,Nord,Nord,19.7329,-72.1948,+509 22 62 05 07,,https://aan.gouv.ht,Gouvernement haïtien,Opérationnel,Accès principal au Nord,
+Aéroport,Antoine-Simon (CYA),Les Cayes,Sud,Sud,18.270833,-73.7875,,,,Gouvernement haïtien,Opérationnel,Aéroport régional Sud,
+Aéroport,Port-Salut (PAX),Port-Salut,Sud,Sud,18.064167,-73.912222,,,,Gouvernement haïtien,Opérationnel,Proche grottes Sud,
+Aéroport,Jérémie (JEE),Jérémie,Grand-Anse,Grand-Anse,18.65,-74.133333,,,,Gouvernement haïtien,Opérationnel,Accès Sud-Ouest,
diff --git a/1_datasets/haiti_catalog_cleaned_data/Canyon_cleaned.csv b/1_datasets/haiti_catalog_cleaned_data/Canyon_cleaned.csv
new file mode 100644
index 0000000..0e3b8e4
--- /dev/null
+++ b/1_datasets/haiti_catalog_cleaned_data/Canyon_cleaned.csv
@@ -0,0 +1,4 @@
+Type,name,Commune,Department,Region,GPS_Lat,GPS_Lon,Telephone,Email,Site_web,Ownership,Maturity,Notes,Included
+Canyon,Canyon Casse-Cou,Les Platons,Sud,Sud,18.31,-73.94,,contact@tourisme.gouv.ht,,Ministère du Tourisme,Opérationnel,Canyon aventure, via ferrata
+Canyon,Ravine Blanche,Gros Morne,Sud,Sud,18.319,-73.9466,,contact@tourisme.gouv.ht,,Ministère du Tourisme,Opérationnel,Ravine avec bassins,
+Canyon,Tête l’Acul,Sud,Sud,18.320000,-73.93,,contact@tourisme.gouv.ht,,Ministère du Tourisme,Opérationnel,Canyon escarpé,,
diff --git a/1_datasets/haiti_catalog_cleaned_data/Grotte_cleaned.csv b/1_datasets/haiti_catalog_cleaned_data/Grotte_cleaned.csv
new file mode 100644
index 0000000..14958d0
--- /dev/null
+++ b/1_datasets/haiti_catalog_cleaned_data/Grotte_cleaned.csv
@@ -0,0 +1,8 @@
+Type,name,Commune,Department,Region,GPS_Lat,GPS_Lon,Telephone,Email,Site_web,Ownership,Maturity,Notes,Included
+Grotte,Grotte Marie-Jeanne,Port-à-Piment,Sud,Sud,18.25,-73.85,,contact@tourisme.gouv.ht,,Ministère du Tourisme,Opérationnel,Plus grande grotte Haïti, spéléo guidée
+Grotte,Grotte Goudron,Port-à-Piment,Sud,Sud,18.25,-74.09,,contact@tourisme.gouv.ht,,Ministère du Tourisme,Opérationnel,Grotte avec formations karstiques,
+Grotte,Grande Grotte,Port-à-Piment,Sud,Sud,18.25225,-74.095383,,contact@tourisme.gouv.ht,,Ministère du Tourisme,Opérationnel,Grotte majeure, cascades internes
+Grotte,Trou Zombi,Chantal,Sud,Sud,18.3,-73.87,,contact@tourisme.gouv.ht,,Ministère du Tourisme,Opérationnel,Grotte mythique vodou,
+Grotte,Grotte Soulas,Camp-Perrin,Sud,Sud,18.303944,-73.870121,,contact@tourisme.gouv.ht,,Ministère du Tourisme,Opérationnel,Accès randonnée,
+Grotte,Grotte Kounoubwa,Camp-Perrin,Sud,Sud,18.3,-73.87,,contact@tourisme.gouv.ht,,Ministère du Tourisme,Opérationnel,Système karstique étendu,
+Grotte,Grotte Geffrard,Maniche,Sud,Sud,18.394,-73.8,,contact@tourisme.gouv.ht,,Ministère du Tourisme,Moyen terme,Grotte spirituelle,
diff --git "a/1_datasets/haiti_catalog_cleaned_data/H\303\264tel_cleaned.csv" "b/1_datasets/haiti_catalog_cleaned_data/H\303\264tel_cleaned.csv"
new file mode 100644
index 0000000..aa3f4c6
--- /dev/null
+++ "b/1_datasets/haiti_catalog_cleaned_data/H\303\264tel_cleaned.csv"
@@ -0,0 +1,17 @@
+Type,Nom,Commune,Département,Région,GPS_Lat,GPS_Lon,Téléphone,Email,Site_web,Propriétaire,Maturité,Notes,Column1
+Plage,Cormier Plage,Limonade,Nord,Nord,19.7498,-72.2296,+509 37 02 02 10,booking@cormierhaiti.com,,Mixte (hôtel/public),Opérationnel,Plage sable blanc, accès hôtel
+Plage,Labadie Beaches (Royal Caribbean),Labadie,Nord,Nord,19.785,-72.248,+1 800 933 2121,,https://royalcaribbean.com,Privé (Royal Caribbean),Opérationnel,Excursions croisières,
+Plage,Chouchou Baie,Port-Margot,Nord,Nord,19.702,-72.6,,,,Publique,Opérationnel,Baie isolée, snorkeling
+Plage,M&M Beach (Camp Louise),Acul-du-Nord,Nord,Nord,19.7,-72.65,+509 37 51 67 59,mmbeachresort@yahoo.fr,,Privé,Court terme,Resort plage,
+Plage,Plage de Limonade (historique),Limonade,Nord,Nord,19.65,-72.1,,,,Publique,Opérationnel,Site historique libération,
+Plage,Pilote Beach,Cap-Haïtien,Nord,Nord,19.76,-72.2,,,,Publique,Opérationnel,Plage locale,
+Plage,Cannon Beach,Labadie,Nord,Nord,19.78,-72.24,,,,Publique,Opérationnel,Proche Labadie,
+Plage,Bercy Beach,Cap-Haïtien,Nord,Nord,19.75,-72.22,,,,Publique,Moyen terme,Plage tranquille,
+Plage,Sainte-Suzanne Beach,Sainte-Suzanne,Nord,Nord,19.65,-72.1,,,,Publique,Opérationnel,Près pétroglyphes,
+Plage,Fort Saint-Michel Beach,Cap-Haïtien,Nord,Nord,19.77,-72.19,,,,Publique,Opérationnel,Site fortifié,
+Plage,,Limonade,,,19.75,-72.23,,booking@cormierhaiti.com,,,,, lagune turquoise
+Plage,,Labadie,,,19.783,-72.25,,,Prive/Publique,,,,
+Plage,,Labadie,,,19.783,-72.25,,info@dhaloobeach.com,https://royalcaribbean.com,,,, snorkeling
+Plage,,Port-Margot,,,19.7,-72.6,,,Publique,,,,
+Plage,,Acul-du-Nord,,,19.7,-72.65,,mmbeachresort@yahoo.fr,,,,, services
+Plage,,Limonade,,,19.65,-72.1,,,Publique,,,,
diff --git a/1_datasets/haiti_catalog_cleaned_data/Plage_cleaned.csv b/1_datasets/haiti_catalog_cleaned_data/Plage_cleaned.csv
new file mode 100644
index 0000000..899bbd9
--- /dev/null
+++ b/1_datasets/haiti_catalog_cleaned_data/Plage_cleaned.csv
@@ -0,0 +1,17 @@
+Type,name,Commune,Department,Region,GPS_Lat,GPS_Lon,Telephone,Email,Site_web,Ownership,Maturity,Notes,Included
+Plage,Cormier Plage,Limonade,Nord,Nord,19.7498,-72.2296,+509 37 02 02 10,booking@cormierhaiti.com,,Mixte (hôtel/public),Opérationnel,Plage sable blanc, accès hôtel
+Plage,Labadie Beaches (Royal Caribbean),Labadie,Nord,Nord,19.785,-72.248,+1 800 933 2121,,https://royalcaribbean.com,Privé (Royal Caribbean),Opérationnel,Excursions croisières,
+Plage,Chouchou Baie,Port-Margot,Nord,Nord,19.702,-72.6,,,,Publique,Opérationnel,Baie isolée, snorkeling
+Plage,M&M Beach (Camp Louise),Acul-du-Nord,Nord,Nord,19.7,-72.65,+509 37 51 67 59,mmbeachresort@yahoo.fr,,Privé,Court terme,Resort plage,
+Plage,Plage de Limonade (historique),Limonade,Nord,Nord,19.65,-72.1,,,,Publique,Opérationnel,Site historique libération,
+Plage,Pilote Beach,Cap-Haïtien,Nord,Nord,19.76,-72.2,,,,Publique,Opérationnel,Plage locale,
+Plage,Cannon Beach,Labadie,Nord,Nord,19.78,-72.24,,,,Publique,Opérationnel,Proche Labadie,
+Plage,Bercy Beach,Cap-Haïtien,Nord,Nord,19.75,-72.22,,,,Publique,Moyen terme,Plage tranquille,
+Plage,Sainte-Suzanne Beach,Sainte-Suzanne,Nord,Nord,19.65,-72.1,,,,Publique,Opérationnel,Près pétroglyphes,
+Plage,Fort Saint-Michel Beach,Cap-Haïtien,Nord,Nord,19.77,-72.19,,,,Publique,Opérationnel,Site fortifié,
+Plage,,Limonade,,,19.75,-72.23,,booking@cormierhaiti.com,,,,, lagune turquoise
+Plage,,Labadie,,,19.783,-72.25,,,Prive/Publique,,,,
+Plage,,Labadie,,,19.783,-72.25,,info@dhaloobeach.com,https://royalcaribbean.com,,,, snorkeling
+Plage,,Port-Margot,,,19.7,-72.6,,,Publique,,,,
+Plage,,Acul-du-Nord,,,19.7,-72.65,,mmbeachresort@yahoo.fr,,,,, services
+Plage,,Limonade,,,19.65,-72.1,,,Publique,,,,
diff --git a/1_datasets/haiti_catalog_cleaned_data/Site_Culturel_cleaned.csv b/1_datasets/haiti_catalog_cleaned_data/Site_Culturel_cleaned.csv
new file mode 100644
index 0000000..66585f8
--- /dev/null
+++ b/1_datasets/haiti_catalog_cleaned_data/Site_Culturel_cleaned.csv
@@ -0,0 +1,5 @@
+Type,name,Commune,Department,Region,GPS_Lat,GPS_Lon,Telephone,Email,Site_web,Ownership,Maturity,Notes,Included
+Site Culturel,Rue Distillery,Cap-Haïtien,Nord,Nord,19.757,-72.206,,,,Privé,Opérationnel,Distillerie rhum clairin,
+Site Culturel,Grand Marnier Plantation,Cap-Haïtien,Nord,Nord,19.757,-72.206,,,,Privé,Moyen terme,Plantation agricole,
+Site Culturel,Guildiveries Traditionnelles,Divers,Nord,Nord,19.65,-72.15,,,,Communautaire,Opérationnel,Artisanat rhum,
+Site Culturel,Jean-Baptiste Chavanne Cocoa Farm,Divers,Nord,Nord,19.7,-72.2,,,,Privé,Opérationnel,Ferme cacao bio,
diff --git a/1_datasets/haiti_catalog_cleaned_data/Site_Historique_cleaned.csv b/1_datasets/haiti_catalog_cleaned_data/Site_Historique_cleaned.csv
new file mode 100644
index 0000000..68693a1
--- /dev/null
+++ b/1_datasets/haiti_catalog_cleaned_data/Site_Historique_cleaned.csv
@@ -0,0 +1,6 @@
+Type,name,Commune,Department,Region,GPS_Lat,GPS_Lon,Telephone,Email,Site_web,Ownership,Maturity,Notes,Included
+Site Historique,Citadelle Laferrière,Milot,Nord,Nord,19.604,-72.221,+509 36 69 47 47,,https://ispan.gouv.ht,ISPAN,Opérationnel,UNESCO, entrée ~10 USD
+Site Historique,Palais Sans-Souci,Milot,Nord,Nord,19.6018,-72.2186,+509 36 69 47 47,,https://ispan.gouv.ht,ISPAN,Opérationnel,UNESCO, ruines royales
+Site Historique,Fort Liberté,Fort-Liberté,Nord,Nord,19.7,-72.03,,,,Gouvernement,Opérationnel,Fort colonial,
+Site Historique,Pétroglyphes de Sainte-Suzanne,Sainte-Suzanne,Nord,Nord,19.65,-72.1,,,,Publique,Opérationnel,Art taïno précolombien,
+Site Historique,Fort Picolet,Labadee,Nord,Nord,19.78,-72.25,,,,Gouvernement,Court terme,Fort côtier,
diff --git a/3_data_exploration/README.md b/3_data_exploration/README.md
index a05b003..e69de29 100644
--- a/3_data_exploration/README.md
+++ b/3_data_exploration/README.md
@@ -1,110 +0,0 @@
-# Data Exploration
-
-## Haiti Tourism: A Realistic Path Forward
-
-This project is built around one clear and hopeful idea:
-
-**Haiti can bring back millions of tourists and billions in revenue**
- **while political and security challenges continue.**
-Other Caribbean countries prove it every single day.
-
-### What the data show
-
-- From 2010 to 2018, Haiti went from under 400,000 to **over 1.25 million**
- **visitors per year**(+300 %), despite the country still recovering
- from the 2010 earthquake.
-- The secret? Two simple things that worked perfectly:
- - The Haitian diaspora coming home to visit family
- - The private, fully secured cruise enclave of **Labadee**
- (almost 1 million passengers some years)
-- Then instability and the 2020 pandemic collapsed the numbers again
-- the proof is there: **when tourists feel safe, they come in huge numbers**.
-
-### Success stories next door (they didn’t wait for perfect peace)
-
-**Dominican Republic** - Poverty and crime in many zones **10+ million visitors**
-
-**Jamaica** - Well-known gang violence in Kingston & elsewhere **4+ million**
-**visitors & growing**
-
-Their recipe is simple and proven:
-**Build and fiercely protect specific tourism zones**
-(all-inclusive resorts, private beaches, secure historic districts,
-fenced cruise ports). Tourists stay inside the “safe bubble” and never need
- to see the challenges outside
-
-**Haiti is not just Port-au-Prince.**
-Most of Haiti is naturally beautiful, culturally rich, and ready to welcome
-millions of tourists – we just need to protect and promote the right zones,
-exactly like Jamaica and the Dominican Republic do every day.
-
-They all use the same winning formula: **create safe tourism bubbles and let**
-**the rest of the country solve its problems later.**
-
-### Haiti Already Proved It Works (2010–2018)
-
-
-
-From <400k to **1.27 million visitors** in just eight years.
-Key drivers: diaspora love + the 100 % secure Labadee cruise enclave
-(1 million passengers some years).
-
-### Haiti Is So Much More Than Port-au-Prince
-
-The capital has problems, but the rest of the country is full of world-class
-destinations that are calm, beautiful, and ready today:
-
-- **The Nord and Cap-Haïtien area** offer the UNESCO-listed Citadelle Laferrière,
-- miles of golden beaches, and the already-operating Labadee cruise port
-- with direct international flights landing minutes away.
-- **Jacmel**, the Caribbean’s most charming bohemian town, is famous for
-its colorful art scene, yearly carnival, and the magical Bassins-Bleu waterfalls,
- a short, securable drive from the capital.
-- **The entire South – Les Cayes, Port-Salut, and Île-à-Vache** – boasts some
-of the most beautiful white-sand beaches in the entire region, crystal-clear water,
-fresh lobster on the beach, and a laid-back vibe
-that rivals anywhere in the Caribbean.
-- **Côte des Arcadins**, only an hour north of Port-au-Prince, already has a string
-of beach resorts ready to reopen the moment safe access is guaranteed.
-- **Lavallée and the Central Plateau** hide spectacular waterfalls, rivers
-for rafting, cool mountain eco-lodges, and some of the best coffee in the hemisphere,
-perfect for nature and adventure lovers.
-These places already have everything tourists look for:
-beaches • history • culture • mountains • waterfalls • warm people • delicious food
-
-They just need protected access and smart marketing.
-
-### The Proven Model – Copy & Paste Success
-
-1. **Secure tourism areas** (Cap-Haïtien → Labadee, Côte des Arcadins, Jacmel,
-Les Cayes–Port-Salut)
-2. Dedicated police + private security (exactly like Jamaica’s Resilient Corridors)
-3. Reopen and expand cruise ports (Labadee is ready, Cap-Haïtien
-and a new southern port can open fast)
-All-inclusive and diaspora-focused packages (“Fly in, stay safe, enjoy paradise”)
-Tell the true story: **Haiti’s beauty is alive outside the capital**
-
-### Economic Power Waiting to Be Unlocked
-
-- 2018 peak → ~US$700 million earned
-- Dominican Republic today → **$10+ billion** per year with social vulnerability,
-random armed robberies, violent committed by motorcycle gangs.
-- Jamaica → **$4+ billion** per year with open security challenges
-
-Every extra million tourists = tens of thousands of jobs in the Nord, Sud, Artibonite,
- and beyond.
-
-### Final Message
-
-Haiti is not Port-au-Prince.
-Haiti is Cap-Haïtien’s citadel at sunrise, Port-Salut’s white sand,
-Jacmel’s carnival spirit, Labadee’s turquoise water, and the warmth of its people.
-
-We have the beaches. We have the culture. We have the diaspora
-ready to come home.
-We already welcomed over a million visitors while rebuilding from an earthquake.
-
-All we need are secure paths and the guts to shout it from the rooftops:
-Haiti isn't broken-it's begging to be rediscovered.
-
-**Haiti is open. Haiti is beautiful. Haiti is ready.**
diff --git a/3_data_exploration/script_data_web_exploration/Script_data_website.ipynb b/3_data_exploration/script_data_web_exploration/Script_data_website.ipynb
new file mode 100644
index 0000000..e7d8159
--- /dev/null
+++ b/3_data_exploration/script_data_web_exploration/Script_data_website.ipynb
@@ -0,0 +1,2816 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "id": "8cbf5ac0-5da1-4850-bf7c-31b544baaab5",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "id": "c95e39a8-a3a6-4418-b0a2-3b6d9aef9613",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#--------------------------------------------------------------------------------------------------------------------\n",
+ "# Step 1\n",
+ "#--------------------------------------------------------------------------------------------------------------------"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 76,
+ "id": "db4f940e-5902-447a-957a-9aee2cd7c743",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Category | \n",
+ " ID | \n",
+ " Name | \n",
+ " Type/Field | \n",
+ " Location/Region | \n",
+ " Details | \n",
+ " Extra | \n",
+ " Destination | \n",
+ " DEST_MILOT | \n",
+ " Milot | \n",
+ " ... | \n",
+ " Propriétaire | \n",
+ " Maturité | \n",
+ " Notes | \n",
+ " Column1 | \n",
+ " Department | \n",
+ " Region | \n",
+ " Telephone | \n",
+ " Proprietaire | \n",
+ " Maturite_2014 | \n",
+ " Notes_2014 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Hôtel historique 4* | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Vue mer | \n",
+ " piscine | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Proche centre historique | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Resort balnéaire avec plage privée | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Auberge nature | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 34 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Category ID Name Type/Field Location/Region Details Extra \\\n",
+ "0 NaN NaN NaN NaN NaN NaN NaN \n",
+ "1 NaN NaN NaN NaN NaN NaN NaN \n",
+ "2 NaN NaN NaN NaN NaN NaN NaN \n",
+ "3 NaN NaN NaN NaN NaN NaN NaN \n",
+ "4 NaN NaN NaN NaN NaN NaN NaN \n",
+ "\n",
+ " Destination DEST_MILOT Milot ... Propriétaire Maturité \\\n",
+ "0 NaN NaN NaN ... Privé Opérationnel \n",
+ "1 NaN NaN NaN ... Privé Opérationnel \n",
+ "2 NaN NaN NaN ... Privé Opérationnel \n",
+ "3 NaN NaN NaN ... Privé Opérationnel \n",
+ "4 NaN NaN NaN ... Privé Opérationnel \n",
+ "\n",
+ " Notes Column1 Department Region Telephone \\\n",
+ "0 Hôtel historique 4* NaN NaN NaN NaN \n",
+ "1 Vue mer piscine NaN NaN NaN \n",
+ "2 Proche centre historique NaN NaN NaN NaN \n",
+ "3 Resort balnéaire avec plage privée NaN NaN NaN NaN \n",
+ "4 Auberge nature NaN NaN NaN NaN \n",
+ "\n",
+ " Proprietaire Maturite_2014 Notes_2014 \n",
+ "0 NaN NaN NaN \n",
+ "1 NaN NaN NaN \n",
+ "2 NaN NaN NaN \n",
+ "3 NaN NaN NaN \n",
+ "4 NaN NaN NaN \n",
+ "\n",
+ "[5 rows x 34 columns]"
+ ]
+ },
+ "execution_count": 76,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Load the csv file for Hôtel\n",
+ "df_hôtel = pd.read_csv (\"Hôtel.csv\")\n",
+ "df_hôtel.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 79,
+ "id": "120d8d41-0273-4397-9b5f-e6b66b6b70d9",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# delete certains columns that are blank\n",
+ "df_hôtel =df_hôtel.drop(columns=[\"Category\", \"ID\",\"Name\",\"Type/Field\",\"Location/Region\",\"Details\",\"Extra\",\"Destination\",\"DEST_MILOT\",\"Milot\",\n",
+ " \"Department\",\"Region\",\"Telephone\",\"Proprietaire\",\"Maturite_2014\",\"Notes_2014\",\"Town\",\"Nord\",\"Parc National Historique sites (Citadelle, Palais Sans Souci)\",\n",
+ " \"Unnamed: 13\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 80,
+ "id": "b60c8e8b-bd89-42c2-8aa5-65a7e3ed4fb7",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Type | \n",
+ " Nom | \n",
+ " Commune | \n",
+ " Département | \n",
+ " Région | \n",
+ " GPS_Lat | \n",
+ " GPS_Lon | \n",
+ " Téléphone | \n",
+ " Email | \n",
+ " Site_web | \n",
+ " Propriétaire | \n",
+ " Maturité | \n",
+ " Notes | \n",
+ " Column1 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Hôtel | \n",
+ " Habitation Jouissant | \n",
+ " Cap-Haïtien | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7590 | \n",
+ " -72.2010 | \n",
+ " +509 36 87 89 15 | \n",
+ " maguy@habitationjouissant.com | \n",
+ " https://habitationjouissant.com | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Hôtel historique 4* | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Hôtel | \n",
+ " Hôtel Mont-Joli | \n",
+ " Cap-Haïtien | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7550 | \n",
+ " -72.2010 | \n",
+ " +509 22 60 58 47 | \n",
+ " info@hotelmontjoli.net | \n",
+ " https://hotelmontjoli.net | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Vue mer | \n",
+ " piscine | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Hôtel | \n",
+ " Hostellerie du Roi Christophe | \n",
+ " Cap-Haïtien | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7570 | \n",
+ " -72.2060 | \n",
+ " +509 36 87 89 15 | \n",
+ " info@hotelroichistophe.com | \n",
+ " https://hotelroichistophe.com | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Proche centre historique | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Hôtel | \n",
+ " Cormier Plage Resort | \n",
+ " Limonade | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7498 | \n",
+ " -72.2296 | \n",
+ " +509 37 02 02 10 | \n",
+ " booking@cormierhaiti.com | \n",
+ " https://cormierhaiti.com | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Resort balnéaire avec plage privée | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Hôtel | \n",
+ " Auberge Villa Cana | \n",
+ " Vaudreuil | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7020 | \n",
+ " -72.3020 | \n",
+ " +509 32 21 25 52 | \n",
+ " reception@aubergevillacana.com | \n",
+ " https://aubergevillacana.com | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Auberge nature | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Type Nom Commune Département Région \\\n",
+ "0 Hôtel Habitation Jouissant Cap-Haïtien Nord Nord \n",
+ "1 Hôtel Hôtel Mont-Joli Cap-Haïtien Nord Nord \n",
+ "2 Hôtel Hostellerie du Roi Christophe Cap-Haïtien Nord Nord \n",
+ "3 Hôtel Cormier Plage Resort Limonade Nord Nord \n",
+ "4 Hôtel Auberge Villa Cana Vaudreuil Nord Nord \n",
+ "\n",
+ " GPS_Lat GPS_Lon Téléphone Email \\\n",
+ "0 19.7590 -72.2010 +509 36 87 89 15 maguy@habitationjouissant.com \n",
+ "1 19.7550 -72.2010 +509 22 60 58 47 info@hotelmontjoli.net \n",
+ "2 19.7570 -72.2060 +509 36 87 89 15 info@hotelroichistophe.com \n",
+ "3 19.7498 -72.2296 +509 37 02 02 10 booking@cormierhaiti.com \n",
+ "4 19.7020 -72.3020 +509 32 21 25 52 reception@aubergevillacana.com \n",
+ "\n",
+ " Site_web Propriétaire Maturité \\\n",
+ "0 https://habitationjouissant.com Privé Opérationnel \n",
+ "1 https://hotelmontjoli.net Privé Opérationnel \n",
+ "2 https://hotelroichistophe.com Privé Opérationnel \n",
+ "3 https://cormierhaiti.com Privé Opérationnel \n",
+ "4 https://aubergevillacana.com Privé Opérationnel \n",
+ "\n",
+ " Notes Column1 \n",
+ "0 Hôtel historique 4* NaN \n",
+ "1 Vue mer piscine \n",
+ "2 Proche centre historique NaN \n",
+ "3 Resort balnéaire avec plage privée NaN \n",
+ "4 Auberge nature NaN "
+ ]
+ },
+ "execution_count": 80,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_hôtel.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 144,
+ "id": "39eb95dd-04fc-42e7-ab39-8c7f5a8b90e0",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Filter the blanck\n",
+ "df_hôtel = df_hôtel.fillna(\"\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 83,
+ "id": "9ebde801-9cdc-4f53-82bc-8a0439cf207d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Type | \n",
+ " Nom | \n",
+ " Commune | \n",
+ " Département | \n",
+ " Région | \n",
+ " GPS_Lat | \n",
+ " GPS_Lon | \n",
+ " Téléphone | \n",
+ " Email | \n",
+ " Site_web | \n",
+ " Propriétaire | \n",
+ " Maturité | \n",
+ " Notes | \n",
+ " Column1 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Hôtel | \n",
+ " Habitation Jouissant | \n",
+ " Cap-Haïtien | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.759 | \n",
+ " -72.201 | \n",
+ " +509 36 87 89 15 | \n",
+ " maguy@habitationjouissant.com | \n",
+ " https://habitationjouissant.com | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Hôtel historique 4* | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Type Nom Commune Département Région GPS_Lat \\\n",
+ "0 Hôtel Habitation Jouissant Cap-Haïtien Nord Nord 19.759 \n",
+ "\n",
+ " GPS_Lon Téléphone Email \\\n",
+ "0 -72.201 +509 36 87 89 15 maguy@habitationjouissant.com \n",
+ "\n",
+ " Site_web Propriétaire Maturité \\\n",
+ "0 https://habitationjouissant.com Privé Opérationnel \n",
+ "\n",
+ " Notes Column1 \n",
+ "0 Hôtel historique 4* "
+ ]
+ },
+ "execution_count": 83,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_hôtel.head(1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 84,
+ "id": "6710b011-43de-420c-bf0b-58825ec952ac",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Change the name of certains columns to ensure clarity and adaptation\n",
+ "df_hôtel = df_hôtel.rename(columns={\n",
+ " \"Nom\": \"name\",\n",
+ " \"Département\": \"Department\",\n",
+ " \"Région\": \"Region\",\n",
+ " \"Téléphone\": \"Telephone\",\n",
+ " \"Propriétaire\": \"Ownership\",\n",
+ " \"Maturité\" : \"Maturity\",\n",
+ " \"Column1\":\"Included\"\n",
+ "})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 85,
+ "id": "f14e4067-2215-4e1f-a1bd-e92f8f20a572",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Type | \n",
+ " name | \n",
+ " Commune | \n",
+ " Department | \n",
+ " Region | \n",
+ " GPS_Lat | \n",
+ " GPS_Lon | \n",
+ " Telephone | \n",
+ " Email | \n",
+ " Site_web | \n",
+ " Ownership | \n",
+ " Maturity | \n",
+ " Notes | \n",
+ " Included | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Hôtel | \n",
+ " Habitation Jouissant | \n",
+ " Cap-Haïtien | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7590 | \n",
+ " -72.2010 | \n",
+ " +509 36 87 89 15 | \n",
+ " maguy@habitationjouissant.com | \n",
+ " https://habitationjouissant.com | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Hôtel historique 4* | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Hôtel | \n",
+ " Hôtel Mont-Joli | \n",
+ " Cap-Haïtien | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7550 | \n",
+ " -72.2010 | \n",
+ " +509 22 60 58 47 | \n",
+ " info@hotelmontjoli.net | \n",
+ " https://hotelmontjoli.net | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Vue mer | \n",
+ " piscine | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Hôtel | \n",
+ " Hostellerie du Roi Christophe | \n",
+ " Cap-Haïtien | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7570 | \n",
+ " -72.2060 | \n",
+ " +509 36 87 89 15 | \n",
+ " info@hotelroichistophe.com | \n",
+ " https://hotelroichistophe.com | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Proche centre historique | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Hôtel | \n",
+ " Cormier Plage Resort | \n",
+ " Limonade | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7498 | \n",
+ " -72.2296 | \n",
+ " +509 37 02 02 10 | \n",
+ " booking@cormierhaiti.com | \n",
+ " https://cormierhaiti.com | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Resort balnéaire avec plage privée | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Hôtel | \n",
+ " Auberge Villa Cana | \n",
+ " Vaudreuil | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7020 | \n",
+ " -72.3020 | \n",
+ " +509 32 21 25 52 | \n",
+ " reception@aubergevillacana.com | \n",
+ " https://aubergevillacana.com | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Auberge nature | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Type name Commune Department Region \\\n",
+ "0 Hôtel Habitation Jouissant Cap-Haïtien Nord Nord \n",
+ "1 Hôtel Hôtel Mont-Joli Cap-Haïtien Nord Nord \n",
+ "2 Hôtel Hostellerie du Roi Christophe Cap-Haïtien Nord Nord \n",
+ "3 Hôtel Cormier Plage Resort Limonade Nord Nord \n",
+ "4 Hôtel Auberge Villa Cana Vaudreuil Nord Nord \n",
+ "\n",
+ " GPS_Lat GPS_Lon Telephone Email \\\n",
+ "0 19.7590 -72.2010 +509 36 87 89 15 maguy@habitationjouissant.com \n",
+ "1 19.7550 -72.2010 +509 22 60 58 47 info@hotelmontjoli.net \n",
+ "2 19.7570 -72.2060 +509 36 87 89 15 info@hotelroichistophe.com \n",
+ "3 19.7498 -72.2296 +509 37 02 02 10 booking@cormierhaiti.com \n",
+ "4 19.7020 -72.3020 +509 32 21 25 52 reception@aubergevillacana.com \n",
+ "\n",
+ " Site_web Ownership Maturity \\\n",
+ "0 https://habitationjouissant.com Privé Opérationnel \n",
+ "1 https://hotelmontjoli.net Privé Opérationnel \n",
+ "2 https://hotelroichistophe.com Privé Opérationnel \n",
+ "3 https://cormierhaiti.com Privé Opérationnel \n",
+ "4 https://aubergevillacana.com Privé Opérationnel \n",
+ "\n",
+ " Notes Included \n",
+ "0 Hôtel historique 4* \n",
+ "1 Vue mer piscine \n",
+ "2 Proche centre historique \n",
+ "3 Resort balnéaire avec plage privée \n",
+ "4 Auberge nature "
+ ]
+ },
+ "execution_count": 85,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_hôtel.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 87,
+ "id": "f1376b09-27ae-46af-ae87-9c0391731620",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#--------------------------------------------------------------------------------------------------------------------\n",
+ "# Step 2\n",
+ "#--------------------------------------------------------------------------------------------------------------------"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 92,
+ "id": "253b9ad0-22e3-4ed4-b41c-27cba3826421",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Category | \n",
+ " ID | \n",
+ " Name | \n",
+ " Type/Field | \n",
+ " Location/Region | \n",
+ " Details | \n",
+ " Extra | \n",
+ " Destination | \n",
+ " DEST_MILOT | \n",
+ " Milot | \n",
+ " ... | \n",
+ " Propriétaire | \n",
+ " Maturité | \n",
+ " Notes | \n",
+ " Column1 | \n",
+ " Department | \n",
+ " Region | \n",
+ " Telephone | \n",
+ " Proprietaire | \n",
+ " Maturite_2014 | \n",
+ " Notes_2014 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Mixte (hôtel/public) | \n",
+ " Opérationnel | \n",
+ " Plage sable blanc | \n",
+ " accès hôtel | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Privé (Royal Caribbean) | \n",
+ " Opérationnel | \n",
+ " Excursions croisières | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Publique | \n",
+ " Opérationnel | \n",
+ " Baie isolée | \n",
+ " snorkeling | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Privé | \n",
+ " Court terme | \n",
+ " Resort plage | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Publique | \n",
+ " Opérationnel | \n",
+ " Site historique libération | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 34 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Category ID Name Type/Field Location/Region Details Extra \\\n",
+ "0 NaN NaN NaN NaN NaN NaN NaN \n",
+ "1 NaN NaN NaN NaN NaN NaN NaN \n",
+ "2 NaN NaN NaN NaN NaN NaN NaN \n",
+ "3 NaN NaN NaN NaN NaN NaN NaN \n",
+ "4 NaN NaN NaN NaN NaN NaN NaN \n",
+ "\n",
+ " Destination DEST_MILOT Milot ... Propriétaire Maturité \\\n",
+ "0 NaN NaN NaN ... Mixte (hôtel/public) Opérationnel \n",
+ "1 NaN NaN NaN ... Privé (Royal Caribbean) Opérationnel \n",
+ "2 NaN NaN NaN ... Publique Opérationnel \n",
+ "3 NaN NaN NaN ... Privé Court terme \n",
+ "4 NaN NaN NaN ... Publique Opérationnel \n",
+ "\n",
+ " Notes Column1 Department Region Telephone \\\n",
+ "0 Plage sable blanc accès hôtel NaN NaN NaN \n",
+ "1 Excursions croisières NaN NaN NaN NaN \n",
+ "2 Baie isolée snorkeling NaN NaN NaN \n",
+ "3 Resort plage NaN NaN NaN NaN \n",
+ "4 Site historique libération NaN NaN NaN NaN \n",
+ "\n",
+ " Proprietaire Maturite_2014 Notes_2014 \n",
+ "0 NaN NaN NaN \n",
+ "1 NaN NaN NaN \n",
+ "2 NaN NaN NaN \n",
+ "3 NaN NaN NaN \n",
+ "4 NaN NaN NaN \n",
+ "\n",
+ "[5 rows x 34 columns]"
+ ]
+ },
+ "execution_count": 92,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Load the csv file for Plage\n",
+ "df_plage = pd.read_csv (\"Plage.csv\")\n",
+ "df_plage.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 147,
+ "id": "de00e6ce-4ca9-4993-874d-cedf0c0a5279",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "'\\ndf_plage =df_plage.drop(columns=[\"Category\", \"ID\",\"Name\",\"Type/Field\",\"Location/Region\",\"Details\",\"Extra\",\"Destination\",\"DEST_MILOT\",\"Milot\",\\n \"Department\",\"Region\",\"Telephone\",\"Proprietaire\",\"Maturite_2014\",\"Notes_2014\",\"Town\",\"Nord\",\"Parc National Historique sites (Citadelle, Palais Sans Souci)\",\\n \"Unnamed: 13\"])\\n '"
+ ]
+ },
+ "execution_count": 147,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# delete certains columns that are blank\n",
+ "df_plage =df_plage.drop(columns=[\"Category\", \"ID\",\"Name\",\"Type/Field\",\"Location/Region\",\"Details\",\"Extra\",\"Destination\",\"DEST_MILOT\",\"Milot\",\n",
+ " \"Department\",\"Region\",\"Telephone\",\"Proprietaire\",\"Maturite_2014\",\"Notes_2014\",\"Town\",\"Nord\",\"Parc National Historique sites (Citadelle, Palais Sans Souci)\",\n",
+ " \"Unnamed: 13\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 105,
+ "id": "ba61a35d-3711-456c-a1be-010aa230505b",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_plage = df_plage.fillna(\"\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 107,
+ "id": "f5fcfc71-65c4-49f7-92ce-e6d830876d53",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Change the name of certains columns to ensure clarity and adaptation\n",
+ "df_plage = df_plage.rename(columns={\n",
+ " \"Nom\": \"name\",\n",
+ " \"Département\": \"Department\",\n",
+ " \"Région\": \"Region\",\n",
+ " \"Téléphone\": \"Telephone\",\n",
+ " \"Propriétaire\": \"Ownership\",\n",
+ " \"Maturité\" : \"Maturity\",\n",
+ " \"Column1\":\"Included\"\n",
+ "})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 108,
+ "id": "ff9a4dd0-c455-428f-a5ef-91661509a0a9",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Type | \n",
+ " name | \n",
+ " Commune | \n",
+ " Department | \n",
+ " Region | \n",
+ " GPS_Lat | \n",
+ " GPS_Lon | \n",
+ " Telephone | \n",
+ " Email | \n",
+ " Site_web | \n",
+ " Ownership | \n",
+ " Maturity | \n",
+ " Notes | \n",
+ " Included | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Plage | \n",
+ " Cormier Plage | \n",
+ " Limonade | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7498 | \n",
+ " -72.2296 | \n",
+ " +509 37 02 02 10 | \n",
+ " booking@cormierhaiti.com | \n",
+ " | \n",
+ " Mixte (hôtel/public) | \n",
+ " Opérationnel | \n",
+ " Plage sable blanc | \n",
+ " accès hôtel | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Plage | \n",
+ " Labadie Beaches (Royal Caribbean) | \n",
+ " Labadie | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7850 | \n",
+ " -72.2480 | \n",
+ " +1 800 933 2121 | \n",
+ " | \n",
+ " https://royalcaribbean.com | \n",
+ " Privé (Royal Caribbean) | \n",
+ " Opérationnel | \n",
+ " Excursions croisières | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Plage | \n",
+ " Chouchou Baie | \n",
+ " Port-Margot | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7020 | \n",
+ " -72.6000 | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " Publique | \n",
+ " Opérationnel | \n",
+ " Baie isolée | \n",
+ " snorkeling | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Plage | \n",
+ " M&M Beach (Camp Louise) | \n",
+ " Acul-du-Nord | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7000 | \n",
+ " -72.6500 | \n",
+ " +509 37 51 67 59 | \n",
+ " mmbeachresort@yahoo.fr | \n",
+ " | \n",
+ " Privé | \n",
+ " Court terme | \n",
+ " Resort plage | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Plage | \n",
+ " Plage de Limonade (historique) | \n",
+ " Limonade | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.6500 | \n",
+ " -72.1000 | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " Publique | \n",
+ " Opérationnel | \n",
+ " Site historique libération | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Type name Commune Department Region \\\n",
+ "0 Plage Cormier Plage Limonade Nord Nord \n",
+ "1 Plage Labadie Beaches (Royal Caribbean) Labadie Nord Nord \n",
+ "2 Plage Chouchou Baie Port-Margot Nord Nord \n",
+ "3 Plage M&M Beach (Camp Louise) Acul-du-Nord Nord Nord \n",
+ "4 Plage Plage de Limonade (historique) Limonade Nord Nord \n",
+ "\n",
+ " GPS_Lat GPS_Lon Telephone Email \\\n",
+ "0 19.7498 -72.2296 +509 37 02 02 10 booking@cormierhaiti.com \n",
+ "1 19.7850 -72.2480 +1 800 933 2121 \n",
+ "2 19.7020 -72.6000 \n",
+ "3 19.7000 -72.6500 +509 37 51 67 59 mmbeachresort@yahoo.fr \n",
+ "4 19.6500 -72.1000 \n",
+ "\n",
+ " Site_web Ownership Maturity \\\n",
+ "0 Mixte (hôtel/public) Opérationnel \n",
+ "1 https://royalcaribbean.com Privé (Royal Caribbean) Opérationnel \n",
+ "2 Publique Opérationnel \n",
+ "3 Privé Court terme \n",
+ "4 Publique Opérationnel \n",
+ "\n",
+ " Notes Included \n",
+ "0 Plage sable blanc accès hôtel \n",
+ "1 Excursions croisières \n",
+ "2 Baie isolée snorkeling \n",
+ "3 Resort plage \n",
+ "4 Site historique libération "
+ ]
+ },
+ "execution_count": 108,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_plage.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 98,
+ "id": "abc8a9de-d705-4cbd-be7a-71d4574fe3e4",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#--------------------------------------------------------------------------------------------------------------------\n",
+ "# Step 3\n",
+ "#--------------------------------------------------------------------------------------------------------------------"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 100,
+ "id": "08ba7729-0d43-494a-8732-b5e753ddf084",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Category | \n",
+ " ID | \n",
+ " Name | \n",
+ " Type/Field | \n",
+ " Location/Region | \n",
+ " Details | \n",
+ " Extra | \n",
+ " Destination | \n",
+ " DEST_MILOT | \n",
+ " Milot | \n",
+ " ... | \n",
+ " Propriétaire | \n",
+ " Maturité | \n",
+ " Notes | \n",
+ " Column1 | \n",
+ " Department | \n",
+ " Region | \n",
+ " Telephone | \n",
+ " Proprietaire | \n",
+ " Maturite_2014 | \n",
+ " Notes_2014 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Distillerie rhum clairin | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Privé | \n",
+ " Moyen terme | \n",
+ " Plantation agricole | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Communautaire | \n",
+ " Opérationnel | \n",
+ " Artisanat rhum | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Ferme cacao bio | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
4 rows × 34 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Category ID Name Type/Field Location/Region Details Extra \\\n",
+ "0 NaN NaN NaN NaN NaN NaN NaN \n",
+ "1 NaN NaN NaN NaN NaN NaN NaN \n",
+ "2 NaN NaN NaN NaN NaN NaN NaN \n",
+ "3 NaN NaN NaN NaN NaN NaN NaN \n",
+ "\n",
+ " Destination DEST_MILOT Milot ... Propriétaire Maturité \\\n",
+ "0 NaN NaN NaN ... Privé Opérationnel \n",
+ "1 NaN NaN NaN ... Privé Moyen terme \n",
+ "2 NaN NaN NaN ... Communautaire Opérationnel \n",
+ "3 NaN NaN NaN ... Privé Opérationnel \n",
+ "\n",
+ " Notes Column1 Department Region Telephone Proprietaire \\\n",
+ "0 Distillerie rhum clairin NaN NaN NaN NaN NaN \n",
+ "1 Plantation agricole NaN NaN NaN NaN NaN \n",
+ "2 Artisanat rhum NaN NaN NaN NaN NaN \n",
+ "3 Ferme cacao bio NaN NaN NaN NaN NaN \n",
+ "\n",
+ " Maturite_2014 Notes_2014 \n",
+ "0 NaN NaN \n",
+ "1 NaN NaN \n",
+ "2 NaN NaN \n",
+ "3 NaN NaN \n",
+ "\n",
+ "[4 rows x 34 columns]"
+ ]
+ },
+ "execution_count": 100,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Load the csv file for Site Historique\n",
+ "df_culturel = pd.read_csv (\"Site_Culturel.csv\")\n",
+ "df_culturel.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 101,
+ "id": "46949dc7-db10-4778-a2c8-8375a8afc03a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# delete certains columns that are blank\n",
+ "df_culturel =df_culturel.drop(columns=[\"Category\", \"ID\",\"Name\",\"Type/Field\",\"Location/Region\",\"Details\",\"Extra\",\"Destination\",\"DEST_MILOT\",\"Milot\",\n",
+ " \"Department\",\"Region\",\"Telephone\",\"Proprietaire\",\"Maturite_2014\",\"Notes_2014\",\"Town\",\"Nord\",\"Parc National Historique sites (Citadelle, Palais Sans Souci)\",\n",
+ " \"Unnamed: 13\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 109,
+ "id": "986a733c-7eb2-45d4-a725-9890ef3f10cb",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ " df_culturel= df_culturel.fillna(\"\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 110,
+ "id": "bc6a6790-7729-4a82-9ae3-5dd38bda6777",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Change the name of certains columns to ensure clarity and adaptation\n",
+ "df_culturel= df_culturel.rename(columns={\n",
+ " \"Nom\": \"name\",\n",
+ " \"Département\": \"Department\",\n",
+ " \"Région\": \"Region\",\n",
+ " \"Téléphone\": \"Telephone\",\n",
+ " \"Propriétaire\": \"Ownership\",\n",
+ " \"Maturité\" : \"Maturity\",\n",
+ " \"Column1\":\"Included\"\n",
+ "})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 111,
+ "id": "ead5c9d3-f15c-48f0-bde2-3c5d3ccfe82f",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Type | \n",
+ " name | \n",
+ " Commune | \n",
+ " Department | \n",
+ " Region | \n",
+ " GPS_Lat | \n",
+ " GPS_Lon | \n",
+ " Telephone | \n",
+ " Email | \n",
+ " Site_web | \n",
+ " Ownership | \n",
+ " Maturity | \n",
+ " Notes | \n",
+ " Included | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Site Culturel | \n",
+ " Rue Distillery | \n",
+ " Cap-Haïtien | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.757 | \n",
+ " -72.206 | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Distillerie rhum clairin | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Site Culturel | \n",
+ " Grand Marnier Plantation | \n",
+ " Cap-Haïtien | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.757 | \n",
+ " -72.206 | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " Privé | \n",
+ " Moyen terme | \n",
+ " Plantation agricole | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Site Culturel | \n",
+ " Guildiveries Traditionnelles | \n",
+ " Divers | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.650 | \n",
+ " -72.150 | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " Communautaire | \n",
+ " Opérationnel | \n",
+ " Artisanat rhum | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Site Culturel | \n",
+ " Jean-Baptiste Chavanne Cocoa Farm | \n",
+ " Divers | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.700 | \n",
+ " -72.200 | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " Privé | \n",
+ " Opérationnel | \n",
+ " Ferme cacao bio | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Type name Commune Department \\\n",
+ "0 Site Culturel Rue Distillery Cap-Haïtien Nord \n",
+ "1 Site Culturel Grand Marnier Plantation Cap-Haïtien Nord \n",
+ "2 Site Culturel Guildiveries Traditionnelles Divers Nord \n",
+ "3 Site Culturel Jean-Baptiste Chavanne Cocoa Farm Divers Nord \n",
+ "\n",
+ " Region GPS_Lat GPS_Lon Telephone Email Site_web Ownership \\\n",
+ "0 Nord 19.757 -72.206 Privé \n",
+ "1 Nord 19.757 -72.206 Privé \n",
+ "2 Nord 19.650 -72.150 Communautaire \n",
+ "3 Nord 19.700 -72.200 Privé \n",
+ "\n",
+ " Maturity Notes Included \n",
+ "0 Opérationnel Distillerie rhum clairin \n",
+ "1 Moyen terme Plantation agricole \n",
+ "2 Opérationnel Artisanat rhum \n",
+ "3 Opérationnel Ferme cacao bio "
+ ]
+ },
+ "execution_count": 111,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_culturel.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 113,
+ "id": "afef73cb-f09f-4732-84a0-2c1140896432",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#--------------------------------------------------------------------------------------------------------------------\n",
+ "# Step 4\n",
+ "#--------------------------------------------------------------------------------------------------------------------"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 114,
+ "id": "a3148e05-63ed-4734-9547-e811e9625ecc",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Category | \n",
+ " ID | \n",
+ " Name | \n",
+ " Type/Field | \n",
+ " Location/Region | \n",
+ " Details | \n",
+ " Extra | \n",
+ " Destination | \n",
+ " DEST_MILOT | \n",
+ " Milot | \n",
+ " ... | \n",
+ " Propriétaire | \n",
+ " Maturité | \n",
+ " Notes | \n",
+ " Column1 | \n",
+ " Department | \n",
+ " Region | \n",
+ " Telephone | \n",
+ " Proprietaire | \n",
+ " Maturite_2014 | \n",
+ " Notes_2014 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " ISPAN | \n",
+ " Opérationnel | \n",
+ " UNESCO | \n",
+ " entrée ~10 USD | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " ISPAN | \n",
+ " Opérationnel | \n",
+ " UNESCO | \n",
+ " ruines royales | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Gouvernement | \n",
+ " Opérationnel | \n",
+ " Fort colonial | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Publique | \n",
+ " Opérationnel | \n",
+ " Art taïno précolombien | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Gouvernement | \n",
+ " Court terme | \n",
+ " Fort côtier | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 34 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Category ID Name Type/Field Location/Region Details Extra \\\n",
+ "0 NaN NaN NaN NaN NaN NaN NaN \n",
+ "1 NaN NaN NaN NaN NaN NaN NaN \n",
+ "2 NaN NaN NaN NaN NaN NaN NaN \n",
+ "3 NaN NaN NaN NaN NaN NaN NaN \n",
+ "4 NaN NaN NaN NaN NaN NaN NaN \n",
+ "\n",
+ " Destination DEST_MILOT Milot ... Propriétaire Maturité \\\n",
+ "0 NaN NaN NaN ... ISPAN Opérationnel \n",
+ "1 NaN NaN NaN ... ISPAN Opérationnel \n",
+ "2 NaN NaN NaN ... Gouvernement Opérationnel \n",
+ "3 NaN NaN NaN ... Publique Opérationnel \n",
+ "4 NaN NaN NaN ... Gouvernement Court terme \n",
+ "\n",
+ " Notes Column1 Department Region Telephone \\\n",
+ "0 UNESCO entrée ~10 USD NaN NaN NaN \n",
+ "1 UNESCO ruines royales NaN NaN NaN \n",
+ "2 Fort colonial NaN NaN NaN NaN \n",
+ "3 Art taïno précolombien NaN NaN NaN NaN \n",
+ "4 Fort côtier NaN NaN NaN NaN \n",
+ "\n",
+ " Proprietaire Maturite_2014 Notes_2014 \n",
+ "0 NaN NaN NaN \n",
+ "1 NaN NaN NaN \n",
+ "2 NaN NaN NaN \n",
+ "3 NaN NaN NaN \n",
+ "4 NaN NaN NaN \n",
+ "\n",
+ "[5 rows x 34 columns]"
+ ]
+ },
+ "execution_count": 114,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Load the csv file for Site Historique\n",
+ "df_historique = pd.read_csv (\"Site_Historique.csv\")\n",
+ "df_historique.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 115,
+ "id": "c029f3d2-296a-4b7e-8255-3d55f68d8607",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# delete certains columns that are blank\n",
+ "df_historique =df_historique.drop(columns=[\"Category\", \"ID\",\"Name\",\"Type/Field\",\"Location/Region\",\"Details\",\"Extra\",\"Destination\",\"DEST_MILOT\",\"Milot\",\n",
+ " \"Department\",\"Region\",\"Telephone\",\"Proprietaire\",\"Maturite_2014\",\"Notes_2014\",\"Town\",\"Nord\",\"Parc National Historique sites (Citadelle, Palais Sans Souci)\",\n",
+ " \"Unnamed: 13\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 116,
+ "id": "01f76cd1-c926-456b-a5da-103bd417e23d",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_historique= df_historique.fillna(\"\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 118,
+ "id": "8cdaa7c9-641e-49f0-8df3-7e1a0a5cf942",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Change the name of certains columns to ensure clarity and adaptation\n",
+ "df_historique= df_historique.rename(columns={\n",
+ " \"Nom\": \"name\",\n",
+ " \"Département\": \"Department\",\n",
+ " \"Région\": \"Region\",\n",
+ " \"Téléphone\": \"Telephone\",\n",
+ " \"Propriétaire\": \"Ownership\",\n",
+ " \"Maturité\" : \"Maturity\",\n",
+ " \"Column1\":\"Included\"\n",
+ "})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 119,
+ "id": "2276dec7-55c1-4946-889f-73f8dfcb4ce7",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Type | \n",
+ " name | \n",
+ " Commune | \n",
+ " Department | \n",
+ " Region | \n",
+ " GPS_Lat | \n",
+ " GPS_Lon | \n",
+ " Telephone | \n",
+ " Email | \n",
+ " Site_web | \n",
+ " Ownership | \n",
+ " Maturity | \n",
+ " Notes | \n",
+ " Included | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Site Historique | \n",
+ " Citadelle Laferrière | \n",
+ " Milot | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.6040 | \n",
+ " -72.2210 | \n",
+ " +509 36 69 47 47 | \n",
+ " | \n",
+ " https://ispan.gouv.ht | \n",
+ " ISPAN | \n",
+ " Opérationnel | \n",
+ " UNESCO | \n",
+ " entrée ~10 USD | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Site Historique | \n",
+ " Palais Sans-Souci | \n",
+ " Milot | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.6018 | \n",
+ " -72.2186 | \n",
+ " +509 36 69 47 47 | \n",
+ " | \n",
+ " https://ispan.gouv.ht | \n",
+ " ISPAN | \n",
+ " Opérationnel | \n",
+ " UNESCO | \n",
+ " ruines royales | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Site Historique | \n",
+ " Fort Liberté | \n",
+ " Fort-Liberté | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7000 | \n",
+ " -72.0300 | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " Gouvernement | \n",
+ " Opérationnel | \n",
+ " Fort colonial | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Site Historique | \n",
+ " Pétroglyphes de Sainte-Suzanne | \n",
+ " Sainte-Suzanne | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.6500 | \n",
+ " -72.1000 | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " Publique | \n",
+ " Opérationnel | \n",
+ " Art taïno précolombien | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Site Historique | \n",
+ " Fort Picolet | \n",
+ " Labadee | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.7800 | \n",
+ " -72.2500 | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " Gouvernement | \n",
+ " Court terme | \n",
+ " Fort côtier | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Type name Commune Department \\\n",
+ "0 Site Historique Citadelle Laferrière Milot Nord \n",
+ "1 Site Historique Palais Sans-Souci Milot Nord \n",
+ "2 Site Historique Fort Liberté Fort-Liberté Nord \n",
+ "3 Site Historique Pétroglyphes de Sainte-Suzanne Sainte-Suzanne Nord \n",
+ "4 Site Historique Fort Picolet Labadee Nord \n",
+ "\n",
+ " Region GPS_Lat GPS_Lon Telephone Email Site_web \\\n",
+ "0 Nord 19.6040 -72.2210 +509 36 69 47 47 https://ispan.gouv.ht \n",
+ "1 Nord 19.6018 -72.2186 +509 36 69 47 47 https://ispan.gouv.ht \n",
+ "2 Nord 19.7000 -72.0300 \n",
+ "3 Nord 19.6500 -72.1000 \n",
+ "4 Nord 19.7800 -72.2500 \n",
+ "\n",
+ " Ownership Maturity Notes Included \n",
+ "0 ISPAN Opérationnel UNESCO entrée ~10 USD \n",
+ "1 ISPAN Opérationnel UNESCO ruines royales \n",
+ "2 Gouvernement Opérationnel Fort colonial \n",
+ "3 Publique Opérationnel Art taïno précolombien \n",
+ "4 Gouvernement Court terme Fort côtier "
+ ]
+ },
+ "execution_count": 119,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_historique.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 121,
+ "id": "206e84e6-dd55-4205-b787-4200aac96f4a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#--------------------------------------------------------------------------------------------------------------------\n",
+ "# Step 5\n",
+ "#--------------------------------------------------------------------------------------------------------------------"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 122,
+ "id": "8ab05605-5603-47e7-9ba8-9817d3eae808",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Category | \n",
+ " ID | \n",
+ " Name | \n",
+ " Type/Field | \n",
+ " Location/Region | \n",
+ " Details | \n",
+ " Extra | \n",
+ " Destination | \n",
+ " DEST_MILOT | \n",
+ " Milot | \n",
+ " ... | \n",
+ " Propriétaire | \n",
+ " Maturité | \n",
+ " Notes | \n",
+ " Column1 | \n",
+ " Department | \n",
+ " Region | \n",
+ " Telephone | \n",
+ " Proprietaire | \n",
+ " Maturite_2014 | \n",
+ " Notes_2014 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Gouvernement haïtien | \n",
+ " Opérationnel | \n",
+ " Hub principal international | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Gouvernement haïtien | \n",
+ " Opérationnel | \n",
+ " Accès principal au Nord | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Gouvernement haïtien | \n",
+ " Opérationnel | \n",
+ " Aéroport régional Sud | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Gouvernement haïtien | \n",
+ " Opérationnel | \n",
+ " Proche grottes Sud | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Gouvernement haïtien | \n",
+ " Opérationnel | \n",
+ " Accès Sud-Ouest | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 34 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Category ID Name Type/Field Location/Region Details Extra \\\n",
+ "0 NaN NaN NaN NaN NaN NaN NaN \n",
+ "1 NaN NaN NaN NaN NaN NaN NaN \n",
+ "2 NaN NaN NaN NaN NaN NaN NaN \n",
+ "3 NaN NaN NaN NaN NaN NaN NaN \n",
+ "4 NaN NaN NaN NaN NaN NaN NaN \n",
+ "\n",
+ " Destination DEST_MILOT Milot ... Propriétaire Maturité \\\n",
+ "0 NaN NaN NaN ... Gouvernement haïtien Opérationnel \n",
+ "1 NaN NaN NaN ... Gouvernement haïtien Opérationnel \n",
+ "2 NaN NaN NaN ... Gouvernement haïtien Opérationnel \n",
+ "3 NaN NaN NaN ... Gouvernement haïtien Opérationnel \n",
+ "4 NaN NaN NaN ... Gouvernement haïtien Opérationnel \n",
+ "\n",
+ " Notes Column1 Department Region Telephone \\\n",
+ "0 Hub principal international NaN NaN NaN NaN \n",
+ "1 Accès principal au Nord NaN NaN NaN NaN \n",
+ "2 Aéroport régional Sud NaN NaN NaN NaN \n",
+ "3 Proche grottes Sud NaN NaN NaN NaN \n",
+ "4 Accès Sud-Ouest NaN NaN NaN NaN \n",
+ "\n",
+ " Proprietaire Maturite_2014 Notes_2014 \n",
+ "0 NaN NaN NaN \n",
+ "1 NaN NaN NaN \n",
+ "2 NaN NaN NaN \n",
+ "3 NaN NaN NaN \n",
+ "4 NaN NaN NaN \n",
+ "\n",
+ "[5 rows x 34 columns]"
+ ]
+ },
+ "execution_count": 122,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Load the csv file for Aéroport\n",
+ "df_aéroport = pd.read_csv (\"Aéroport.csv\")\n",
+ "df_aéroport.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 123,
+ "id": "acb86cdf-0972-4f1c-96ba-89b80000d985",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# delete certains columns that are blank\n",
+ "df_aéroport =df_aéroport.drop(columns=[\"Category\", \"ID\",\"Name\",\"Type/Field\",\"Location/Region\",\"Details\",\"Extra\",\"Destination\",\"DEST_MILOT\",\"Milot\",\n",
+ " \"Department\",\"Region\",\"Telephone\",\"Proprietaire\",\"Maturite_2014\",\"Notes_2014\",\"Town\",\"Nord\",\"Parc National Historique sites (Citadelle, Palais Sans Souci)\",\n",
+ " \"Unnamed: 13\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 124,
+ "id": "58d49f2a-6555-4f29-b602-57a5fb8d1665",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# delete the NaN rows\n",
+ "df_aéroport= df_aéroport.fillna(\"\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 125,
+ "id": "1a2afeb2-243d-4f7d-9e24-5092c550fb59",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Change the name of certains columns to ensure clarity and adaptation\n",
+ "df_aéroport= df_aéroport.rename(columns={\n",
+ " \"Nom\": \"name\",\n",
+ " \"Département\": \"Department\",\n",
+ " \"Région\": \"Region\",\n",
+ " \"Téléphone\": \"Telephone\",\n",
+ " \"Propriétaire\": \"Ownership\",\n",
+ " \"Maturité\" : \"Maturity\",\n",
+ " \"Column1\":\"Included\"\n",
+ "})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 128,
+ "id": "44ab5eb5-1e38-4d13-9e24-ee0316c99682",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#--------------------------------------------------------------------------------------------------------------------\n",
+ "# Step 6\n",
+ "#--------------------------------------------------------------------------------------------------------------------"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 129,
+ "id": "f54e2885-0fe9-4d17-b225-12555b6ba26d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Category | \n",
+ " ID | \n",
+ " Name | \n",
+ " Type/Field | \n",
+ " Location/Region | \n",
+ " Details | \n",
+ " Extra | \n",
+ " Destination | \n",
+ " DEST_MILOT | \n",
+ " Milot | \n",
+ " ... | \n",
+ " Propriétaire | \n",
+ " Maturité | \n",
+ " Notes | \n",
+ " Column1 | \n",
+ " Department | \n",
+ " Region | \n",
+ " Telephone | \n",
+ " Proprietaire | \n",
+ " Maturite_2014 | \n",
+ " Notes_2014 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Ministère du Tourisme | \n",
+ " Opérationnel | \n",
+ " Plus grande grotte Haïti | \n",
+ " spéléo guidée | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Ministère du Tourisme | \n",
+ " Opérationnel | \n",
+ " Grotte avec formations karstiques | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Ministère du Tourisme | \n",
+ " Opérationnel | \n",
+ " Grotte majeure | \n",
+ " cascades internes | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Ministère du Tourisme | \n",
+ " Opérationnel | \n",
+ " Grotte mythique vodou | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Ministère du Tourisme | \n",
+ " Opérationnel | \n",
+ " Accès randonnée | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 34 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Category ID Name Type/Field Location/Region Details Extra \\\n",
+ "0 NaN NaN NaN NaN NaN NaN NaN \n",
+ "1 NaN NaN NaN NaN NaN NaN NaN \n",
+ "2 NaN NaN NaN NaN NaN NaN NaN \n",
+ "3 NaN NaN NaN NaN NaN NaN NaN \n",
+ "4 NaN NaN NaN NaN NaN NaN NaN \n",
+ "\n",
+ " Destination DEST_MILOT Milot ... Propriétaire Maturité \\\n",
+ "0 NaN NaN NaN ... Ministère du Tourisme Opérationnel \n",
+ "1 NaN NaN NaN ... Ministère du Tourisme Opérationnel \n",
+ "2 NaN NaN NaN ... Ministère du Tourisme Opérationnel \n",
+ "3 NaN NaN NaN ... Ministère du Tourisme Opérationnel \n",
+ "4 NaN NaN NaN ... Ministère du Tourisme Opérationnel \n",
+ "\n",
+ " Notes Column1 Department Region \\\n",
+ "0 Plus grande grotte Haïti spéléo guidée NaN NaN \n",
+ "1 Grotte avec formations karstiques NaN NaN NaN \n",
+ "2 Grotte majeure cascades internes NaN NaN \n",
+ "3 Grotte mythique vodou NaN NaN NaN \n",
+ "4 Accès randonnée NaN NaN NaN \n",
+ "\n",
+ " Telephone Proprietaire Maturite_2014 Notes_2014 \n",
+ "0 NaN NaN NaN NaN \n",
+ "1 NaN NaN NaN NaN \n",
+ "2 NaN NaN NaN NaN \n",
+ "3 NaN NaN NaN NaN \n",
+ "4 NaN NaN NaN NaN \n",
+ "\n",
+ "[5 rows x 34 columns]"
+ ]
+ },
+ "execution_count": 129,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Load the csv file for Grotte\n",
+ "df_grotte = pd.read_csv (\"Grotte.csv\")\n",
+ "df_grotte.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 131,
+ "id": "9d50d25c-8c70-42ec-9528-34e6e791a66c",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "## delete certains columns that are blank\n",
+ "df_grotte =df_grotte.drop(columns=[\"Category\", \"ID\",\"Name\",\"Type/Field\",\"Location/Region\",\"Details\",\"Extra\",\"Destination\",\"DEST_MILOT\",\"Milot\",\n",
+ " \"Department\",\"Region\",\"Telephone\",\"Proprietaire\",\"Maturite_2014\",\"Notes_2014\",\"Town\",\"Nord\",\"Parc National Historique sites (Citadelle, Palais Sans Souci)\",\n",
+ " \"Unnamed: 13\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 132,
+ "id": "8cef6936-32c4-4c22-a949-d8aa3e26d871",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# delete the NaN rows\n",
+ "df_grotte= df_grotte.fillna(\"\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 133,
+ "id": "c83ea757-2ef3-4f14-9014-d23a3dc73638",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Change the name of certains columns to ensure clarity and adaptation\n",
+ "df_grotte= df_grotte.rename(columns={\n",
+ " \"Nom\": \"name\",\n",
+ " \"Département\": \"Department\",\n",
+ " \"Région\": \"Region\",\n",
+ " \"Téléphone\": \"Telephone\",\n",
+ " \"Propriétaire\": \"Ownership\",\n",
+ " \"Maturité\" : \"Maturity\",\n",
+ " \"Column1\":\"Included\"\n",
+ "})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 137,
+ "id": "7dd8ce03-a68f-458a-9200-7a9c6e1872cb",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#--------------------------------------------------------------------------------------------------------------------\n",
+ "# Step 7\n",
+ "#--------------------------------------------------------------------------------------------------------------------"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 138,
+ "id": "bb7d5d9f-93f3-4c2e-9423-22788a43e54d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Category | \n",
+ " ID | \n",
+ " Name | \n",
+ " Type/Field | \n",
+ " Location/Region | \n",
+ " Details | \n",
+ " Extra | \n",
+ " Destination | \n",
+ " DEST_MILOT | \n",
+ " Milot | \n",
+ " ... | \n",
+ " Propriétaire | \n",
+ " Maturité | \n",
+ " Notes | \n",
+ " Column1 | \n",
+ " Department | \n",
+ " Region | \n",
+ " Telephone | \n",
+ " Proprietaire | \n",
+ " Maturite_2014 | \n",
+ " Notes_2014 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Ministère du Tourisme | \n",
+ " Opérationnel | \n",
+ " Canyon aventure | \n",
+ " via ferrata | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Ministère du Tourisme | \n",
+ " Opérationnel | \n",
+ " Ravine avec bassins | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " ... | \n",
+ " Opérationnel | \n",
+ " Canyon escarpé | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
3 rows × 34 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Category ID Name Type/Field Location/Region Details Extra \\\n",
+ "0 NaN NaN NaN NaN NaN NaN NaN \n",
+ "1 NaN NaN NaN NaN NaN NaN NaN \n",
+ "2 NaN NaN NaN NaN NaN NaN NaN \n",
+ "\n",
+ " Destination DEST_MILOT Milot ... Propriétaire Maturité \\\n",
+ "0 NaN NaN NaN ... Ministère du Tourisme Opérationnel \n",
+ "1 NaN NaN NaN ... Ministère du Tourisme Opérationnel \n",
+ "2 NaN NaN NaN ... Opérationnel Canyon escarpé \n",
+ "\n",
+ " Notes Column1 Department Region Telephone Proprietaire \\\n",
+ "0 Canyon aventure via ferrata NaN NaN NaN NaN \n",
+ "1 Ravine avec bassins NaN NaN NaN NaN NaN \n",
+ "2 NaN NaN NaN NaN NaN NaN \n",
+ "\n",
+ " Maturite_2014 Notes_2014 \n",
+ "0 NaN NaN \n",
+ "1 NaN NaN \n",
+ "2 NaN NaN \n",
+ "\n",
+ "[3 rows x 34 columns]"
+ ]
+ },
+ "execution_count": 138,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Load the csv file for Canyon\n",
+ "df_canyon = pd.read_csv (\"Canyon.csv\")\n",
+ "df_canyon.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 139,
+ "id": "a4b37648-9566-4ccf-a4bb-ab4447b92124",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# delete certains columns that are blank\n",
+ "df_canyon =df_canyon.drop(columns=[\"Category\", \"ID\",\"Name\",\"Type/Field\",\"Location/Region\",\"Details\",\"Extra\",\"Destination\",\"DEST_MILOT\",\"Milot\",\n",
+ " \"Department\",\"Region\",\"Telephone\",\"Proprietaire\",\"Maturite_2014\",\"Notes_2014\",\"Town\",\"Nord\",\"Parc National Historique sites (Citadelle, Palais Sans Souci)\",\n",
+ " \"Unnamed: 13\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 140,
+ "id": "8436e555-1c1a-4067-9ed7-f9e039e4d423",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#delete the NaN rows\n",
+ "df_canyon= df_canyon.fillna(\"\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 141,
+ "id": "c28eb438-3fdf-4ce6-b230-98e5081e3305",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Change the name of certains columns to ensure clarity and adaptation\n",
+ "df_canyon= df_canyon.rename(columns={\n",
+ " \"Nom\": \"name\",\n",
+ " \"Département\": \"Department\",\n",
+ " \"Région\": \"Region\",\n",
+ " \"Téléphone\": \"Telephone\",\n",
+ " \"Propriétaire\": \"Ownership\",\n",
+ " \"Maturité\" : \"Maturity\",\n",
+ " \"Column1\":\"Included\"\n",
+ "})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 143,
+ "id": "0c24d6b3-20bf-4126-aed7-0d20700816ca",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# download the grouped data\n",
+ "df_aéroport.to_csv(\"Aéroport_cleaned.csv\", index=False)\n",
+ "df_hôtel.to_csv(\"Hôtel_cleaned.csv\",index=False)\n",
+ "df_plage.to_csv(\"Plage_cleaned.csv\",index=False)\n",
+ "df_grotte.to_csv(\"Grotte_cleaned.csv\",index=False)\n",
+ "df_canyon.to_csv(\"Canyon_cleaned.csv\",index=False)\n",
+ "df_historique.to_csv(\"Site_Historique_cleaned.csv\",index=False)\n",
+ "df_culturel.to_csv(\"Site_Culturel_cleaned.csv\",index=False)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "81068717-2f2c-40c2-b842-d38bc5433f87",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python [conda env:base] *",
+ "language": "python",
+ "name": "conda-base-py"
+ },
+ "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.12.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/3_data_exploration/script_data_web_exploration/data_for_website_exploration.ipynb b/3_data_exploration/script_data_web_exploration/data_for_website_exploration.ipynb
new file mode 100644
index 0000000..f91aa1b
--- /dev/null
+++ b/3_data_exploration/script_data_web_exploration/data_for_website_exploration.ipynb
@@ -0,0 +1,603 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "bdea99e7-720e-44dd-9307-590e1d72d71f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 106,
+ "id": "649ec368-8fc5-4cfe-b20f-73ebde5497ce",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Load csv files\n",
+ "df1=pd.read_csv(\"2nd dataset.csv\")\n",
+ "# Load Excel file\n",
+ "df2 = pd.read_excel (\"data_other_site.xlsx\")\n",
+ "df3 = pd.read_excel(\"1st dataset_draft...xlsx\")\n",
+ "df4 = pd.read_excel (\"data_tourist_site.xlsx\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 154,
+ "id": "c92d53ae-48aa-44e3-8fbc-5b66ac02a311",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Type | \n",
+ " Nom | \n",
+ " Commune | \n",
+ " Département | \n",
+ " Région | \n",
+ " GPS_Lat | \n",
+ " GPS_Lon | \n",
+ " Téléphone | \n",
+ " Email | \n",
+ " Site_web | \n",
+ " Propriétaire | \n",
+ " Maturité | \n",
+ " Notes | \n",
+ " Column1 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Aéroport | \n",
+ " Toussaint Louverture International (PAP) | \n",
+ " Tabarre | \n",
+ " Ouest | \n",
+ " National | \n",
+ " 18.579964 | \n",
+ " -72.292542 | \n",
+ " +509 48 94 3000 | \n",
+ " info@aan.gouv.ht | \n",
+ " https://aan.gouv.ht | \n",
+ " Gouvernement haïtien | \n",
+ " Opérationnel | \n",
+ " Hub principal international | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Aéroport | \n",
+ " Cap-Haïtien International (CAP) | \n",
+ " Cap-Haïtien | \n",
+ " Nord | \n",
+ " Nord | \n",
+ " 19.732900 | \n",
+ " -72.194800 | \n",
+ " +509 22 62 05 07 | \n",
+ " NaN | \n",
+ " https://aan.gouv.ht | \n",
+ " Gouvernement haïtien | \n",
+ " Opérationnel | \n",
+ " Accès principal au Nord | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Type Nom Commune \\\n",
+ "0 Aéroport Toussaint Louverture International (PAP) Tabarre \n",
+ "1 Aéroport Cap-Haïtien International (CAP) Cap-Haïtien \n",
+ "\n",
+ " Département Région GPS_Lat GPS_Lon Téléphone \\\n",
+ "0 Ouest National 18.579964 -72.292542 +509 48 94 3000 \n",
+ "1 Nord Nord 19.732900 -72.194800 +509 22 62 05 07 \n",
+ "\n",
+ " Email Site_web Propriétaire Maturité \\\n",
+ "0 info@aan.gouv.ht https://aan.gouv.ht Gouvernement haïtien Opérationnel \n",
+ "1 NaN https://aan.gouv.ht Gouvernement haïtien Opérationnel \n",
+ "\n",
+ " Notes Column1 \n",
+ "0 Hub principal international NaN \n",
+ "1 Accès principal au Nord NaN "
+ ]
+ },
+ "execution_count": 154,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# df1.head()\n",
+ "# df2.head()\n",
+ "df3.head(2)\n",
+ "# df4.head(2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 160,
+ "id": "4e2de017-60b6-4474-beb3-b89f1b515df2",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array(['Aéroport', 'Hôtel', 'Plage', 'Grotte', 'Canyon',\n",
+ " 'Site Historique', 'Site Culturel'], dtype=object)"
+ ]
+ },
+ "execution_count": 160,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df3[\"Type\"].unique()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 110,
+ "id": "70da5fe7-8c70-4726-a892-3644e08fb694",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Column1 | \n",
+ " Column2 | \n",
+ " Column3 | \n",
+ " Column4 | \n",
+ " Column5 | \n",
+ " Column6 | \n",
+ " Column7 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Category | \n",
+ " ID | \n",
+ " Name | \n",
+ " Type/Field | \n",
+ " Location/Region | \n",
+ " Details | \n",
+ " Extra | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Destination | \n",
+ " DEST_CAP | \n",
+ " Cap-Haïtien | \n",
+ " City | \n",
+ " Nord | \n",
+ " Historic city with colonial heritage and night... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Column1 Column2 Column3 Column4 Column5 \\\n",
+ "0 Category ID Name Type/Field Location/Region \n",
+ "1 Destination DEST_CAP Cap-Haïtien City Nord \n",
+ "\n",
+ " Column6 Column7 \n",
+ "0 Details Extra \n",
+ "1 Historic city with colonial heritage and night... NaN "
+ ]
+ },
+ "execution_count": 110,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2.head(2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 162,
+ "id": "6feb7e04-093e-40f5-af9f-b1f78f2fa17b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | 1 | \n",
+ " Destination | \n",
+ " DEST_MILOT | \n",
+ " Milot | \n",
+ " Town | \n",
+ " Nord | \n",
+ " Parc National Historique sites (Citadelle, Palais Sans Souci) | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Destination | \n",
+ " DEST_MILOT | \n",
+ " Milot | \n",
+ " Town | \n",
+ " Nord | \n",
+ " Parc National Historique sites (Citadelle, Pal... | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Destination | \n",
+ " DEST_LABADIE | \n",
+ " Labadie | \n",
+ " Village | \n",
+ " Nord | \n",
+ " Fishing village; boat access only | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Destination | \n",
+ " DEST_FORTLIB | \n",
+ " Fort-Liberté | \n",
+ " Town | \n",
+ " Nord-Est | \n",
+ " Colonial forts and calm bay | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Destination | \n",
+ " DEST_LIMONAD | \n",
+ " Limonade | \n",
+ " Commune | \n",
+ " Nord | \n",
+ " Bord-de-Mer beaches and history | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Destination | \n",
+ " DEST_CHOUCHO | \n",
+ " Chouchou-Baie | \n",
+ " Beach | \n",
+ " Nord | \n",
+ " Long sandy beach near Borgne | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 57 | \n",
+ " Hotel | \n",
+ " HOT_NORMS | \n",
+ " Norm’s Place B&B | \n",
+ " Hotel | \n",
+ " Labadie | \n",
+ " Guesthouse, boat access | \n",
+ " normsplacelabadee@yahoo.com | \n",
+ "
\n",
+ " \n",
+ " | 58 | \n",
+ " Restaurant | \n",
+ " R_CAP_LAK | \n",
+ " La Kay | \n",
+ " Restaurant | \n",
+ " Cap-Haïtien | \n",
+ " Créole cuisine, terrace, music nights | \n",
+ " Closed Monday | \n",
+ "
\n",
+ " \n",
+ " | 59 | \n",
+ " Restaurant | \n",
+ " R_CAP_KOK | \n",
+ " Kokiyaj | \n",
+ " Restaurant | \n",
+ " Cap-Haïtien | \n",
+ " Seafront bistro | \n",
+ " Open 11:00–23:00 | \n",
+ "
\n",
+ " \n",
+ " | 60 | \n",
+ " Restaurant | \n",
+ " R_FORT_JOM | \n",
+ " Jomela Bar Restaurant | \n",
+ " Restaurant | \n",
+ " Fort-Liberté | \n",
+ " Small capacity | \n",
+ " Unknown hours | \n",
+ "
\n",
+ " \n",
+ " | 61 | \n",
+ " Event | \n",
+ " EVT_CARN | \n",
+ " Carnaval de Cap-Haïtien | \n",
+ " Event | \n",
+ " Cap-Ha | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
62 rows × 7 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ "1 Destination DEST_MILOT Milot Town \\\n",
+ "0 Destination DEST_MILOT Milot Town \n",
+ "1 Destination DEST_LABADIE Labadie Village \n",
+ "2 Destination DEST_FORTLIB Fort-Liberté Town \n",
+ "3 Destination DEST_LIMONAD Limonade Commune \n",
+ "4 Destination DEST_CHOUCHO Chouchou-Baie Beach \n",
+ ".. ... ... ... ... \n",
+ "57 Hotel HOT_NORMS Norm’s Place B&B Hotel \n",
+ "58 Restaurant R_CAP_LAK La Kay Restaurant \n",
+ "59 Restaurant R_CAP_KOK Kokiyaj Restaurant \n",
+ "60 Restaurant R_FORT_JOM Jomela Bar Restaurant Restaurant \n",
+ "61 Event EVT_CARN Carnaval de Cap-Haïtien Event \n",
+ "\n",
+ "1 Nord \\\n",
+ "0 Nord \n",
+ "1 Nord \n",
+ "2 Nord-Est \n",
+ "3 Nord \n",
+ "4 Nord \n",
+ ".. ... \n",
+ "57 Labadie \n",
+ "58 Cap-Haïtien \n",
+ "59 Cap-Haïtien \n",
+ "60 Fort-Liberté \n",
+ "61 Cap-Ha \n",
+ "\n",
+ "1 Parc National Historique sites (Citadelle, Palais Sans Souci) \\\n",
+ "0 Parc National Historique sites (Citadelle, Pal... \n",
+ "1 Fishing village; boat access only \n",
+ "2 Colonial forts and calm bay \n",
+ "3 Bord-de-Mer beaches and history \n",
+ "4 Long sandy beach near Borgne \n",
+ ".. ... \n",
+ "57 Guesthouse, boat access \n",
+ "58 Créole cuisine, terrace, music nights \n",
+ "59 Seafront bistro \n",
+ "60 Small capacity \n",
+ "61 NaN \n",
+ "\n",
+ "1 NaN \n",
+ "0 NaN \n",
+ "1 NaN \n",
+ "2 NaN \n",
+ "3 NaN \n",
+ "4 NaN \n",
+ ".. ... \n",
+ "57 normsplacelabadee@yahoo.com \n",
+ "58 Closed Monday \n",
+ "59 Open 11:00–23:00 \n",
+ "60 Unknown hours \n",
+ "61 NaN \n",
+ "\n",
+ "[62 rows x 7 columns]"
+ ]
+ },
+ "execution_count": 162,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df2.columns = df2.iloc[1]\n",
+ "df2 = df2.iloc[1:].reset_index(drop =True)\n",
+ "df2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 168,
+ "id": "514eb765-dee1-4ffc-ab76-b9c4cdbc08bf",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_all = pd.concat([df1, df2, df3, df4], ignore_index=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 176,
+ "id": "5caa2f5f-97ac-45ed-82d4-6d553e30dd4d",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index([ 'Category',\n",
+ " 'ID',\n",
+ " 'Name',\n",
+ " 'Type/Field',\n",
+ " 'Location/Region',\n",
+ " 'Details',\n",
+ " 'Extra',\n",
+ " 'Destination',\n",
+ " 'DEST_MILOT',\n",
+ " 'Milot',\n",
+ " 'Town',\n",
+ " 'Nord',\n",
+ " 'Parc National Historique sites (Citadelle, Palais Sans Souci)',\n",
+ " nan,\n",
+ " 'Type',\n",
+ " 'Nom',\n",
+ " 'Commune',\n",
+ " 'Département',\n",
+ " 'Région',\n",
+ " 'GPS_Lat',\n",
+ " 'GPS_Lon',\n",
+ " 'Téléphone',\n",
+ " 'Email',\n",
+ " 'Site_web',\n",
+ " 'Propriétaire',\n",
+ " 'Maturité',\n",
+ " 'Notes',\n",
+ " 'Column1',\n",
+ " 'Department',\n",
+ " 'Region',\n",
+ " 'Telephone',\n",
+ " 'Proprietaire',\n",
+ " 'Maturite_2014',\n",
+ " 'Notes_2014'],\n",
+ " dtype='object')"
+ ]
+ },
+ "execution_count": 176,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_all.columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 170,
+ "id": "4b9c2f6a-68ed-4b37-b966-4f370f4b4c71",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "titles = [\n",
+ " \"Aéroport\", \"Hôtel\", \"Plage\", \"Grotte\", \"Canyon\",\n",
+ " \"Site Historique\", \"Site Culturel\"\n",
+ "]\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 178,
+ "id": "06b1ee43-9b5c-49d9-9b84-968ecb387d06",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Saved → Aéroport.csv (5 rows)\n",
+ "Saved → Hôtel.csv (16 rows)\n",
+ "Saved → Plage.csv (16 rows)\n",
+ "Saved → Grotte.csv (7 rows)\n",
+ "Saved → Canyon.csv (3 rows)\n",
+ "Saved → Site_Historique.csv (5 rows)\n",
+ "Saved → Site_Culturel.csv (4 rows)\n"
+ ]
+ }
+ ],
+ "source": [
+ "columns_to_search = [\"Category\", \"Name\", \"Type/Field\", \"Destination\",\"Type\"]\n",
+ "\n",
+ "for title in titles:\n",
+ " # Filter: keep rows where ANY of the columns matches the title\n",
+ " filtered = df_all[df_all[columns_to_search].isin([title]).any(axis=1)]\n",
+ " \n",
+ " # Save output\n",
+ " output_name = f\"{title.replace(' ', '_')}.csv\"\n",
+ " filtered.to_csv(output_name, index=False)\n",
+ " \n",
+ " print(f\"Saved → {output_name} ({len(filtered)} rows)\")\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "5c03e59d-84d2-4c09-a857-a9d739fdedbc",
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python [conda env:base] *",
+ "language": "python",
+ "name": "conda-base-py"
+ },
+ "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.12.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/5_communication_strategy/README.md b/5_communication_strategy/README.md
index 30560c7..9d77094 100644
--- a/5_communication_strategy/README.md
+++ b/5_communication_strategy/README.md
@@ -1 +1,115 @@
# Communication Strategy
+
+Haiti Paradise: WhatsApp Campaign Strategy Document
+Introduction: Sharing the Heart of Haiti
+Welcome to our heartfelt strategy for refocusing the world on Haiti's natural beauty – the hidden gems that make our island a true Caribbean paradise. This isn't about flashy ads; it's about genuine connections through WhatsApp, where conversations feel like chatting with family. We'll use a powerful combo of quizzes, surveys, and polls to engage potential visitors and the diaspora, collecting insights on what excites them, their memories, and who they'd share it with. These tools keep things fun and interactive, building a community that celebrates Haiti's soul. From there, we'll guide them to WhatsApp Channels for ongoing stories and eventually a simple website for planning their dream trip. Let's honor our beloved country by letting its beauty shine through every message.
+tripadvisor.com2025 Blue Waterfalls (Bassin Bleu) adventures from Jacmel ...
+The Combo Approach: Quizzes, Surveys, and Polls in Harmony
+Why a combo? Because variety keeps folks coming back – a quick poll for instant fun, a quiz for playful discovery, and a survey for deeper sharing. Together, they collect gold: data on excitement spots, past visits, inspiring visuals, and referrals. Send these via WhatsApp broadcasts, timed for evenings when dreams of travel brew. Always add a human touch: "Hey, from one Haiti lover to another..." Incentives like "Share your story for a shoutout!" make it feel personal.
+
+1. Quizzes: Gamify the Adventure
+Quizzes turn curiosity into excitement, like a treasure hunt through Haiti's wonders. They're quick, scored for fun, and perfect for revealing preferences while educating subtly. Use them to cover inspiration and referrals – folks love sharing scores with friends!
+Sample "Haiti Hidden Gems" Quiz Setup:
+
+Intro Message: "Hey explorer, let's uncover your Haiti vibe! Reply 'QUIZ' to start – it's like a mini adventure from your phone."
+Question 1 (Excitement & Inspiration): "Which spot lights up your wanderlust? A) Cascading waterfalls, B) Pristine beaches, C) Majestic mountains."
+
+en.wikipedia.orgBassin Bleu (Jacmel) - Wikipedia
+
+Question 2 (Last Visit): "When was your last taste of Haitian paradise? A) Recently (where?), B) Ages ago, C) First time calling!"
+Question 3 (Referrals): "Which gem would you recommend first? A) Saut-Mathurine falls, B) Jacmel Beach, C) Citadelle views. To whom and why?"
+Wrap-Up: "You aced it – waterfall whisperer! Join our channel for more gems like this."
+
+This quiz feels natural, like storytelling around a bonfire, and gathers data to tailor follow-ups.
+2. Surveys: Dive Deep into Stories
+Surveys are for those meaningful chats – sequential questions that let people pour out their dreams. They're great for collecting detailed info on past visits and visuals that inspire, building emotional ties to Haiti.
+Sample "Haiti Dream Discovery" Survey Setup:
+
+Intro Message: "Share your heart with Haiti – this quick survey helps us craft your perfect escape. Reply 'START'."
+Question 1 (Excitement): "Where in Haiti are you most excited to explore? Beaches, waterfalls, mountains, or something else?"
+
+tripadvisor.comSaut-Mathurine (2025) - All You Need to Know BEFORE You Go (with ...
+
+Question 2 (Last Visit): "When was your last time in paradise, and where did the magic happen? Any favorite memory?"
+Question 3 (Inspiring Visuals): "What pics or videos are stirring your trip dreams? Rate this one and share yours!"
+
+visithaiti.comSix Beaches Near Jacmel That Feel Like a Dream · Visit Haiti
+
+Question 4 (Referrals): "What areas would you refer to loved ones? Why, and to whom?"
+Wrap-Up: "Thanks for opening up – your story warms our hearts! Check our channel for personalized tips."
+
+Surveys add that human depth, like listening to diaspora tales, and the data refines your strategy.
+3. Polls: Quick Pulses of Passion
+Polls are the easy icebreakers – one-tap wonders that spark group vibes. Use them for fast feedback on excitement and referrals, making everyone feel involved.
+Sample "Haiti Vibes" Poll Setups:
+
+Poll 1 (Excitement & Referrals): "Which Haitian treasure excites you most or would you share? Options: Bassin Bleu, Jacmel Beach, Haitian Mountains, Citadelle Laferrière."
+
+facebook.comExploring the Water Wonders of Southern Haiti 💧** The South of ...
+
+Follow-Up: "Love your pick! Reply why or when you'd visit."
+Poll 2 (Inspiration & Last Visit): "What's inspiring your Haiti dreams? A) Stunning visuals like this, B) Family stories, C) Adventure calls. Bonus: Last visit timing?"
+
+tripadvisor.com2025 Jacmel & Bassin Bleu (Haiti) - with Trusted Reviews
+Polls keep it light and communal, like a neighborhood chat, turning responses into viral shares.
+Flow to Channels and Website: Building the Community
+Once engaged via the combo, invite them naturally: "Digging these quizzes? Join our 'Haiti Paradise' WhatsApp Channel for weekly stories, live chats with locals, and user photos!" Channels foster ongoing bonds – share poll results, quiz winners, and survey-inspired itineraries. Then, nudge to the website: "Ready to plan? Visit haitiparadise.com for custom maps from your answers, bookings, and a gallery of our community's Haiti love." This flow feels organic, like guiding a friend on a path to discovery.
+Measurement & Love Notes
+Track engagement (responses, shares, joins) with WhatsApp tools – aim for 50%+ interaction. Adjust based on what resonates, always with love for Haiti. This strategy isn't just comms; it's a celebration of our island's spirit. Let's spread the beauty – what's your first step?21.1sand how i can add it to vscode and the link to add the linksTo add this Markdown document to Visual Studio Code (VSCode), follow these simple steps—it's straightforward since VSCode has excellent built-in support for Markdown files:
+
+Open VSCode: Launch the app on your computer (download it from the official site if you don't have it: Visual Studio Code).
+Create a New File: Go to File > New File (or press Ctrl+N on Windows/Linux, Cmd+N on Mac).
+Paste the Content: Copy the entire Markdown content I provided (starting from # Haiti Paradise: WhatsApp Campaign Strategy Document down to the end) and paste it into the new file.
+Save the File: Go to File > Save As (or Ctrl+S/Cmd+S), name it something like haiti-campaign-strategy.md, and choose a folder to save it in. The .md extension is key for VSCode to recognize it as Markdown.
+Preview It: To see a nicely rendered version (with headings, lists, etc.), press Ctrl+Shift+V (Windows/Linux) or Cmd+Shift+V (Mac) while in the file. This opens a side-by-side preview. If you want even better features like live preview or export to PDF/HTML, install the free "Markdown All in One" extension:
+In VSCode, go to the Extensions view (Ctrl+Shift+X or Cmd+Shift+X).
+Search for "Markdown All in One" by Yu Zhang.
+Install it, then restart VSCode if prompted.
+
+Adding Links in the Markdown Document
+If you mean how to add hyperlinks (e.g., to websites, images, or sections) within this document, Markdown makes it easy and natural. Here's how:
+
+Basic Link Syntax: Use [Link Text](URL). For example:textVisit [Haiti's official tourism site](https://www.visithaiti.com) for more inspiration.This renders as: Visit Haiti's official tourism site for more inspiration.
+Linking to Images: If you want to embed actual images (replacing the placeholder `
+55.1sI need the document in md so I can copy paste itHaiti Paradise: WhatsApp Campaign Strategy Document
+Introduction: Sharing the Heart of Haiti
+Welcome to our heartfelt strategy for refocusing the world on Haiti's natural beauty – the hidden gems that make our island a true Caribbean paradise. This isn't about flashy ads; it's about genuine connections through WhatsApp, where conversations feel like chatting with family. We'll use a powerful combo of quizzes, surveys, and polls to engage potential visitors and the diaspora, collecting insights on what excites them, their memories, and who they'd share it with. These tools keep things fun and interactive, building a community that celebrates Haiti's soul. From there, we'll guide them to WhatsApp Channels for ongoing stories and eventually a simple website for planning their dream trip. Let's honor our beloved country by letting its beauty shine through every message.
+The Combo Approach: Quizzes, Surveys, and Polls in Harmony
+Why a combo? Because variety keeps folks coming back – a quick poll for instant fun, a quiz for playful discovery, and a survey for deeper sharing. Together, they collect gold: data on excitement spots, past visits, inspiring visuals, and referrals. Send these via WhatsApp broadcasts, timed for evenings when dreams of travel brew. Always add a human touch: "Hey, from one Haiti lover to another..." Incentives like "Share your story for a shoutout!" make it feel personal.
+
+1. Quizzes: Gamify the Adventure
+Quizzes turn curiosity into excitement, like a treasure hunt through Haiti's wonders. They're quick, scored for fun, and perfect for revealing preferences while educating subtly. Use them to cover inspiration and referrals – folks love sharing scores with friends!
+Sample "Haiti Hidden Gems" Quiz Setup:
+
+Intro Message: "Hey explorer, let's uncover your Haiti vibe! Reply 'QUIZ' to start – it's like a mini adventure from your phone."
+Question 1 (Excitement & Inspiration): "Which spot lights up your wanderlust? A) Cascading waterfalls, B) Pristine beaches, C) Majestic mountains."
+Question 2 (Last Visit): "When was your last taste of Haitian paradise? A) Recently (where?), B) Ages ago, C) First time calling!"
+Question 3 (Referrals): "Which gem would you recommend first? A) Saut-Mathurine falls, B) Jacmel Beach, C) Citadelle views. To whom and why?"
+Wrap-Up: "You aced it – waterfall whisperer! Join our channel for more gems like this."
+
+This quiz feels natural, like storytelling around a bonfire, and gathers data to tailor follow-ups.
+2. Surveys: Dive Deep into Stories
+Surveys are for those meaningful chats – sequential questions that let people pour out their dreams. They're great for collecting detailed info on past visits and visuals that inspire, building emotional ties to Haiti.
+Sample "Haiti Dream Discovery" Survey Setup:
+
+Intro Message: "Share your heart with Haiti – this quick survey helps us craft your perfect escape. Reply 'START'."
+Question 1 (Excitement): "Where in Haiti are you most excited to explore? Beaches, waterfalls, mountains, or something else?"
+Question 2 (Last Visit): "When was your last time in paradise, and where did the magic happen? Any favorite memory?"
+Question 3 (Inspiring Visuals): "What pics or videos are stirring your trip dreams? Rate this one and share yours!"
+Question 4 (Referrals): "What areas would you refer to loved ones? Why, and to whom?"
+Wrap-Up: "Thanks for opening up – your story warms our hearts! Check our channel for personalized tips."
+
+Surveys add that human depth, like listening to diaspora tales, and the data refines your strategy.
+3. Polls: Quick Pulses of Passion
+Polls are the easy icebreakers – one-tap wonders that spark group vibes. Use them for fast feedback on excitement and referrals, making everyone feel involved.
+Sample "Haiti Vibes" Poll Setups:
+
+Poll 1 (Excitement & Referrals): "Which Haitian treasure excites you most or would you share? Options: Bassin Bleu, Jacmel Beach, Haitian Mountains, Citadelle Laferrière."
+Follow-Up: "Love your pick! Reply why or when you'd visit."
+Poll 2 (Inspiration & Last Visit): "What's inspiring your Haiti dreams? A) Stunning visuals like this, B) Family stories, C) Adventure calls. Bonus: Last visit timing?"
+
+Polls keep it light and communal, like a neighborhood chat, turning responses into viral shares.
+Flow to Channels and Website: Building the Community
+Once engaged via the combo, invite them naturally: "Digging these quizzes? Join our 'Haiti Paradise' WhatsApp Channel for weekly stories, live chats with locals, and user photos!" Channels foster ongoing bonds – share poll results, quiz winners, and survey-inspired itineraries. Then, nudge to the website: "Ready to plan? Visit haitiparadise.com for custom maps from your answers, bookings, and a gallery of our community's Haiti love." This flow feels organic, like guiding a friend on a path to discovery.
+Measurement & Love Notes
+Track engagement (responses, shares, joins) with WhatsApp tools – aim for 50%+ interaction. Adjust based on what resonates, always with love for Haiti. This strategy isn't just comms; it's a celebration of our island's spirit. Let's spread the beauty – what's your first step?4.4s