Ich versuche, über Spalten eines Pandas-Datenrahmens zu summieren, und wenn ich NaNs in jeder Spalte habe, bekomme ich sum = 0; Ich hatte erwartet, Summe = NaN basierend auf den Dokumenten. Hier ist, was ich habe:Summe über alle NaNs in Pandas ergibt Null?
In [136]: df = pd.DataFrame()
In [137]: df['a'] = [1,2,np.nan,3]
In [138]: df['b'] = [4,5,np.nan,6]
In [139]: df
Out[139]:
a b
0 1 4
1 2 5
2 NaN NaN
3 3 6
In [140]: df['total'] = df.sum(axis=1)
In [141]: df
Out[141]:
a b total
0 1 4 5
1 2 5 7
2 NaN NaN 0
3 3 6 9
Die pandas.DataFrame.sum docs sagen: „Wenn eine ganze Zeile/Spalte NA ist, wird das Ergebnis sein, NA“, so verstehe ich nicht, warum „total“ = 0 und nicht NaN für Index 2. Was vermisse ich?
FYI Ich bekomme NaN wie erwartet (0.17.0.) – DSM
Danke für die Eingabe. . . Ich laufe auch 0.17.0, also ist das noch rätselhafter. – dgd
TBH das fühlt sich mehr wie ein Bugreport an ... Ich wollte vorschlagen, 'pd.show_versions()' anzuschauen, aber diese passen besser zu Github als zu SO. :-) – DSM