TP 4 : Les volcans sujet#

On commence par éxécuter la commande %load_ext sql qui est une magic command spécifique à Jupyter Notebook. Elle sert à charger l’extension ipython-sql, qui permet d’exécuter du code SQL directement dans des cellules Jupyter comme si c’était du Python natif :
%load_ext sql
Ensuite, on établit une connexion SQL entre notre Jupyter et notre base de données SQLite locale nommée volcans.db :
%sql sqlite:///volcans.db
On exécute la cellule suivante pour configurer l’affichage des résultats SQL dans notre notebook Jupyter lorsqu’on utilise l’extension ipython-sql :
%config SqlMagic.style = '_DEPRECATED_DEFAULT'
Ici on liste les tables présentes dans notre base de données :
%%sql
SELECT name FROM sqlite_master WHERE type='table'
* sqlite:///volcans.db
Done.
| name |
|---|
| volcans |
Ensuite, on liste les colonnes dans la table volcans :
%%sql
PRAGMA table_info(volcans)
* sqlite:///volcans.db
Done.
| cid | name | type | notnull | dflt_value | pk |
|---|---|---|---|---|---|
| 0 | volcano | TEXT | 0 | None | 1 |
| 1 | name | TEXT | 0 | None | 0 |
| 2 | wiki | TEXT | 0 | None | 0 |
| 3 | elevation | INTEGER | 0 | None | 0 |
| 4 | lat | REAL | 0 | None | 0 |
| 5 | lon | REAL | 0 | None | 0 |
| 6 | eruption_date | TEXT | 0 | None | 0 |
| 7 | eruption_year | INTEGER | 0 | None | 0 |
| 8 | abstract | TEXT | 0 | None | 0 |
| 9 | photo | TEXT | 0 | None | 0 |
On peut alors répondre aux questions du TP4.
Partie 1 – Exploration de la base#
Lister les 10 volcans les plus hauts, classés par altitude décroissante. N’affichez que les noms et les altitudes.
Compter le nombre de volcans dont l’altitude est supérieure à 5000 mètres.
Afficher le nom, l’altitude et le lien Wikipédia pour les volcans ayant une altitude inférieure à 300m.
Partie 2 – Analyse temporelle#
Lister 10 volcans ayant eu une éruption après l’an 2000.
Trouver combien de volcans ont une année d’éruption connue (c’est-à-dire non nulle).
Trouver 10 volcans ayant l’éruption la plus lointaine, trier par ordre croissant d’année d’éruption.
Partie 3 – Données géographiques#
Trouver les volcans situés dans l’hémisphère sud.
Compter le nombre de volcans situés entre l’équateur (lat = 0) et 30°N.
Identifier les 5 volcans les plus au nord (par latitude décroissante).
Partie 4 – Requête avancée (bonus)#
Extraire 5 volcans ayant dans leur description (abstract) le mot “eruption”.