pandas的數據篩選之isin和str.contains函數


篩選是在平時的工作中使用非常頻繁的功能,前文介紹了loc和iloc的篩選方法,現在繼續介紹一些篩選的方法。

 
DataFrame列表

以>,<,==,>=,<=來進行選擇(“等於”一定是用‘==’,如果用‘=’就不是判斷大小了):

 
選擇quantity>25的所有行
 
選擇數量大於20或單價大於100的所有行

使用 &(且) 和 |(或) 時每個條件都要用小括號括起來。

選取多列一定是兩個方括號,其中內側方括號代表是一個list:

 
使用一般方式
 
使用loc函數

如果要選擇某列等於多個數值或者字符串時,要用到.isin(), 我們把df修改了一下(isin()括號里面應該是個list):

 
使用isin函數篩選
 
使用loc函數篩選

平時使用最多的篩選應該是字符串的模糊篩選,在SQL語句里用的是like,在pandas里我們可以用.str.contains()來實現。

 
使用str.contains函數篩選
 
直接使用loc函數篩選

也可以使用  '|'  來進行多個條件的篩選:

 
篩選包含某一字符的行
 
篩選包含某一字符的行
 
多條件篩選

注意,這個‘|’是在引號內的,而不是將兩個字符串分別引起來。’&‘在這里不能用。

如果中間的.str不用的話,就會出錯,提示‘Series’數組沒有‘contains'函數。

 
str函數的作用

其實.str的作用就是將’Series‘轉換為類似Strings的結構,然后就可以用contains函數了。

 

作者:探索數據之美
鏈接:https://www.jianshu.com/p/805f20ac6e06


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM