Besserer Weg, um Nan-Reihen in Pandas zu fallen

Auf eigene Faust fand ich einen Weg, um Nan-Reihen aus einem Pandas-Dataframe zu fallen. Angesichts einer Dataframe, die mit Spalte x die Nan-Werte enthält, gibt es eine elegantere Möglichkeit, jede Zeile von dat die einen Nan-Wert in der x Spalte hat, zu löschen?

 dat = dat[np.logical_not(np.isnan(dat.x))] dat = dat.reset_index(drop=True) 

  • Pandas Neuling: Wie vergabe ich Werte basierend auf Spalteninhalten?
  • Drop eine Spalte, die eine Untermenge einer anderen Spalte in einem Dataframe ist
  • Zusammenführen von Dataframmen basierend auf Datumsbereich
  • Berechnen der Häufigkeit von DataFrameGroupBy Objektspalten (Pandas)
  • Parse durch eine xml in python
  • Drop Zeilen, wenn Wert in einer bestimmten Spalte ist keine Ganzzahl in Pandas Dataframe
  • 2 Solutions collect form web for “Besserer Weg, um Nan-Reihen in Pandas zu fallen”

    Du kannst das versuchen:

     dat.dropna() 

    Du könntest auch den param übergeben, how man fällt, wenn alle Etiketten nan sind oder irgendwelche der Etiketten nan sind

     dat.dropna(how='any') #to drop if any value in the row has a nan dat.dropna(how='all') #to drop if all values in the row are nan 

    Hoffe, dass Ihre Frage beantwortet :))

    Um Hiteshs Antwort zu erweitern, wenn du Zeilen löschen willst, wo 'x' speziell nan ist, kannst du den Teilmengenparameter verwenden. Seine Antwort wird Zeilen fallen, wo andere Spalten auch Nans haben

     dat.dropna(subset=['x']) 
    Python ist die beste Programmiersprache der Welt.