Heim > Backend-Entwicklung > Python-Tutorial > Wie vermeide ich NaN-Werte beim Hinzufügen von pandas groupby().sum()-Ergebnissen zu einer neuen Spalte?

Wie vermeide ich NaN-Werte beim Hinzufügen von pandas groupby().sum()-Ergebnissen zu einer neuen Spalte?

Mary-Kate Olsen
Freigeben: 2024-12-15 11:53:11
Original
902 Leute haben es durchsucht

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

So füllen Sie eine neue Spalte mit der Ausgabe von pandas groupby().sum()

Bei der Arbeit mit Daten kann dies der Fall sein nützlich, um eine neue Spalte in einem DataFrame basierend auf den Ergebnissen einer bestimmten Berechnung zu erstellen. Eine solche Berechnung besteht darin, die Funktionen „groupby()“ und „sum()“ in Pandas zu verwenden, um die Summe der Werte für eine bestimmte Gruppe in einer Spalte zu ermitteln. Wenn Sie jedoch versuchen, eine neue Spalte mit dieser Summe zu erstellen, können NaN-Werte auftreten.

Beachten Sie den folgenden Code:

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
Nach dem Login kopieren

Wenn Sie diesen Code ausführen, können Sie Folgendes erwarten: die korrekten berechneten Werte für jedes Datum (wie in der Gruppenvariablen angezeigt), stattdessen erhalten Sie NaN-Werte in der neu erstellten Spalte „Data4“.

Um dieses Problem zu beheben, müssen Sie Folgendes tun Verwenden Sie die Transformationsfunktion. Diese Funktion gibt eine Reihe zurück, deren Index am DataFrame ausgerichtet ist, sodass Sie sie als neue Spalte hinzufügen können. Hier ist der korrigierte Code:

df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum')
Nach dem Login kopieren

Mit dieser Änderung erstellen Sie erfolgreich eine neue Data4-Spalte mit den gewünschten summierten Werten.

Das obige ist der detaillierte Inhalt vonWie vermeide ich NaN-Werte beim Hinzufügen von pandas groupby().sum()-Ergebnissen zu einer neuen Spalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage