Maison >développement back-end >Tutoriel Python >Comment regrouper les lignes Pandas DataFrame et transformer les valeurs des colonnes en listes ?
Méthode pour regrouper les lignes DataFrame pour créer des listes dans GroupBy
Dans le domaine de la manipulation de données à l'aide de pandas, il est souvent nécessaire de manipuler les lignes DataFrame dans des formats spécifiques. Une exigence courante consiste à regrouper les lignes en fonction d'une colonne particulière et à récupérer les valeurs d'une autre colonne sous forme de listes.
Considérez un DataFrame avec les colonnes « a » et « b », comme indiqué ci-dessous :
a b A 1 A 2 B 5 B 5 B 4 C 6
Le but est de transformer ce DataFrame en un nouveau où les lignes sont regroupées par colonne « a », et les valeurs de la colonne « b » sont converties en listes pour chacune groupe. Le résultat souhaité ressemblerait à :
A [1, 2] B [5, 5, 4] C [6]
Pour y parvenir, nous pouvons exploiter les fonctions pandas 'groupby' et 'apply', comme démontré ci-dessous :
# Import the pandas library import pandas as pd # Create a DataFrame from the provided data df = pd.DataFrame( {'a':['A','A','B','B','B','C'], 'b':[1,2,5,5,4,6]}) # Group the DataFrame by column 'a' grouped = df.groupby('a') # Apply the list function to each group to get the 'b' values as lists group_b_lists = grouped['b'].apply(list) # Reset the index of the resulting Series to obtain a DataFrame df_result = group_b_lists.reset_index(name='b_lists') # Print the transformed DataFrame print(df_result)
Ce code est efficace regroupe le DataFrame d'origine par colonne « a », applique la fonction de liste à chaque groupe et attribue les listes résultantes à une nouvelle colonne appelée « b_lists ». Le DataFrame résultant est ensuite imprimé pour afficher la sortie souhaitée.
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!