Maison  >  Article  >  développement back-end  >  Comment diviser un DataFrame Pandas par une valeur de colonne ?

Comment diviser un DataFrame Pandas par une valeur de colonne ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-19 22:28:29274parcourir

How to Divide a Pandas DataFrame by a Column Value?

Comment diviser un DataFrame Pandas par une valeur de colonne

Le fractionnement d'un DataFrame Pandas en fonction d'une valeur de colonne peut être utile pour créer des sous-ensembles séparés de données. Supposons que vous ayez un DataFrame avec une colonne nommée « Ventes » et que vous souhaitiez le diviser en deux DataFrames : un contenant des lignes où « Ventes » est inférieur à une valeur spécifiée, et un autre contenant des lignes où « Ventes » est supérieur ou égal à cette valeur.

Pour y parvenir, vous pouvez utiliser l'indexation booléenne avec les étapes suivantes :

  1. Définissez la valeur de fractionnement : Attribuez la valeur souhaitée à une variable , s.
  2. Créer des masques booléens : Utilisez l'indexation booléenne pour créer deux masques : df['Sales'] < s (pour les valeurs inférieures à s) et df['Sales'] >= s (pour les valeurs supérieures ou égales à s).
  3. Diviser le DataFrame : Appliquer les masques booléens au DataFrame d'origine pour créer deux nouveaux DataFrames :

    • df1 = df[df['Sales'] >= s] (DataFrame avec 'Sales' >= s)
    • df2 = df[df['Ventes'] < s] (DataFrame avec 'Sales' < s)

Alternativement, vous pouvez inverser le premier masque à l'aide de l'opérateur ~ :

mask = df['Sales'] >= s
df1 = df[mask]
df2 = df[~mask]<p>Voici un exemple pour illustrer le processus :</p>
<pre class="brush:php;toolbar:false"><code class="python">df = pd.DataFrame({'Sales': [10, 20, 30, 40, 50], 'A': [3, 4, 7, 6, 1]})
print(df)

s = 30

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

df2 = df[df['Sales'] < s]
print(df2)</code>

Le résultat sera :

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

   A  Sales
2  7     30
3  6     40
4  1     50

   A  Sales
0  3     10
1  4     20

Cela montre comment diviser un DataFrame Pandas en deux en fonction d'une valeur de colonne spécifiée à l'aide de l'indexation booléenne.

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