Sélection avec des critères complexes à partir de pandas.DataFrame
Dans l'analyse de données à l'aide de Pandas, nous devons souvent sélectionner des lignes ou des colonnes spécifiques en fonction de critères complexes critères. Cette question montre comment sélectionner les valeurs de la colonne « A » étant donné que les valeurs correspondantes pour « B » et « C » remplissent certaines conditions.
Pour comprendre le problème, créons un exemple de DataFrame :
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)]})
Maintenant, nous voulons sélectionner des valeurs de « A » qui satisfont aux conditions suivantes :
Pour résoudre ce problème, nous pouvons utiliser les opérations de colonne de Pandas :
df["B"] > 50
Cela crée un objet série booléen où chaque élément correspond à une ligne dans 'B' et indique si la valeur 'B' respective est supérieure à 50.
(df["B"] > 50) & (df["C"] != 900)
Cela exploite les opérateurs de diffusion et logiques pour combiner les objets booléens Series, créant ainsi une nouvelle série où chaque élément indique si la ligne correspondante remplit les deux conditions.
Utiliser cette série comme un index, on peut extraire les valeurs 'A' :
df["A"][(df["B"] > 50) & (df["C"] != 900)]
Alternativement, en utilisant .loc syntaxe :
df.loc[(df["B"] > 50) & (df["C"] != 900), "A"]
Cette approche extrait efficacement les lignes qui répondent aux critères spécifiés, permettant une analyse ou des opérations plus approfondies sur les données sélectionnées.
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!