Regroupement de valeurs consécutives dans un DataFrame Pandas
Dans l'analyse de données, nous rencontrons souvent des situations où les données sont ordonnées et il est nécessaire de regrouper des valeurs consécutives. valeurs ensemble. Cette tâche peut être réalisée chez les pandas en utilisant des techniques de regroupement personnalisées.
Supposons que nous ayons un DataFrame avec une colonne nommée « a » contenant les valeurs suivantes :
[1, 1, -1, 1, -1, -1]
Notre objectif est de regrouper ces valeurs. valeurs en blocs consécutifs, comme ceci :
[1,1] [-1] [1] [-1, -1]
Pour ce faire, nous pouvons utiliser les éléments suivants étapes :
Voici le code qui les implémente étapes :
import pandas as pd df = pd.DataFrame({'a': [1, 1, -1, 1, -1, -1]}) print(df) custom_series = df['a'].ne(df['a'].shift()).cumsum() print(custom_series) for i, g in df.groupby(custom_series): print(i) print(g) print(g.a.tolist())
Cela génère le regroupement souhaité :
1 a 0 1 1 1 [1, 1] 2 a 2 -1 [-1] 3 a 3 1 [1] 4 a 4 -1 5 -1 [-1, -1]
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!