Supposons que nous ayons un DataFrame simple comme ce qui suit :
import pandas as pd from random import randint df = pd.DataFrame({'A': [randint(1, 9) for x in range(10)], 'B': [randint(1, 9)*10 for x in range(10)], 'C': [randint(1, 9)*100 for x in range(10)]})
Notre objectif est de sélectionner les valeurs de la colonne « A » qui répondent à des critères pour les valeurs correspondantes dans les colonnes « B » et « C ».
Pour y parvenir, nous pouvons utiliser l'indexation booléenne. Tout d'abord, nous créons des objets de série booléenne pour chaque critère :
df["B"] > 50 (df["B"] > 50) & (df["C"] != 900)
Ces séries booléennes représentent les lignes qui satisfont aux critères respectifs. Nous pouvons ensuite utiliser ces séries comme indices pour sélectionner les valeurs souhaitées :
df["A"][df["B"] > 50] df["A"][(df["B"] > 50) & (df["C"] != 900)]
Nous pouvons également utiliser l'attribut .loc pour une indexation plus efficace. .loc nous permet de spécifier les lignes et les colonnes à récupérer à l'aide d'une seule instruction :
df.loc[(df["B"] > 50) & (df["C"] != 900), "A"]
Les deux méthodes sélectionnent efficacement les valeurs du DataFrame en fonction de critères complexes. Le choix entre utiliser l'indexation booléenne ou .loc dépend des préférences personnelles et de la lisibilité du code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!