Je cherche à consolider plusieurs lignes de dtypes différents chez les pandas. J'ai mon .groupby()
paramètre: ['ID']
. La colonne ['A']
peut répéter des valeurs si elle est groupée par ['ID']
, ou différera dans les données pour chaque ligne. La colonne ['B']
doit simplement être agrégée via .sum()
.Grouper des lignes et définir des règles d'agrégation de colonnes
input_df
ID A B
140-1 Apple 3.2
140-1 Pear 5.0
143-2 Plum 1.2
143-2 Plum 2.0
Qu'est-ce qu'un excellent moyen de 1) groupe par ['ID']
, 2) la valeur d'affichage de ['A']
si elle est répétée après regroupement, première valeur de ['A']
sinon répété après le regroupement, et 3) la colonne de somme ['B']
dans une nouvelle trame de données ?
output_df
ID A B
140-1 Apple 8.2
143-2 Plum 3.2
Votre code ressemble à cela fonctionnerait sur tout autre dataframe. Pour une raison quelconque, je lance le 'TypeError: les objets' Series 'sont mutables, donc ils ne peuvent pas être hachés' sur mes données réelles. – ParalysisByAnalysis
Pouvez-vous essayer à la place? df.groupby ('ID'). agg ({'A': 'premier', 'B': 'sum'}). reset_index() – Vaishali
Je l'ai compris ... la manière dont j'appelais les colonnes était incorrect. Merci de votre aide! – ParalysisByAnalysis