python --version ou python3 --version sur mac pip --version
C'est comme installer
python -m pip install --upgrade pip
Commandes à passer : python -m pip install --upgrade pip pip --version pip install jupyter jupyter --version
jupyter notebook La commande ouvre un navigateur. On peut faire un file/new pour créer un fichier notebook ou ouvrir un fichier .ipynb existant déjà.
Le + permet d'ajouter des lignes On choisit le type de ligne : code (du code python), markdown (pour avoir des titres : on commence par # ou ## etc. pour le niveau de titre, raw pour taper du texte brut avec des passages à la ligne Le triangle noir permet d'exécuter 1 zone de saisie Le double triangle efface tout et exécute tout
Pour colorer les titres, on crée un fichier : home/.jupyter/custom/custom.css Pour ça, le plus simple est d'utiliser VS Code en ouvrant le dossier home (votre nom d'utilisateur)Dans le fichier css, on met, par exemple : h1 { color: blue; font-size: 5em; border: 2px solid blue; } h2 { color: green; font-size: 2em; border-bottom: 2px solid green; } h3 { color: red; font-size: 2em }
# selection des villes d'altidude_min > 1000 avec ['nom_ville', 'code_departement', 'altitude_min'] SQL : SELECT id, nom_ville, code_departement, altitude_min FROM villes WHERE altitude_min > 1000
Nombre de villes par département, et altitude moyenne des villes et altitude min des villes pour les villes d'altitude min > 1000 mètres, trié par département SQL ; SELECT code_departement, count(*) as nb_villes, avg(altitude_min) as altitude_moy, min(altitude_min) as altitude_min FROM villes WHERE altitude_min > 1000 GROUP BY code_departement ORDER BY CAST(code_departement AS SIGNED); -- on caster pour pouvoir trier. SIGNED c'est comme INT
On définit un attribut categorie avec 6 valeurs en fonction du nombre d'habitant en 2012: '1: inf_1_000' '2: inf_10_000' '3: inf_50_000' '4: inf_100_000' '5: inf_1_000_000' '6: sup_1_000_000' A partir de là, on veut le nombre de villes, l'altitude moyenne et l'altitude min par categorie et par département, trié par catégorie et par département SQL : SELECT count(*) from villes; SELECT CASE WHEN nb_hab_2012 < 1000 THEN '1: inf_1_000' WHEN nb_hab_2012 < 10000 THEN '2: inf_10_000' WHEN nb_hab_2012 < 50000 THEN '3: inf_50_000' WHEN nb_hab_2012 < 100000 THEN '4: inf_100_000' WHEN nb_hab_2012 < 1000000 THEN '5: inf_1_000_000' ELSE '6: sup_1_000_000' END AS categorie, code_departement, COUNT(nom_ville) AS nb_villes, AVG(altitude_min) AS altitude_moy, MIN(altitude_min) AS altitude_min FROM villes WHERE altitude_min > 1000 GROUP BY categorie, code_departement ORDER BY categorie, CAST(code_departement AS SIGNED); -- on caster pour pouvoir trier. SIGNED c'est comme INT
On filtre le résultat précédent : on ne prend que ceux pour lequel le nombre de villes est > 6 SQL : SELECT CASE WHEN nb_hab_2012 < 1000 THEN '1: inf_1_000' WHEN nb_hab_2012 < 10000 THEN '2: inf_10_000' WHEN nb_hab_2012 < 50000 THEN '3: inf_50_000' WHEN nb_hab_2012 < 100000 THEN '4: inf_100_000' WHEN nb_hab_2012 < 1000000 THEN '5: inf_1_000_000' ELSE '6: sup_1_000_000' END AS categorie, code_departement, COUNT(*) AS nb_villes, AVG(altitude_min) AS altitude_moy, MIN(altitude_min) AS altitude_min FROM villes WHERE altitude_min > 1000 GROUP BY categorie, code_departement HAVING COUNT(*) > 6 ORDER BY categorie, CAST(code_departement AS SIGNED); -- on caster pour pouvoir trier. SIGNED c'est comme INT