2017-12-27 5 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 슬라이싱 비교하여 얻은
관련 문제