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 ?
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.
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)
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
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!