Maison >développement back-end >Tutoriel Python >Comment sélectionner les données d'un DataFrame pandas en fonction de plusieurs critères complexes ?

Comment sélectionner les données d'un DataFrame pandas en fonction de plusieurs critères complexes ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-24 00:50:18188parcourir

How to Select Data from a pandas DataFrame Based on Multiple Complex Criteria?

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!

Déclaration:
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
Article précédent:Tâches du week-end - ListeArticle suivant:Tâches du week-end - Liste