Menu
CoddyTech

Filtrer des lignes

Fait partie de la section Données et visualisations du Journey Machine Learning de Coddy. Leçon 38 sur 60.

La plupart des questions ne retiennent que certaines lignes : des appartements à moins de 1000 par mois, des patients de plus de 60 ans. Une comparaison sur une colonne donne True ou False pour chaque ligne, ce qui forme un masque :

Le tableau des appartements à côté de son masque, loyer inférieur à 1000 : True pour les lignes 0 et 4, False pour les autres ; les lignes 0 et 4 sont mises en évidence comme conservées, les autres s’estompent

flats = pd.DataFrame({
    "area": ["North", "Center", "East", "Center", "West"],
    "rooms": [2, 1, 3, 3, 2],
    "rent": [950, 1200, 1100, 1650, 800],
})
print(flats[flats["rent"] < 1000])

À l’intérieur des crochets du tableau, le masque conserve les lignes True, avec leurs étiquettes :

    area  rooms  rent
0  North      2   950
4   West      2   800

Combinez les conditions avec & (les deux) ou | (l’une ou l’autre), chacune entre ses propres parenthèses, comme pour les masques de tableau :

print(flats[(flats["rooms"] >= 2) & (flats["rent"] < 1200)])

Ceci affiche :

    area  rooms  rent
0  North      2   950
2   East      3  1100
4   West      2   800

Le texte fonctionne aussi : flats["area"] == "Center". Et .shape[0] compte les lignes correspondantes.

challenge icon

Défi

Moyen

Un club de randonnée répertorie ses sentiers dans trails.csv, avec les colonnes trail, km et climb_m (mètres de dénivelé positif). Le programme lit une distance maximale max_km et un dénivelé minimal min_climb.

  1. Conservez dans picked les sentiers d’une longueur maximale de max_km et présentant un dénivelé d’au moins min_climb mètres.
  2. Affichez picked.
  3. Affichez combien de sentiers correspondent, comme ci-dessous.

Pour une autre liste de sentiers :

        trail   km  climb_m
1  Bear Creek  6.0      300
5  Old Quarry  9.2      455
Trails that fit: 2

Essayez vous-même

import pandas as pd

trails = pd.read_csv("trails.csv")
max_km = float(input())
min_climb = int(input())

# Écrivez votre code ci-dessous
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Données et visualisations

Entraînez-vous par vous-même : Compilateur Python en ligne