Wie kann ich alle Zeilen eines Datenrahmens löschen, die eine NA in einer bestimmten Spalte haben?

8

Was ist der eleganteste Weg, um alle Zeilen in einem Datenrahmen mit einem NA -Wert in einer bestimmten Spalte zu löschen?

    
Thomas W. 08.01.2015, 16:14
quelle

4 Antworten

12

Ich weiß nicht, ob das Folgende die eleganteste Methode ist, alle Zeilen mit NA in einer bestimmten Spalte zu löschen, aber das ist eins .

Erzeugen eines Spielzeug-Datenrahmens

%Vor%

Filtern von Zeilen, deren "B" -Spaltenelement NA ist

%Vor%

Löschen von Zeilen, deren "B" -Spaltenelement NA ist

%Vor%     
Jubobs 08.01.2015, 17:28
quelle
6

Sagen Sie df ist Ihr Datenrahmen und A ist die Spalte mit fehlenden Werten. Sie können tun:

%Vor%     
BenjaminLind 08.01.2015 17:27
quelle
3
%Vor%
  • @> stammt aus dem Paket Lazy.jl und überschreibt im Grunde df @where(!isna(:B)) bis @where(df, !isna(:B)) .

  • @where wird vom Paket DataFramesMeta bereitgestellt. Das zweite Argument ist im Grunde eine Liste von Boolen, von denen Zeilen behalten werden sollten und die nicht sollten. Der spezielle Teil dieser Funktionen ist, dass :B für df[:B]

  • genauso kurz sein kann
bramtayl 13.06.2015 23:56
quelle
0

Um alle Zeilen zu löschen, die NA-Werte enthalten, führen Sie einfach dies aus, wenn df ein Datenframe ist:

%Vor%     
Yousuf 17.03.2018 04:11
quelle

Tags und Links