Ich habe einen Datenrahmen df:
20060930 10.103 NaN 10.103 7.981
20061231 15.915 NaN 15.915 12.686
20070331 3.196 NaN 3.196 2.710
20070630 7.907 NaN 7.907 6.459
Dann möchte ich Zeilen mit bestimmten Folgenummern auswählen, die in einer Liste angegeben sind. Angenommen, hier ist [1,3], dann links:
20061231 15.915 NaN 15.915 12.686
20070630 7.907 NaN 7.907 6.459
Wie oder welche Funktion kann das?
Sie können auch iloc verwenden:
Dies funktioniert nicht, wenn die Indizes in Ihrem Datenrahmen aufgrund vorheriger Berechnungen nicht der Reihenfolge der Zeilen entsprechen. In diesem Fall verwenden Sie:
... wie in anderen Antworten vorgeschlagen.
quelle
Ein anderer Weg (obwohl es ein längerer Code ist), aber es ist schneller als die obigen Codes. Überprüfen Sie es mit der% timeit-Funktion:
PS: Sie finden den Grund heraus
quelle
df.index.get_level_values(0).isin
für MultiindexBei großen Datenmengen ist es speichereffizient, nur ausgewählte Zeilen über den
skiprows
Parameter zu lesen .Beispiel
Dadurch wird nun ein DataFrame aus einer Datei zurückgegeben, die alle Zeilen außer 1 und 3 überspringt.
Einzelheiten
Aus den Dokumenten :
Diese Funktion funktioniert in Version Pandas 0.20.0+. Siehe auch das entsprechende Problem und einen verwandten Beitrag .
quelle