使用Pandas多条件筛选CSV行并导出新CSV文件的实现问题
多条件叠加筛选实现方法
- 两个条件要同时生效,用逻辑与运算符
&拼接两个布尔条件即可,你已经把两个条件单独赋值为变量,直接拼接即可生效,不需要额外处理运算符优先级问题。 - 原条件1的多值匹配可以用
isin()方法简化写法,减少冗余代码,避免手写出错。 - 注意邮编比较的类型一致性:如果你的
Zip Code列是数值类型,要去掉比较值14800外层的引号,否则类型不匹配会导致筛选失效。
修正后的完整代码:
import pandas as pd df = pd.read_csv(excel_file_path) # 条件1:匹配指定报告周期,用isin简化多值或逻辑 is_report_period = df["Report Period"].isin(["2015-2016", "2016-2017", "2017-2018", "2018-2019"]) # 条件2:邮编小于14800,若Zip Code为数值类型,请去掉14800外层的引号 is_zip_code = df["Zip Code"] < "14800" # 同时满足两个条件的筛选写法,若要满足任意一个条件,把&换成|即可 new_df = df[is_report_period & is_zip_code] # 导出为csv文件,index=False表示不导出pandas默认生成的行索引列 new_df.to_csv("筛选结果.csv", index=False)
内容的提问来源于stack exchange,提问作者user16827039
相关产品推荐
相关产品推荐

