Évaluation Python (EC321 et EC332)

Consignes

Vous devez traiter une ou plusieurs activité(s). Votre note dépendra du nombre d'activités traitées et de leur difficulté. Vous devrez envoyer vos scripts par courriel à olivier.nocent@univ-reims.fr avant le LUNDI 21 DÉCEMBRE à 18h.

1. Saison NBA 2018-2019 (traitement par lot, graphique)
Difficulté :

L'archive NBA2018-2019.zip contient les fichiers suivants :

teams.xlsx
liste des équipes NBA
ATL.xlsx, BKN.xlsx, BOS.xlsx, ...
liste des matchs (à domicile ou à l'extérieur) de l'équipe

Exercice

Écrivez un script score.py qui génère un diagramme à barres des moyennes des scores des matchs joués durant la saison 2018-2019.

Statistiques des matchs de la saison 2018-2019 de la NBA

2. citibikeNYC (API, cartographie)
Difficulté :

Citi Bike est le système de vélos en libre-service de la ville de New York, aux États-Unis. Il propose une API permettant de connaître l'emplacement et la capacité des stations réparties dans la ville.

https://gbfs.citibikenyc.com/gbfs/en/station_information.json

Exercice

Écrivez un script citibike.py qui crée une cartographie des stations de vélos en libre service.

Cartographie des stations de vélos avec leur descriptif (attribut name)

Le endpoint https://gbfs.citibikenyc.com/gbfs/en/station_status.json permet de connaître, en temps réel, le nombre de vélos disponibles dans chaque station.

Exercice

Complétez le script citibike.py afin de changer l'aspect (couleur et icône) des marqueurs de station en fonction du nombre de vélos disponibles.

Cartographie des stations avec une information visuelle sur la disponibilité des vélos

3. Brasseries aux USA (traitement par lot, API, cartographie)
Difficulté :

L'archive breweries.zip contient les fichiers suivants :

states.xlsx
Liste des états américains avec leur population et leur superficie en km2
AK.xlsx, AL.xlsx, AZ.xlsx
Liste des brasseries de l'état

Exercice

Écrivez un script breweries_map.py qui calcule une carte de chaleur correspondant à la densité de brasseries sur le territoire américain.

Dans la mesure où les brasseries listées dans les fichiers Excel ne sont pas géolocalisées, vous utiliserez l'API Nominatim afin d'obtenir la latitude et la longitude d'une brasserie à partir de son adresse au format suivant :

163 Central Park Sq, 87544-4029 Los Alamos,	NM, USA

Attention !

Certains noms de rue ne sont pas renseignés dans les fichier Excel et ont pour valeur NaN (Not a Number). Pour éviter de rencontrer des problèmes lors de la génération de l'adresse pour le géocodage, il conviendra de remplacer ces valeurs par une chaîne de caractères vide.

import numpy as np
import pandas as pd

df = df.replace(np.nan, '', regex=True)

Je vous recommande de tester votre script sur un petit nombre de fichiers Excel car les requêtes au niveau de l'API Nominatim peuvent être un peu lentes.

Cartographie des brasseries du Sud-Est des États Unis