Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 1 · Sélection et filtrage

Sélectionner des colonnes, des lignes, filtrer

Colonnes

  • df['Nom'] : simples crochets, une colonne, renvoie une Series.
  • df[['Col1', 'Col2']] : doubles crochets (une liste de noms), renvoie un DataFrame.

Lignes : .iloc et .loc

RepèreExemple du cours
.iloc[] (Integer Location)position, à partir de 0df.iloc[0:5, 1] : 5 premières lignes de la 2e colonne
.loc[] (Label Location)étiquettes de lignes et de colonnesdf.loc[100:200, 'Nom']

Détail à connaître (précision ajoutée) : avec .iloc la borne de fin est exclue comme dans une liste Python ; avec .loc sur des étiquettes, la borne de fin est incluse.

Vérifie que tu as compris

Quelle écriture renvoie un DataFrame de deux colonnes ?

Vérifie que tu as compris

df.iloc[0:3] sélectionne :

Filtrer avec un masque booléen

Un masque booléen est une série de True/False ; seules les lignes à True sont gardées : df[df['Âge'] > 18]. Pour combiner :

OpérateurSensExemple (pandas)
&ETdf[(df.age > 20) & (df.ville == 'Paris')]
|OUdf[(a) | (b)]
~NONdf[~df.age.between(25, 35)]

Chaque condition se met entre parenthèses (les opérateurs &, | sont plus prioritaires que > ou ==), et on n'utilise pas and/or sur une Series. Deux méthodes pratiques : .isin([...]) (la valeur est-elle dans cet ensemble ?) et .between(a, b) (valeurs entre deux bornes, incluses par défaut).

En Python pur, les mots and, or, not, in et les chaînages a <= x <= b font le même travail dans une compréhension : [l for l in df if l["age"] > 20 and l["ville"] in ("Paris", "Lyon")].

Vérifie que tu as compris

Pourquoi écrire df[(df.age > 20) & (df.ville == 'Paris')] avec des parenthèses ?

Vérifie que tu as compris

Quelle méthode filtre les lignes dont la ville est Paris OU Toulouse sans écrire deux comparaisons ?

À toi de coder

Filtrer des employés

Voici un petit jeu de données d'employés (exemple ajouté, inspiré de donnees_employes.csv). On te demande deux filtres du TP, traduits en Python pur : les employés de Paris ou de Toulouse, et ceux dont l'âge n'est pas compris entre 25 et 35 ans (bornes incluses : l'équivalent de ~between(25, 35)). Pense à l'inclusion des bornes.

Ctrl/⌘+Entrée