Maison  >  Article  >  développement back-end  >  Comment diviser un DataFrame en fonction d'une valeur de colonne spécifique dans Pandas ?

Comment diviser un DataFrame en fonction d'une valeur de colonne spécifique dans Pandas ?

DDD
DDDoriginal
2024-10-19 22:35:02173parcourir

How to Split a DataFrame Based on a Specific Column Value in Pandas?

Diviser un DataFrame en fonction de la valeur de la colonne dans Pandas

Souvent dans l'analyse des données, nous rencontrons des situations où nous devons diviser un DataFrame en plusieurs DataFrames basés sur une valeur de colonne spécifique. Un tel cas est celui où nous souhaitons diviser un DataFrame en deux parties : une contenant des lignes avec des valeurs inférieures à un certain seuil et une autre contenant des lignes avec des valeurs supérieures ou égales à ce seuil.

Dans Pandas, nous pouvons accomplir cela. divisé en utilisant l'indexation booléenne. Voici comment réaliser cette répartition avec un exemple :

Considérons le DataFrame suivant avec une colonne nommée « Ventes » :

df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]})
print (df)

   A  Sales
0  3     10
1  4     20
2  7     30
3  6     40
4  1     50

Supposons que nous souhaitions diviser ce DataFrame en deux en fonction d'un Valeur de vente de 30 :

Répartition avec comparaison directe :

La méthode la plus simple consiste à utiliser la comparaison directe avec l'opérateur d'indexation booléen '>=' :

<code class="python">s = 30

df1 = df[df['Sales'] >= s]
print (df1)

   A  Sales
2  7     30
3  6     40
4  1     50</code>

Cela crée un nouveau DataFrame appelé df1 qui contient toutes les lignes où la valeur des ventes est supérieure ou égale à 30.

Fractionnement avec masque inverse :

Pour créer un DataFrame avec des lignes où Sales est inférieure à 30, nous pouvons inverser le masque en utilisant ~:

<code class="python">df2 = df[~mask]
print (df2)

   A  Sales
0  3     10
1  4     20</code>

Cela crée un nouveau DataFrame appelé df2 qui contient toutes les lignes où la valeur Sales est inférieure à 30.

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