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
Barbara StreisandOriginal
2024-12-22 19:59:17634Durchsuche

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)

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!

Stellungnahme:
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