在數(shù)據(jù)分析中,免不了的就是數(shù)據(jù)的比較和處理。pandas作為數(shù)據(jù)分析處理常用的python第三方庫,他提供了兩種數(shù)據(jù)結(jié)構(gòu),也對提供了一些比較運算符和比較方法,那么接下來就讓我們來看看pandas比較方法有哪些吧。
一、比較運算符和比較方法
比較運算符用于判斷是否相等和比較大小,Python中的比較運算符有==、!=、<、>、<=、>=六個,Pandas中也一樣。
在Pandas中,DataFrame和Series還支持6個比較方法,詳見下表。
方法 | 英文全稱 | 用途 |
eq | equal to | 等于 |
ne | not equal to | 不等于 |
lt | less than | 小于 |
gt | greater than | 大于 |
le | less than or equal to | 小于等于 |
ge | greater than or equal to | 大于等于 |
對于比較操作,==和!=支持各種類型的數(shù)據(jù)互相比較,而<、>、<=、>=對數(shù)據(jù)類型有限制,如整數(shù)可以與浮點數(shù)比較大小,但整數(shù)不能與字符串比較大小,會報錯。這一點,適用于后面的所有比較。
二、兩個DataFrame比較
1. 用算術(shù)運算符比較
兩個DataFrame進(jìn)行比較,是將DataFrame中對應(yīng)位置的數(shù)據(jù)進(jìn)行比較。
使用比較運算符,兩個DataFrame的形狀必須相同,索引必須相等(索引順序必須相同),否則會報錯。
2. 用比較方法比較
直接用DataFrame調(diào)用比較方法,傳入另一個DataFrame,即可完成比較操作。
使用比較方法時,兩個DataFrame的形狀可以不相同,索引也可以不相同。結(jié)果是能兼容兩個被比較DataFrame的新DataFrame,原理如下圖。
三、兩個Series比較
1. 用算術(shù)運算符比較
使用比較運算符,兩個Series的長度必須相同,索引必須相等(索引順序必須相同),否則會報錯。
2. 用比較方法比較
使用比較方法,兩個Series的長度可以不相同,索引也可以不相同。結(jié)果是能兼容兩個被比較Series的新Series,原理同DataFrame。
四、與數(shù)字或字符串比較
1. DataFrame與數(shù)字比較
用DataFrame中的每個數(shù)據(jù)都與數(shù)字進(jìn)行比較,返回對應(yīng)位置的布爾值,Series同理。比較方法和運算符作用相同。
2. DataFrame與字符串比較
將每個數(shù)據(jù)都與指定的字符串進(jìn)行比較,Series同理。比較方法和運算符作用相同。
用多維數(shù)據(jù)與單個數(shù)據(jù)進(jìn)行比較時,要注意數(shù)據(jù)的類型,如果有不支持的比較,會報錯。
五、與array進(jìn)行比較
比較操作還支持DataFrame或Series與numpy中的array數(shù)據(jù)進(jìn)行比較。array沒有索引,所以對索引沒有要求,但形狀必須相同,否則會報錯。比較方法和運算符作用相同。
到此這篇pandas比較方法和比較運算符的全部介紹就結(jié)束了。更多pandas操作學(xué)習(xí)請搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章。