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) - -![Evolution of Tourism in Haiti 1995–2020](images/haiti_tourism_evolution_1995_2020.png) - -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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CategoryIDNameType/FieldLocation/RegionDetailsExtraDestinationDEST_MILOTMilot...PropriétaireMaturitéNotesColumn1DepartmentRegionTelephoneProprietaireMaturite_2014Notes_2014
0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...PrivéOpérationnelHôtel historique 4*NaNNaNNaNNaNNaNNaNNaN
1NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...PrivéOpérationnelVue merpiscineNaNNaNNaNNaNNaNNaN
2NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...PrivéOpérationnelProche centre historiqueNaNNaNNaNNaNNaNNaNNaN
3NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...PrivéOpérationnelResort balnéaire avec plage privéeNaNNaNNaNNaNNaNNaNNaN
4NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...PrivéOpérationnelAuberge natureNaNNaNNaNNaNNaNNaNNaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TypeNomCommuneDépartementRégionGPS_LatGPS_LonTéléphoneEmailSite_webPropriétaireMaturitéNotesColumn1
0HôtelHabitation JouissantCap-HaïtienNordNord19.7590-72.2010+509 36 87 89 15maguy@habitationjouissant.comhttps://habitationjouissant.comPrivéOpérationnelHôtel historique 4*NaN
1HôtelHôtel Mont-JoliCap-HaïtienNordNord19.7550-72.2010+509 22 60 58 47info@hotelmontjoli.nethttps://hotelmontjoli.netPrivéOpérationnelVue merpiscine
2HôtelHostellerie du Roi ChristopheCap-HaïtienNordNord19.7570-72.2060+509 36 87 89 15info@hotelroichistophe.comhttps://hotelroichistophe.comPrivéOpérationnelProche centre historiqueNaN
3HôtelCormier Plage ResortLimonadeNordNord19.7498-72.2296+509 37 02 02 10booking@cormierhaiti.comhttps://cormierhaiti.comPrivéOpérationnelResort balnéaire avec plage privéeNaN
4HôtelAuberge Villa CanaVaudreuilNordNord19.7020-72.3020+509 32 21 25 52reception@aubergevillacana.comhttps://aubergevillacana.comPrivéOpérationnelAuberge natureNaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TypeNomCommuneDépartementRégionGPS_LatGPS_LonTéléphoneEmailSite_webPropriétaireMaturitéNotesColumn1
0HôtelHabitation JouissantCap-HaïtienNordNord19.759-72.201+509 36 87 89 15maguy@habitationjouissant.comhttps://habitationjouissant.comPrivéOpérationnelHôtel historique 4*
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TypenameCommuneDepartmentRegionGPS_LatGPS_LonTelephoneEmailSite_webOwnershipMaturityNotesIncluded
0HôtelHabitation JouissantCap-HaïtienNordNord19.7590-72.2010+509 36 87 89 15maguy@habitationjouissant.comhttps://habitationjouissant.comPrivéOpérationnelHôtel historique 4*
1HôtelHôtel Mont-JoliCap-HaïtienNordNord19.7550-72.2010+509 22 60 58 47info@hotelmontjoli.nethttps://hotelmontjoli.netPrivéOpérationnelVue merpiscine
2HôtelHostellerie du Roi ChristopheCap-HaïtienNordNord19.7570-72.2060+509 36 87 89 15info@hotelroichistophe.comhttps://hotelroichistophe.comPrivéOpérationnelProche centre historique
3HôtelCormier Plage ResortLimonadeNordNord19.7498-72.2296+509 37 02 02 10booking@cormierhaiti.comhttps://cormierhaiti.comPrivéOpérationnelResort balnéaire avec plage privée
4HôtelAuberge Villa CanaVaudreuilNordNord19.7020-72.3020+509 32 21 25 52reception@aubergevillacana.comhttps://aubergevillacana.comPrivéOpérationnelAuberge nature
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CategoryIDNameType/FieldLocation/RegionDetailsExtraDestinationDEST_MILOTMilot...PropriétaireMaturitéNotesColumn1DepartmentRegionTelephoneProprietaireMaturite_2014Notes_2014
0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Mixte (hôtel/public)OpérationnelPlage sable blancaccès hôtelNaNNaNNaNNaNNaNNaN
1NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Privé (Royal Caribbean)OpérationnelExcursions croisièresNaNNaNNaNNaNNaNNaNNaN
2NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...PubliqueOpérationnelBaie isoléesnorkelingNaNNaNNaNNaNNaNNaN
3NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...PrivéCourt termeResort plageNaNNaNNaNNaNNaNNaNNaN
4NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...PubliqueOpérationnelSite historique libérationNaNNaNNaNNaNNaNNaNNaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TypenameCommuneDepartmentRegionGPS_LatGPS_LonTelephoneEmailSite_webOwnershipMaturityNotesIncluded
0PlageCormier PlageLimonadeNordNord19.7498-72.2296+509 37 02 02 10booking@cormierhaiti.comMixte (hôtel/public)OpérationnelPlage sable blancaccès hôtel
1PlageLabadie Beaches (Royal Caribbean)LabadieNordNord19.7850-72.2480+1 800 933 2121https://royalcaribbean.comPrivé (Royal Caribbean)OpérationnelExcursions croisières
2PlageChouchou BaiePort-MargotNordNord19.7020-72.6000PubliqueOpérationnelBaie isoléesnorkeling
3PlageM&M Beach (Camp Louise)Acul-du-NordNordNord19.7000-72.6500+509 37 51 67 59mmbeachresort@yahoo.frPrivéCourt termeResort plage
4PlagePlage de Limonade (historique)LimonadeNordNord19.6500-72.1000PubliqueOpérationnelSite historique libération
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CategoryIDNameType/FieldLocation/RegionDetailsExtraDestinationDEST_MILOTMilot...PropriétaireMaturitéNotesColumn1DepartmentRegionTelephoneProprietaireMaturite_2014Notes_2014
0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...PrivéOpérationnelDistillerie rhum clairinNaNNaNNaNNaNNaNNaNNaN
1NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...PrivéMoyen termePlantation agricoleNaNNaNNaNNaNNaNNaNNaN
2NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...CommunautaireOpérationnelArtisanat rhumNaNNaNNaNNaNNaNNaNNaN
3NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...PrivéOpérationnelFerme cacao bioNaNNaNNaNNaNNaNNaNNaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TypenameCommuneDepartmentRegionGPS_LatGPS_LonTelephoneEmailSite_webOwnershipMaturityNotesIncluded
0Site CulturelRue DistilleryCap-HaïtienNordNord19.757-72.206PrivéOpérationnelDistillerie rhum clairin
1Site CulturelGrand Marnier PlantationCap-HaïtienNordNord19.757-72.206PrivéMoyen termePlantation agricole
2Site CulturelGuildiveries TraditionnellesDiversNordNord19.650-72.150CommunautaireOpérationnelArtisanat rhum
3Site CulturelJean-Baptiste Chavanne Cocoa FarmDiversNordNord19.700-72.200PrivéOpérationnelFerme cacao bio
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CategoryIDNameType/FieldLocation/RegionDetailsExtraDestinationDEST_MILOTMilot...PropriétaireMaturitéNotesColumn1DepartmentRegionTelephoneProprietaireMaturite_2014Notes_2014
0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...ISPANOpérationnelUNESCOentrée ~10 USDNaNNaNNaNNaNNaNNaN
1NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...ISPANOpérationnelUNESCOruines royalesNaNNaNNaNNaNNaNNaN
2NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...GouvernementOpérationnelFort colonialNaNNaNNaNNaNNaNNaNNaN
3NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...PubliqueOpérationnelArt taïno précolombienNaNNaNNaNNaNNaNNaNNaN
4NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...GouvernementCourt termeFort côtierNaNNaNNaNNaNNaNNaNNaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TypenameCommuneDepartmentRegionGPS_LatGPS_LonTelephoneEmailSite_webOwnershipMaturityNotesIncluded
0Site HistoriqueCitadelle LaferrièreMilotNordNord19.6040-72.2210+509 36 69 47 47https://ispan.gouv.htISPANOpérationnelUNESCOentrée ~10 USD
1Site HistoriquePalais Sans-SouciMilotNordNord19.6018-72.2186+509 36 69 47 47https://ispan.gouv.htISPANOpérationnelUNESCOruines royales
2Site HistoriqueFort LibertéFort-LibertéNordNord19.7000-72.0300GouvernementOpérationnelFort colonial
3Site HistoriquePétroglyphes de Sainte-SuzanneSainte-SuzanneNordNord19.6500-72.1000PubliqueOpérationnelArt taïno précolombien
4Site HistoriqueFort PicoletLabadeeNordNord19.7800-72.2500GouvernementCourt termeFort côtier
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CategoryIDNameType/FieldLocation/RegionDetailsExtraDestinationDEST_MILOTMilot...PropriétaireMaturitéNotesColumn1DepartmentRegionTelephoneProprietaireMaturite_2014Notes_2014
0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Gouvernement haïtienOpérationnelHub principal internationalNaNNaNNaNNaNNaNNaNNaN
1NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Gouvernement haïtienOpérationnelAccès principal au NordNaNNaNNaNNaNNaNNaNNaN
2NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Gouvernement haïtienOpérationnelAéroport régional SudNaNNaNNaNNaNNaNNaNNaN
3NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Gouvernement haïtienOpérationnelProche grottes SudNaNNaNNaNNaNNaNNaNNaN
4NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Gouvernement haïtienOpérationnelAccès Sud-OuestNaNNaNNaNNaNNaNNaNNaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CategoryIDNameType/FieldLocation/RegionDetailsExtraDestinationDEST_MILOTMilot...PropriétaireMaturitéNotesColumn1DepartmentRegionTelephoneProprietaireMaturite_2014Notes_2014
0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Ministère du TourismeOpérationnelPlus grande grotte Haïtispéléo guidéeNaNNaNNaNNaNNaNNaN
1NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Ministère du TourismeOpérationnelGrotte avec formations karstiquesNaNNaNNaNNaNNaNNaNNaN
2NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Ministère du TourismeOpérationnelGrotte majeurecascades internesNaNNaNNaNNaNNaNNaN
3NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Ministère du TourismeOpérationnelGrotte mythique vodouNaNNaNNaNNaNNaNNaNNaN
4NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Ministère du TourismeOpérationnelAccès randonnéeNaNNaNNaNNaNNaNNaNNaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CategoryIDNameType/FieldLocation/RegionDetailsExtraDestinationDEST_MILOTMilot...PropriétaireMaturitéNotesColumn1DepartmentRegionTelephoneProprietaireMaturite_2014Notes_2014
0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Ministère du TourismeOpérationnelCanyon aventurevia ferrataNaNNaNNaNNaNNaNNaN
1NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...Ministère du TourismeOpérationnelRavine avec bassinsNaNNaNNaNNaNNaNNaNNaN
2NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...OpérationnelCanyon escarpéNaNNaNNaNNaNNaNNaNNaNNaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TypeNomCommuneDépartementRégionGPS_LatGPS_LonTéléphoneEmailSite_webPropriétaireMaturitéNotesColumn1
0AéroportToussaint Louverture International (PAP)TabarreOuestNational18.579964-72.292542+509 48 94 3000info@aan.gouv.hthttps://aan.gouv.htGouvernement haïtienOpérationnelHub principal internationalNaN
1AéroportCap-Haïtien International (CAP)Cap-HaïtienNordNord19.732900-72.194800+509 22 62 05 07NaNhttps://aan.gouv.htGouvernement haïtienOpérationnelAccès principal au NordNaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Column1Column2Column3Column4Column5Column6Column7
0CategoryIDNameType/FieldLocation/RegionDetailsExtra
1DestinationDEST_CAPCap-HaïtienCityNordHistoric city with colonial heritage and night...NaN
\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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
1DestinationDEST_MILOTMilotTownNordParc National Historique sites (Citadelle, Palais Sans Souci)NaN
0DestinationDEST_MILOTMilotTownNordParc National Historique sites (Citadelle, Pal...NaN
1DestinationDEST_LABADIELabadieVillageNordFishing village; boat access onlyNaN
2DestinationDEST_FORTLIBFort-LibertéTownNord-EstColonial forts and calm bayNaN
3DestinationDEST_LIMONADLimonadeCommuneNordBord-de-Mer beaches and historyNaN
4DestinationDEST_CHOUCHOChouchou-BaieBeachNordLong sandy beach near BorgneNaN
........................
57HotelHOT_NORMSNorm’s Place B&BHotelLabadieGuesthouse, boat accessnormsplacelabadee@yahoo.com
58RestaurantR_CAP_LAKLa KayRestaurantCap-HaïtienCréole cuisine, terrace, music nightsClosed Monday
59RestaurantR_CAP_KOKKokiyajRestaurantCap-HaïtienSeafront bistroOpen 11:00–23:00
60RestaurantR_FORT_JOMJomela Bar RestaurantRestaurantFort-LibertéSmall capacityUnknown hours
61EventEVT_CARNCarnaval de Cap-HaïtienEventCap-HaNaNNaN
\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