Sélection avec des critères complexes à partir de pandas.DataFrame
Considérez le DataFrame suivant :
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)]})
Pour sélectionner des valeurs dans 'A' pour lequel les valeurs correspondantes pour 'B' sont supérieures à 50 et 'C' n'est pas égal à 900, nous pouvons utiliser les méthodes et les idiomes de Pandas.
Nous commençons par appliquer des opérations sur colonnes pour obtenir des objets de séries booléennes :
df["B"] > 50 (df["B"] > 50) & (df["C"] != 900)
Ces séries représentent les conditions qui nous intéressent. Nous pouvons puis indexez dans le DataFrame en utilisant ces conditions pour filtrer les données :
df["A"][(df["B"] > 50) & (df["C"] != 900)]
Alternativement, nous pouvons utiliser .loc pour obtenir le même résultat :
df.loc[(df["B"] > 50) & (df["C"] != 900), "A"]
Cette méthode offre plus de contrôle et permet une expérience d'indexation plus personnalisable.
Le DataFrame résultant contiendra uniquement les valeurs de « A » qui satisfont aux critères spécifiés.
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!