Maison > développement back-end > Tutoriel Python > Comment éviter les valeurs NaN lors de l'ajout de résultats pandas groupby().sum() à une nouvelle colonne ?

Comment éviter les valeurs NaN lors de l'ajout de résultats pandas groupby().sum() à une nouvelle colonne ?

Mary-Kate Olsen
Libérer: 2024-12-15 11:53:11
original
904 Les gens l'ont consulté

How to Avoid NaN Values When Adding pandas groupby().sum() Results to a New Column?

Comment remplir une nouvelle colonne avec la sortie de pandas groupby().sum()

Lorsque vous travaillez avec des données, cela peut être utile pour créer une nouvelle colonne dans un DataFrame en fonction des résultats d'un calcul spécifique. L'un de ces calculs consiste à utiliser les fonctions groupby() et sum() dans pandas pour trouver la somme des valeurs d'un groupe particulier dans une colonne. Cependant, lorsque vous essayez de créer une nouvelle colonne avec cette somme, il est possible de rencontrer des valeurs NaN.

Considérez le code suivant :

df = pd.DataFrame({
    'Date' : ['2015-05-08', '2015-05-07', '2015-05-06', '2015-05-05', '2015-05-08', '2015-05-07', '2015-05-06', '2015-05-05'], 
    'Sym'  : ['aapl', 'aapl', 'aapl', 'aapl', 'aaww', 'aaww', 'aaww', 'aaww'], 
    'Data2': [11, 8, 10, 15, 110, 60, 100, 40],
    'Data3': [5, 8, 6, 1, 50, 100, 60, 120]
})

group = df['Data3'].groupby(df['Date']).sum()

df['Data4'] = group
Copier après la connexion

Lors de l'exécution de ce code, vous pouvez vous attendre à voir les valeurs calculées correctes pour chaque date (comme indiqué dans la variable de groupe), mais à la place, vous obtenez des valeurs NaN dans la colonne Data4 nouvellement créée.

Pour résoudre ce problème, vous devez utilisez la fonction de transformation. Cette fonction renvoie une série avec l'index aligné sur le DataFrame, vous permettant de l'ajouter en tant que nouvelle colonne. Voici le code corrigé :

df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum')
Copier après la connexion

Avec cette modification, vous réussirez à créer une nouvelle colonne Data4 avec les valeurs additionnées souhaitées.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal