Heim > Backend-Entwicklung > Python-Tutorial > Wie vermeide ich NaN-Werte beim Hinzufügen gruppierter Summen als neue Spalte in Pandas?

Wie vermeide ich NaN-Werte beim Hinzufügen gruppierter Summen als neue Spalte in Pandas?

Barbara Streisand
Freigeben: 2024-12-22 19:59:17
Original
697 Leute haben es durchsucht

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

Erstellen einer neuen Spalte aus gruppierter Summierung

Problem

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.

Lösung

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

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

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!

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