Eine Anfängerfrage: Ich versuche, den Mittelwert in einer Spalte von einem Datenrahmen zu berechnen, aber aus irgendeinem Grund, trotz der Verwendung von np.nanmean, gibt es mir das falsche Ergebnis (d. H. Es zählt die Nullen innerhalb des Nenners). np.nanmean funktioniert nicht in einem Dataframe?
Wie ich weiß nicht, wie in den Tabellen in dieser Frage einzufügen (! Irgendwelche Ratschläge wäre toll), hier ist ein Beispiel für das Problem das ich habe:
22.0
0
0
0
35
Das bin ich eine geben sollte Mittelwert von 28.5, aber wenn ich einlege:
np.nanmean(df)
Es gibt nur 11.4 zurück.
Jetzt habe ich mit Achseneinstellungen experimentiert, und auch versucht, meine 0s als numpy NaNs zu setzen, aber keiner von beiden scheint zu funktionieren.
Abgesehen davon, dass ich das manuell mache, gibt es etwas Einfaches, was ich vernachlässige innerhalb der Numpy/Panda-Bibliotheken?
Sie verstehen grundsätzlich nan, was bedeutet "keine Zahl" wie fehlende Daten oder das Ergebnis einer ungültigen Operation (z. B. Division durch Null). Null ist eine gültige Zahl (wie Schwarz ist eine gültige Farbe, ich denke; zugegebenermaßen können Nullen von Python als falsch interpretiert werden, wenn Zahlen implizit als boolesche Zahlen behandelt werden, aber im Allgemeinen sind Nullen gültige Zahlen und werden sicherlich als gültig betrachtet für irgendwelche numerischen Methoden wie Durchschnitt, Maximum, etc. – JohnE
Hi JohnE - es ist ein sehr gerechter Punkt, den Sie machen. Ich vermute, was meine anfängliche Verwirrung verursachte, war, dass ich versuchte, diese 0 in np.nans zu konvertieren, was aus irgendeinem Grund nicht funktionierte (in Bezug auf meinen Mittelwert). Daher habe ich mich zunächst gefragt, ob da noch was anderes ist, aber schätze deine Kommentare – Foxtrot82