Python筛选爱荷华州指定10个达标县数据集的技术问题
爱荷华州目标县数据集筛选解决方案
问题根源
你写的代码用&(逻辑与)连接多个County == 县名判断,这要求某一行的County同时等于所有指定县名,显然不可能,所以返回空数据集。
正确实现流程
1. 多县名筛选
使用Pandas的isin()方法,这是一次性匹配多个值的标准写法:
# 定义需要筛选的10个县名列表 target_counties = [ "Polk", "Linn", "Scott", "Johnson", "Black Hawk", "Woodbury", "Dubuque", "Story", "Dallas", "Pottawattamie" ] # 执行筛选 filtered_data = ils[ils.County.isin(target_counties)]
2. 重命名与重置索引
# 重命名数据集(示例命名为ia_populous_counties) ia_populous_counties = filtered_data.copy() # 重置索引(drop=True参数会丢弃原索引列,避免冗余) ia_populous_counties = ia_populous_counties.reset_index(drop=True)
3. 验证筛选正确性
可以通过两种方式验证结果:
- 对比县名集合:
# 获取筛选结果中的唯一县名并排序 result_counties = sorted(ia_populous_counties["County"].unique().tolist()) # 与目标列表排序后对比,输出True则匹配正确 print(result_counties == sorted(target_counties))
- 查看基础统计信息:
# 查看筛选后的记录数 print(f"筛选得到{len(ia_populous_counties)}条记录") # 查看每个县的核心数据(假设人口列名为Population) print(ia_populous_counties[["County", "Population"]])
内容的提问来源于stack exchange,提问作者Ani_stuck
相关产品推荐
相关产品推荐

