Comment transformer des lignes de dataframe en listes groupées à l'aide de Pandas Groupby
Problème :
Donné un DataFrame avec plusieurs colonnes, le but est de regrouper les lignes en fonction d'une colonne spécifique (par exemple, la première colonne) et rassemblez les valeurs d'une autre colonne (par exemple, la deuxième colonne) dans des listes au sein de chaque groupe. Par exemple :
DataFrame d'origine :
a | b |
---|---|
A | 1 |
A | 2 |
B | 5 |
B | 5 |
B | 4 |
C | 6 |
Résultat souhaité :
a | new |
---|---|
A | [1, 2] |
B | [5, 5, 4] |
C | [6] |
Solution :
Pour y parvenir résultat, la fonction groupby des pandas peut être utilisée avec la méthode apply() pour convertir chaque groupe en un list.
import pandas as pd # Create a DataFrame df = pd.DataFrame({'a': ['A', 'A', 'B', 'B', 'B', 'C'], 'b': [1, 2, 5, 5, 4, 6]}) # Group by the "a" column and create lists of "b" values grouped_list = df.groupby('a')['b'].apply(list) # Reset the index to obtain a DataFrame df1 = grouped_list.reset_index(name='new')
Explication :
Le DataFrame résultant, df1, contiendra les listes groupées souhaitées :
a new 0 A [1, 2] 1 B [5, 5, 4] 2 C [6]
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!