2016-12-09 7 views
0

yearカラムに基づいてデータフレームからいくつかの行を削除または削除したいとします。私はそれを行うには、次のコードを利用しています...年に基づくパンダドロップライン

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

私はこれらの行をターゲットにすることを望んでいる表現を渡しています。しかし、このコードを実行してもエラーは発生しませんが、データフレームにこれらの行がまだクエリされています。

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 

この行を削除するにはどうすればよいですか?それを行うの

答えて

2

好ましい方法は、ブール値のインデックスである(ただ条件を反転):ドロップを使用したい

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

場合は、削除される行のインデックスを渡す必要があります。したがって、usa_population[usa_population.year == '1959-']を選択した場合は、usa_population[usa_population.year == '1959-'].indexというインデックス属性にアクセスできます。これをドロップメソッドに渡すと、同じことが実行されます。

usa_population.drop(usa_population[usa_population.year == '1959-'].index) 
関連する問題