2017-12-27 24 views
0

私はすべての米国の州と郡ごとの人口統計データを含むデータフレームを作成しています。文字列型セルの右文字が条件と一致しない場合のpandas dfのドロップライン

FIPS State Area_Name CENSUS_2010_POP ESTIMATES_BASE_2010 ... 
01000 AL Alabama   4779736   4780131    ...  
01001 AL Autauga County 54571   54571    ...  
01003 AL Baldwin County 182265   182265    ... 
01005 AL Barbour County 27457   27457    ... 

...  ... ...    ...    ...     ... 

私は(それが実際にドロップするラインのたくさんだ!)日米の状態に関する行だけを維持するために、郡に関するすべての行をドロップしたいと思います。 私の考えは、FIPS列に焦点を当て、状態に対応するFIPSだけを '000'で終わらせておくことでした。

for k in df.index: 
    if df.iloc[k,0][-3:] != '000': 
     df=df.drop(df.index[k]) 

私は次のようなエラーになっています:single positional indexer is out-of-boundsを は、文字列にFIPSを変換した後、私は次のことを試してみました。

答えて

0

ブールインデックスに基づいて行を選択し、

df[df['FIPS'].astype(str).str[-3:] == '000'] 


    FIPS State Area_Name CENSUS_2010_POP ESTIMATES_BASE_2010 ... 
0 1000 AL Alabama   4779736    4780131 ... 
すなわち strスライスの比較によって得られたブール
関連する問題