DataFrame數據框模糊查詢與去重方式
更新時間:2024年09月10日 14:38:05 作者:呀~吼
數據框模糊查詢通常使用contains函數和正則表達式來實現(xiàn),可以查詢以某個字符開頭、包含或結尾的數據,若數據類型不一致可能會報錯,需統(tǒng)一為str類型,數據框去重則通過drop_duplicates函數實現(xiàn),可指定列進行去重,并有多種處理重復值的方式
1.數據框模糊查詢
數據框查詢使用contains函數+正則表達式來實現(xiàn)。
語法格式如下:
data[data.列名.str.contains()]
1.1查詢以某某開頭的數據
data[data.列名.str.contains('^某某')]
1.2查詢包含某某的數據
data[data.列名.str.contains('某某')]
1.3查詢以某某結尾的數據
data[data.列名.str.contains('某某$')]
上述DataFrame模糊查詢是針對某列數據元素格式全為str格式,方可使用該方法!
若遇到下面這樣的報錯:
ValueError: Cannot mask with non-boolean array containing NA / NaN values
可能某列數據元素格式不全是str格式,可能存在int格式等等,因此把某列的數據格式統(tǒng)一成str格式就可以了!
解決方法如下:
data['列名']=data['列名'].apply(str)#把非字符串格式改為字符串格式
1.4多條件查詢
data[data.source.str.contains('某某|某某1')]
1.5對條件查詢結果進行刪除
data[-data.source.str.contains('某某|某某1')]
2.數據框去重
數據框去重使用drop_duplicates函數可以按某列去重,也可以按多列去重。
語法格式如下:
DataFrame.drop_duplicates(subset=None,keep='first',inplace=False)
參數解析:
DataFrame
:待去重的數據框。subset
:用來指定特定的列。根據指定的列對數據框去重。默認值為None,即DataFrame中一行元素全部相同時才去除。keep
:對重復值的處理方式??蛇x參數有first,last,False。默認值first,即保留重復數據第一條。若選last為保留重復數據的最后一條,若選False則刪除全部重復數據。inplace
:是否在原數據集上操作。默認值False,返回新數據框(原數據框不改變)。值為True時直接在原數據視圖上刪重,沒有返回值。
2.1按某列去重
data.drop_duplicates(subset='列名',keep='first',inplace=False)
2.2按多列去重
data.drop_duplicates(subset=['列名','列名1'],keep='first',inplace=False)
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python安裝virtualenv虛擬環(huán)境步驟圖文詳解
這篇文章主要介紹了python安裝virtualenv虛擬環(huán)境步驟,本文通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09Python實現(xiàn)網絡端口轉發(fā)和重定向的方法
這篇文章主要介紹了Python實現(xiàn)網絡端口轉發(fā)和重定向的方法,結合實例形式分析了Python基于threading和socket模塊實現(xiàn)端口轉發(fā)與重定向的具體操作技巧,需要的朋友可以參考下2016-09-09