Maison > développement back-end > Tutoriel Python > Comment éviter les valeurs NaN lors de l'ajout de sommes groupées en tant que nouvelle colonne dans Pandas ?

Comment éviter les valeurs NaN lors de l'ajout de sommes groupées en tant que nouvelle colonne dans Pandas ?

Barbara Streisand
Libérer: 2024-12-22 19:59:17
original
687 Les gens l'ont consulté

How to Avoid NaN Values When Adding Grouped Sums as a New Column in Pandas?

Création d'une nouvelle colonne à partir d'une somme groupée

Problème

Lors de la tentative de création d'une nouvelle colonne dans un DataFrame à partir des résultats d'une opération de somme groupée en utilisant pandas, certains utilisateurs rencontrent des valeurs NaN dans la nouvelle colonne. Le principal problème survient lorsque l'on tente d'attribuer des sommes spécifiques à un groupe à des lignes individuelles.

Solution

La clé pour résoudre ce problème est d'utiliser la fonction de transformation, qui renvoie une série avec son index aligné. au DataFrame. En utilisant transform, vous pouvez ajouter le résultat en tant que nouvelle colonne à votre DataFrame.

Considérez l'extrait de code suivant :

import pandas as pd

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]
})

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

print(df)
Copier après la connexion

Sortie :

         Date   Sym  Data2  Data3  Data4
0  2015-05-08  aapl     11      5     55
1  2015-05-07  aapl      8      8    108
2  2015-05-06  aapl     10      6     66
3  2015-05-05  aapl     15      1    121
4  2015-05-08  aaww    110     50     55
5  2015-05-07  aaww     60    100    108
6  2015-05-06  aaww    100     60     66
7  2015-05-05  aaww     40    120    121
Copier après la connexion

As illustré, chaque ligne de la nouvelle colonne, Data4, reflète désormais la somme des valeurs Data3 pour le groupe de dates correspondant, résolvant ainsi le problème initial de NaN valeurs.

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