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!