You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用pandas筛选CSV文件指定列中包含指定子串的所有行

解决方案

你可以使用pandas字符串列内置的str.contains()方法实现子串模糊匹配,该方法会逐行检测列值是否包含目标子串,返回布尔值序列用于筛选符合要求的行。

1. 基础匹配(区分大小写)

默认规则下区分大小写,仅匹配包含大写Fog的内容,同时新增na=False参数处理列中空值,避免空值返回NaN导致筛选逻辑报错:

import pandas as pd

df = pd.read_csv('weather_2012.csv')
neblina = df[df['Weather'].str.contains('Fog', na=False)]

2. 不区分大小写匹配

如果需要同时匹配fog、Fog、FOG等不同大小写格式的子串,可新增case=False参数:

neblina = df[df['Weather'].str.contains('fog', case=False, na=False)]

常用参数说明

  • 第一个位置参数为待匹配的目标子串,默认支持正则表达式,不需要正则时可添加regex=False提升匹配效率
  • case:布尔值,是否区分大小写,默认值为True
  • na:指定列中空值的匹配结果,建议设为False,空值会直接判定为不匹配
  • regex:布尔值,是否将目标子串作为正则表达式解析,默认值为True

内容的提问来源于stack exchange,提问作者Pablo Capon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 11:15:04