Archives Wild Code School
Python - GUI

Mini-projet data - Lieux culturels

Quête 6 sur 7 · 1 image archivée

Introduction

Dans cette quête, vous allez créer un véritable projet data de bout en bout, afin d'assembler toutes les notions que vous avez vues depuis le début, comme une grande partie de Lego.

lego

Pré-requis

Avez-vous bien terminé toutes ces quêtes avant de commencer ce projet ?

Quêtes liées
  • Quête 1154 (hors archive)
  • Quête 1467 (hors archive)
  • Quête 1151 (hors archive)
  • Quête 1152 (hors archive)
  • Quête 1521 (hors archive)
  • Quête 1627

Objectif

Le but de ce projet est de présenter un tableau de bord qui permettra d'aider un touriste à visiter la ville de Nantes. Votre tableau de bord devra présenter notamment des indicateurs sur les thématiques suivantes :

  • situation géographiques des lieux de visites
  • horaires d'ouverture avec des filtres :
    • si le touriste souhaite visiter un lieu en particulier : quels sont les horaires ?
    • si le touriste souhaite visiter un jour / heure particulier : quels établissements sont ouverts ?
  • pour certains établissements, des informations sur l'évolution de la fréquentation depuis 10 ans.

Sources de données

Vous vous appuierez sur différentes sources de données pour créer votre tableau de bord :

  • Le fichier des horaires des équipements culturels contient la liste des équipements et les horaires par jour de la semaine
  • L'API Nominatim pour obtenir les coordonnées de chaque équipement culturel
  • Pour certains musées, vous disposerez de l'historique de fréquentation. Attention, tous les musées ne sont pas renseignés, et des musées du département mais extérieurs à la ville sont présents. Votre tableau de bord inclura uniquement les musées nantais.

Le fichier des horaires des équipements culturels

Catégories

Il y a 2 grandes catégories d'équipements culturels :

  • les bibliothèques (qui incluent aussi les médiathèques et les ludothèques)
  • les musées et autres lieux de visite

Vous devrez rassembler ces catégories en créant une nouvelle colonne.

Les horaires

Les horaires sont différents suivant les jours de la semaine. De plus :

  • les horaires peuvent changer suivant l'année, il faut donc veiller à filtrer sur la colonne Période
  • Lorsque la colonne Date de l'exception est vide, c'est qu'il s'agit d'un horaire normal. Lorsqu'elle est remplie c'est qu'il y a une exception, par exemple un jour férié

Outils

Vous êtes libres d'utiliser les outils de votre choix. Mais nous vous incitons à utiliser :

  • python et la bibliothèque requests pour le géocoding
  • python et la bibliothèque pandas pour la transformation de données et les filtres
  • streamlit, datapane, plotly, Power BI ou Tableau pour la partie tableau de bord

Guide

Il est parfois difficile de commencer. Voici, à titre indicatif, un petit guide pour bien commencer :

  1. Téléchargez les 2 fichiers
  2. Chargez-les dans Pandas, et effectuez une rapide analyse exploratoire
  3. Filtrez pour ne conserver que les dates postérieures à 2022 (inclus, certains horaires sont en année scolaire)
  4. Créez une nouvelle colonne Type de lieu qui regroupera les 2 catégories demandées
  5. Regroupez les différents lieux, et effectuez le géocoding. Pensez à exporter le résultat pour ne pas avoir à le ré-effectuer (les musées ne vont pas déménager... la coordonnée d'hier sera la même demain)
  6. Créez une carte pour afficher les lieux. Ajoutez un filtre par catégorie.
  7. Filtrez pour conserver uniquement les horaires "normaux", et ajoutez ces horaires dans une info-bulle sur la carte.
  8. Effectuez une analyse exploratoire du fichier des fréquentations. Filtrez sur les lieux nantais. Créez différents graphiques sur l'évolution de fréquentation.
  9. Améliorez l'ensemble, par exemple en affichant l'historique de fréquentation directement dans les infobulles des établissements concernés.

Organisation

Cette quête vous prendra environ une semaine. Afin de ne pas faire déraper le planning, utilisez les bonnes pratiques de la méthode scrum, notamment les user stories et le kanban.

En ordre d'idée :

  • Lundi : Exploration du fichier des horaires, imports et nettoyage
  • Mardi : Géocoding, création de la carte sur l'outil choisi
  • Mercredi : Exploration du fichier de fréquentation, création des graphiques
  • Jeudi : Amélioration et lien entre les deux
  • Vendredi : finition et présentation

Challenge

C'est à vous de jouer maintenant !