Maison > développement back-end > Tutoriel Python > Comment sélectionner des valeurs DataFrame en fonction de plusieurs critères dans Pandas ?

Comment sélectionner des valeurs DataFrame en fonction de plusieurs critères dans Pandas ?

Patricia Arquette
Libérer: 2024-12-05 13:09:10
original
885 Les gens l'ont consulté

How to Select DataFrame Values Based on Multiple Criteria in Pandas?

Sélection avec des critères complexes à partir de pandas.DataFrame

Sélection de valeurs spécifiques à partir d'un DataFrame en fonction de plusieurs critères

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)]})
Copier après la connexion

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 ».

Approche utilisant l'indexation booléenne

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)
Copier après la connexion

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)]
Copier après la connexion

Approche utilisant .loc

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"]
Copier après la connexion

Conclusion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal