2016-12-09 2 views
0

Ich mag fällt einige Zeilen aus dem Datenrahmen auf der year Spalte basiert löschen oder zu löschen. Ich verwende den folgenden Code, um es zu tun ...Pandas Reihe basierend auf Jahr

usa_population.drop('year' == '1959-', axis=0, inplace=True) 

Ich übergebe einen Ausdruck in der Hoffnung, diese Zeilen zu zielen. Ich habe kein Fehler diesen Code ausgeführt wird, aber wenn ich die Datenrahmen die Zeilen noch dort abfragen ...

usa_population[usa_population.year == '1959-'] 

     year p_age p_female p_male  p_total 
    2886 1959- 0  1996399.23 2064922.61 4061321.83 
    2887 1959- 1  1998220.09 2070499.94 4068720.04 
    2888 1959- 2  1966510.93 2034099.69 4000610.62 
    2889 1959- 3  1921734.50 1985181.41 3906915.91 

Wie kann ich diese Zeilen fallen?

Antwort

2

Bevorzugte Art und Weise, dies zu tun ist boolean Indizierung (nur die Bedingung invertieren):

usa_population = usa_population[usa_population['year'] != '1959-'] 

Wenn Sie Drop verwenden möchten, müssen Sie die Indizes der Zeilen passieren fallen gelassen werden. Aus Ihrer Auswahl von usa_population[usa_population.year == '1959-'] können Sie auf das Indexattribut mit usa_population[usa_population.year == '1959-'].index zugreifen. Wenn Sie dies die Drop-Methode übergeben, wird es das gleiche tun:

usa_population.drop(usa_population[usa_population.year == '1959-'].index) 
Verwandte Themen