如何在pandas中按条件筛选特定行?求助筛选仅Honda CRV的数据
筛选Honda CRV相关记录的解决方案
Excel/Google Sheets 操作方案
- 直接用内置筛选:选中车型列,点击筛选按钮,在文本筛选选项里选「包含」,输入
CRV或CR-V(覆盖带/不带横杠的写法)。如果有多种变体,选「自定义筛选」,设置「包含CRV」或「包含CR-V」的多条件。 - 公式辅助列:在空白列输入公式
=IF(OR(ISNUMBER(SEARCH("CRV",A2)),ISNUMBER(SEARCH("CR-V",A2))),"保留","排除")(把A2换成你车型列的第一个单元格),下拉填充后,筛选「保留」的行即可。
- 直接用内置筛选:选中车型列,点击筛选按钮,在文本筛选选项里选「包含」,输入
SQL 查询方案
用模糊匹配覆盖不同写法,同时结合Honda避免误筛:SELECT * FROM your_table WHERE (model_column LIKE '%Honda%CRV%' OR model_column LIKE '%Honda%CR-V%');如果需要排除特定变体(比如Hybrid版本),可以追加条件:
SELECT * FROM your_table WHERE (model_column LIKE '%Honda%CRV%' OR model_column LIKE '%Honda%CR-V%') AND model_column NOT LIKE '%Hybrid%';Python Pandas 处理方案
用正则表达式匹配所有CRV变体:import pandas as pd df = pd.read_csv("你的数据文件.csv") # 匹配带/不带横杠的CRV,忽略大小写,排除空值 crv_records = df[df['车型列名'].str.contains(r'Honda.*CR[-]?V', case=False, na=False)] # 若要排除特定版本,比如混动 crv_records = crv_records[~crv_records['车型列名'].str.contains('Hybrid', case=False)]
如果还是拿不准所有CRV的写法,先提取所有唯一车型值:
- Excel:选中车型列 → 数据选项卡 → 删除重复值,查看所有变体
- SQL:
SELECT DISTINCT model_column FROM your_table; - Pandas:
print(df['车型列名'].unique())
根据整理出的变体,再调整筛选条件即可。
内容的提问来源于stack exchange,提问作者Winston Mulyawan Setiabudi
相关产品推荐
相关产品推荐

