Création d'une nouvelle colonne à partir de la sortie de Pandas Groupby().sum()
Lorsque vous travaillez avec des données en Python, c'est souvent nécessaire pour effectuer des calculs et créer de nouvelles colonnes dans un DataFrame en fonction des valeurs existantes. Dans cet exemple, nous cherchons à créer une nouvelle colonne (Data4) contenant la somme de Data3 pour chaque Date.
Utilisation de .transform()
Pour réaliser ceci, nous pouvons utiliser la méthode .transform() sur la colonne Data3 groupée. .transform() applique une fonction à chaque groupe et renvoie une série avec l'index aligné sur le DataFrame d'origine. Cela nous permet d'ajouter les valeurs calculées dans une nouvelle colonne.
df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum')
Dans l'exemple DataFrame fourni :
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] })
En utilisant .transform(), nous calculons la somme de Data3 pour chaque Date et attribuez-la à la nouvelle colonne Data4 :
df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum')
Le DataFrame résultant aura le Data4 souhaité colonne :
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
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!