Heim >Backend-Entwicklung >Python-Tutorial >Wie vermeide ich NaN-Werte beim Hinzufügen gruppierter Summen als neue Spalte in Pandas?
Beim Versuch, eine neue Spalte in einem DataFrame aus den Ergebnissen einer Groupby-Summenoperation zu erstellen Bei Verwendung von Pandas stoßen einige Benutzer auf NaN-Werte in der neuen Spalte. Das Hauptproblem tritt auf, wenn versucht wird, einzelnen Zeilen gruppenspezifische Summen zuzuweisen.
Der Schlüssel zur Lösung dieses Problems liegt in der Verwendung der Transformationsfunktion, die eine Reihe mit ausgerichtetem Index zurückgibt zum DataFrame. Durch die Verwendung von „Transform“ können Sie das Ergebnis als neue Spalte zu Ihrem DataFrame hinzufügen.
Beachten Sie den folgenden Codeausschnitt:
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)
Ausgabe:
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 Wie dargestellt, spiegelt jede Zeile in der neuen Spalte „Data4“ nun die Summe der Data3-Werte für die entsprechende Datumsgruppe wider und löst damit effektiv das anfängliche Problem von NaN Werte.
Das obige ist der detaillierte Inhalt vonWie vermeide ich NaN-Werte beim Hinzufügen gruppierter Summen als neue Spalte in Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!