Ich habe einen Datensatz basierend auf verschiedenen Wetterstationen,Python Pandas - Gruppen entfernen basierend auf NaN zählen Schwelle
stationID | Time | Temperature | ...
----------+------+-------------+-------
123 | 1 | 30 |
123 | 2 | 31 |
202 | 1 | 24 |
202 | 2 | 24.3 |
202 | 3 | NaN |
...
Und ich möchte Gruppen ‚stationID‘ entfernen, die mehr als eine bestimmte Anzahl von NaNs haben . Zum Beispiel, wenn ich tippe:
**>>> df.groupby('stationID')**
dann würde Ich mag Gruppen fallen, die (zumindest) eine bestimmte Anzahl von NaNs (etwa 30) innerhalb einer Gruppe. Wie ich es verstehe, kann ich nicht dropna (drischt = 10) mit groupby verwenden:
**>>> df2.groupby('station').dropna(thresh=30)**
*AttributeError: Cannot access callable attribute 'dropna' of 'DataFrameGroupBy' objects...*
Also, was wäre der beste Weg sein, mit Pandas zu tun?
Vielen Dank für die Antwort! Ich habe andere Variablen als die Temperatur. Also, unter Verwendung Ihres Codes, wie würde ich die kollektive Summe von NaNs berücksichtigen (dh: Ich möchte eine Gruppe entfernen, wo die kollektive Summe von NaNs in Variable1, Variable2, Variable3, ... kleiner ist als ein Schwellenwert) – mmeclimate
@mmeclimate, es ist nicht fair/Recht, die Frage zu ändern, nachdem es beantwortet wurde. Sie sollten eine andere Frage stellen und die zusätzlichen Details angeben. – Merlin
Bekam es. Ich werde das machen. – mmeclimate