我正在研究一个包含每个美国州和县的人口统计数据的数据框。
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列,并且只保留以'000'结尾的FIPS,这对应于状态。将FIPS转换为字符串后,我尝试了以下方法:
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
。
根据布尔索引选择行,通过str
切片比较得到的布尔值
df[df['FIPS'].astype(str).str[-3:] == '000']
FIPS State Area_Name CENSUS_2010_POP ESTIMATES_BASE_2010 ...
0 1000 AL Alabama 4779736 4780131 ...