python dataframe列應(yīng)用正則表達(dá)式篩選方式
dataframe列應(yīng)用正則表達(dá)式篩選
假設(shè)有如下的 DataFrame:
現(xiàn)在需要增加一列,名字為選擇原因,內(nèi)容為在經(jīng)營范圍中進(jìn)行搜索,如果發(fā)現(xiàn)含有 設(shè)備、汽車、網(wǎng)絡(luò) 中的任何一個詞的,就在選擇原因中寫上這個搜索到的詞,否則不填。
我們可以對列調(diào)用 apply 方法,使用正則表達(dá)式來進(jìn)行匹配,假設(shè) DataFrame 名稱為 df
代碼如下:
import re pattern = r'設(shè)備|汽車|網(wǎng)絡(luò)' # 一行超人 df['選擇原因'] = df['經(jīng)營范圍'].apply(lambda s: ''.join(set(re.findall(pattern, s))) if re.findall(pattern, s) else '')
dataframe通過正則表達(dá)式篩選包含的數(shù)據(jù)
示例
import re df=df.fillna('') df.loc[df.apply(lambda x:True if re.search('處理中|暫不解決',x['解決狀態(tài)'],re.I) else False,axis=1)]
判斷
lambda x:True if re.search(正則表達(dá)式,字符串,re.I) else False
符合條件的返回True 否則返回False
None處理
df=df.fillna('')
避免正則函數(shù)中接收非字符串內(nèi)容
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python 日志模塊 日志等級設(shè)置失效的解決方案
這篇文章主要介紹了python 日志模塊 日志等級設(shè)置失效的問題及解決方案,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05django 發(fā)送手機(jī)驗(yàn)證碼的示例代碼
本篇文章主要介紹了django 發(fā)送手機(jī)驗(yàn)證碼的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04DjangoWeb使用Datatable進(jìn)行后端分頁的實(shí)現(xiàn)
這篇文章主要介紹了DjangoWeb使用Datatable進(jìn)行后端分頁的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05