Maison >développement back-end >Tutoriel Python >Comment regrouper les lignes Pandas DataFrame et transformer les valeurs des colonnes en listes ?

Comment regrouper les lignes Pandas DataFrame et transformer les valeurs des colonnes en listes ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-18 13:44:17861parcourir

How to Group Pandas DataFrame Rows and Transform Column Values into Lists?

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!

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