Maison >développement back-end >Tutoriel Python >Comment diviser un DataFrame Pandas en plusieurs DataFrames en fonction des valeurs de colonne à l'aide de Groupby ?

Comment diviser un DataFrame Pandas en plusieurs DataFrames en fonction des valeurs de colonne à l'aide de Groupby ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-27 15:34:101006parcourir

How to Split a Pandas DataFrame into Multiple DataFrames Based on Column Values Using Groupby?

Diviser une trame de données Pandas en fonction des valeurs de colonne à l'aide de Groupby

En Python, il est possible de diviser une trame de données Pandas en plusieurs trames de données en fonction de la valeurs dans une colonne spécifique. Cette technique est couramment utilisée pour créer des dataframes distincts pour chaque catégorie ou groupe unique dans la colonne.

Par exemple, considérons le dataframe suivant avec une colonne nommée "ZZ" :

df = 
        N0_YLDF  ZZ        MAT
    0  6.286333   2  11.669069
    1  6.317000   6  11.669069
    2  6.324889   6  11.516454
    3  6.320667   5  11.516454
    4  6.325556   5  11.516454
    5  6.359000   6  11.516454
    6  6.359000   6  11.516454
    7  6.361111   7  11.516454
    8  6.360778   7  11.516454
    9  6.361111   6  11.516454

Le L'objectif est de diviser cette trame de données en quatre nouvelles trames de données, chaque trame de données contenant les lignes où « ZZ » a une valeur spécifique : 2, 5, 6 et 7. Pour y parvenir, nous pouvons exploiter le Fonction Pandas "groupby".

gb = df.groupby('ZZ')    
[gb.get_group(x) for x in gb.groups]

La fonction "groupby" crée un objet GroupBy, qui regroupe les lignes du dataframe en fonction des valeurs de la colonne spécifiée ("ZZ" dans ce cas). Chaque valeur unique de "ZZ" devient un groupe au sein de l'objet GroupBy.

La ligne suivante utilise une compréhension de liste pour parcourir les groupes et récupérer chaque groupe en tant que trame de données distincte. La méthode "get_group" est appelée avec le nom de chaque groupe (c'est-à-dire les valeurs uniques de "ZZ") pour extraire la trame de données correspondante.

En conséquence, ce code génère quatre nouvelles trames de données, chacune représentant un sous-ensemble de les lignes du dataframe d'origine qui partagent la même valeur dans la colonne "ZZ".

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