Ich verwende die pandas.DataFrame.dropna Methode zum Löschen von Zeilen, die NaN enthalten. Diese Funktion gibt einen Datenrahmen zurück, der die abgelegten Zeilen ausschließt, wie in der Dokumentation gezeigt.
Wie kann ich eine Kopie der gelöschten Zeilen als separaten Datenrahmen speichern? Ist:
%Vor% liefert immer die gleichen Zeilen, die dropna fallen, wenn man annimmt, dass dropna mit subset=['list', 'of', 'columns']
?
Sie können dies tun, indem Sie den ursprünglichen DataFrame indizieren, indem Sie die unary-Methode verwenden ~
(Invert) -Operator , um die Umkehrung des NA-freien DataFrame zu geben.
Eine andere Möglichkeit wäre, die Implementierung von ~
zu verwenden. .
Ich wollte einen Kommentar hinterlassen, dachte mir aber, ich würde eine Antwort schreiben, da es ziemlich kompliziert wird. Beginnen Sie mit dem folgenden Datenrahmen:
%Vor% Und sagen wir wollen behalten Zeilen mit Nans in den Spalten col2
und col3
Eine Möglichkeit, dies zu tun, ist die folgende: Die basiert auf den Antworten von dieser Beitrag
Das gibt uns die Zeilen, die fallen gelassen würden, wenn wir Zeilen mit Nans in den Spalten von Interesse fallen lassen würden. Um die Spalten zu behalten, können wir denselben Code ausführen, aber mit ~
die Auswahl umkehren
Dies entspricht:
%Vor%Was wir testen können:
%Vor%Sie können das natürlich auf Ihren eigenen größeren Datenfeldern testen, sollten aber die gleiche Antwort erhalten.
Tags und Links python python-3.x pandas