python dataframe列应用正则表达式筛选方式
作者:NO23412号菜狗
这篇文章主要介绍了python dataframe列应用正则表达式筛选方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
dataframe列应用正则表达式筛选
假设有如下的 DataFrame:
现在需要增加一列,名字为选择原因,内容为在经营范围中进行搜索,如果发现含有 设备、汽车、网络 中的任何一个词的,就在选择原因中写上这个搜索到的词,否则不填。
我们可以对列调用 apply 方法,使用正则表达式来进行匹配,假设 DataFrame 名称为 df
代码如下:
import re pattern = r'设备|汽车|网络' # 一行超人 df['选择原因'] = df['经营范围'].apply(lambda s: ''.join(set(re.findall(pattern, s))) if re.findall(pattern, s) else '')
dataframe通过正则表达式筛选包含的数据
示例
import re df=df.fillna('') df.loc[df.apply(lambda x:True if re.search('处理中|暂不解决',x['解决状态'],re.I) else False,axis=1)]
判断
lambda x:True if re.search(正则表达式,字符串,re.I) else False
符合条件的返回True 否则返回False
None处理
df=df.fillna('')
避免正则函数中接收非字符串内容
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。