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