- Distance Calculation: Calculates the distance between each hotel and predefined points of interest, such as the Louvre Pyramid and the Eiffel Tower.
- Hotel Evaluation: Evaluates hotels based on their price, overall rating, number of reviews, and proximity to points of interest.
- Map Visualization: Uses
folium
to create an interactive map showing the location of hotels and points of interest with lines connecting hotels to the nearest attractions.
- Python 3.6+
- Python Libraries:
folium
,geopy
,pandas
You can install the necessary dependencies via pip:
pip install folium geopy pandas
To run the script, navigate to the directory containing the hotels_analysis.py
file and execute it with Python:
python hotels_analysis.py
The script will perform the following operations:
- Calculate the distances between the hotels and points of interest.
- Evaluate each hotel based on the defined criteria.
- Sort hotels based on their score.
- Display the top 5 hotels in the console.
- Generate an interactive map in the default browser showing the hotels, points of interest, and lines connecting the hotels to the nearest points of interest.
The data on hotels are stored in a list of dictionaries, each dictionary containing information such as address, price, overall rating, and the number of reviews. Points of interest are also stored in a dictionary with their geographical coordinates.
The map generated by the script provides a visual overview of the geographical situation of hotels relative to points of interest in Paris. Hotels are represented by blue icons, and points of interest by specific colored markers. Lines of different colors connect each hotel to points of interest, indicating relative proximity.
To calculate the score of each hotel, the following formula is used, where each component of the score is weighted differently to reflect its importance in the overall evaluation of the hotel:
Additionally, for each time a hotel appears in a top 3, its score is increased by 100 points.
-
Geographic Location, Cleanliness, Comfort, Personnel, Value for Money, and Overall Rating: These criteria are evaluated on a scale of 10, then weighted according to their respective importance (40% for geographic location, 30% for cleanliness and comfort, 20% for personnel, 10% for value for money, and 20% for overall rating). This accounts for various aspects of the hotel experience.
-
Price for Two Nights: The total cost for a two-night stay is subtracted from the calculated score, meaning more expensive hotels must compensate with higher quality in other categories to maintain a high score.
-
Number of Reviews: The total number of reviews (divided by 1000) is added to the score, highlighting the importance of previous user experiences.
-
Appearance in a Top 3: Hotels that frequently appear in top 3 lists receive a bonus, emphasizing their recognized and consistent excellence.
This holistic approach ensures that the final score reflects a balanced combination of quality, value, and customer satisfaction, thereby helping users make an informed choice when selecting a hotel.
- Calcul de distance : Calcule la distance entre chaque hôtel et des points d'intérêt prédéfinis, tels que la Pyramide du Louvre et la Tour Eiffel.
- Évaluation des hôtels : Évalue les hôtels en fonction de leur prix, note globale, nombre d'avis, et leur proximité aux points d'intérêt.
- Visualisation sur carte : Utilise
folium
pour créer une carte interactive montrant l'emplacement des hôtels et des points d'intérêt avec des lignes reliant les hôtels aux attractions les plus proches.
- Python 3.6+
- Bibliothèques Python :
folium
,geopy
,pandas
Vous pouvez installer les dépendances nécessaires via pip :
pip install folium geopy pandas
Pour exécuter le script, naviguez jusqu'au répertoire contenant le fichier hotels_analysis.py
et lancez-le avec Python :
python hotels_analysis.py
Le script effectuera les opérations suivantes :
- Calculer les distances entre les hôtels et les points d'intérêt.
- Évaluer chaque hôtel en fonction des critères définis.
- Trier les hôtels en fonction de leur score.
- Afficher les 5 meilleurs hôtels dans la console.
- Générer une carte interactive dans le navigateur par défaut montrant les hôtels, les points d'intérêt, et les lignes reliant les hôtels aux points d'intérêt les plus proches.
Les données sur les hôtels sont stockées dans une liste de dictionnaires, chaque dictionnaire contenant des informations telles que l'adresse, le prix, la note globale, et le nombre d'avis. Les points d'intérêt sont également stockés dans un dictionnaire avec leurs coordonnées géographiques.
La carte générée par le script fournit une vue d'ensemble visuelle de la situation géographique des hôtels par rapport aux points d'intérêt à Paris. Les hôtels sont représentés par des icônes bleues, et les points d'intérêt par des marqueurs colorés spécifiques. Des lignes de différentes couleurs relient chaque hôtel aux points d'intérêt, indiquant la proximité relative.
Pour calculer le score de chaque hôtel, la formule suivante est utilisée, où chaque composant du score est pondéré différemment pour refléter son importance dans l'évaluation globale de l'hôtel :
De plus, pour chaque fois qu'un hôtel apparaît dans un top 3, son score est augmenté de 100 points.
-
Localisation géographique, propreté, confort, personnel, rapport qualité/prix et évaluation générale : Ces critères sont évalués sur une échelle de 10, puis pondérés par leur importance respective (40 % pour la localisation géographique, 30 % pour la propreté et le confort, 20 % pour le personnel, 10 % pour le rapport qualité/prix, et 20 % pour l'évaluation générale). Cela permet de tenir compte de différents aspects de l'expérience hôtelière.
-
Prix pour deux nuits : Le coût total pour un séjour de deux nuits est soustrait du score calculé, ce qui signifie que les hôtels plus coûteux devront compenser par une qualité supérieure dans les autres catégories pour maintenir un score élevé.
-
Nombre d'avis : Le nombre total d'avis (divisé par 1000) est ajouté au score, soulignant l'importance de l'expérience des utilisateurs précédents.
-
Apparition dans un top 3 : Les hôtels qui apparaissent fréquemment dans les listes des trois meilleurs reçoivent un bonus, ce qui souligne leur excellence reconnue et constante.
Cette approche holistique garantit que le score final reflète une combinaison équilibrée de qualité, de valeur, et de satisfaction client, aidant ainsi les utilisateurs à faire un choix éclairé lors de la sélection d'un hôtel.