Pandas-二進制操作

Pandas數(shù)據(jù)結(jié)構(gòu)之間執(zhí)行二進制操作,要注意下列兩個關(guān)鍵點:

1.多維(DataFrame)與低維(Series)對象之間的廣播機制

2.計算中的缺失值處理

這兩個問題可以同時,但下面我們先介紹怎么分開處理。

匹配/廣播機制

DataFrame支持add()、sub()、mul()、div()、radd()、rsub()等方法執(zhí)行二進制操作。廣播機制重點關(guān)注輸入的Series,通過axis關(guān)鍵字,匹配index或columns即可調(diào)用這些函數(shù)。


還可以用Series對齊多層索引DataFrame的某一層次。


Series與Index還支持divmod()內(nèi)置函數(shù),該函數(shù)同時執(zhí)行向下取整除與模運算,返回兩個與左側(cè)類型相同的元組。

divmod還支持元素級運算:



缺失值與填充缺失值

Series與DataFrame的算數(shù)函數(shù)支持fill_value選項,即用指定值替換某個位置的缺失值。比如,兩個DataFrame相加,除非兩個DataFrame里同一個位置都有缺失值,其相加的和仍為NaN,如果只有一個DataFrame里存在缺失值,則可用fill_value指定一個值來替代NaN,當(dāng)然,也可以用fillna把NaN替換為想要的值。



比較操作

Series與DataFrame還支持eq、ne、lt、gt、le、ge等二進制比較操作的方法:



這些操作生成一個與左側(cè)輸入對象類型相同的Pandas對象,即dtype為bool。boolean對象可用于索引操作。

布爾簡化

empty、any、all、bool可以把數(shù)據(jù)匯總簡化至單個布爾值。


還可以進一步把上面的結(jié)果簡化為單個布爾值。


通過empty屬性,可以驗證Pandas對象是否為空。


用bool方法驗證單元素Pandas對象的布爾值



比較對象是否等效

一般情況下,多種方式都能得出相同的結(jié)構(gòu)。以df+df與df*2為例。測試這兩種計算方式的結(jié)構(gòu)是否一致,大部分人都會用(df+df==df*2).all(),但是這個表達式的結(jié)果時False。


布爾型DataFrame df+df==df*2中有False值是因為兩個NaN值的比較結(jié)果為不相等:


為了驗證數(shù)據(jù)是否等效,Series與DataFrame等N維框架提供了equals()方法,用這個方法驗證NaN值的結(jié)果為相等。


但這里要注意Series與DataFrame索引的順序必須一致,驗證結(jié)果才能為True。



比較array型對象

用標(biāo)量值與Pandas數(shù)據(jù)結(jié)構(gòu)對比數(shù)據(jù)元素非常簡單:


Pandas還能對比兩個等長array對象里的數(shù)據(jù)元素:


對此不等長的Index或Series對象會觸發(fā)valueError:


但是這里的操作與NumPy的廣播機制不同:


NumPy無法執(zhí)行廣播操作時,返回False:


如果你想學(xué)習(xí)Python,但是找不到學(xué)習(xí)路勁和資源,歡迎上指尖編程

在線交互式學(xué)Python,更快更好!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • pandas 入門 pandas 的數(shù)據(jù)結(jié)構(gòu)介紹 pandas 有兩個重要的數(shù)據(jù)結(jié)構(gòu):Series和DataFra...
    昱灬巖閱讀 5,986評論 0 16
  • 呆鳥云:“在學(xué)習(xí) Python 數(shù)據(jù)分析的過程中,呆鳥發(fā)現(xiàn)直接看官檔就是牛逼啊,內(nèi)容全面、豐富、詳細(xì),而 Pyth...
    呆鳥的簡書閱讀 2,065評論 2 13
  • 目錄: 5.1 pandas 的數(shù)據(jù)結(jié)構(gòu)介紹 5.1.1 Series 5.1.2 DataFrame 5.1.3...
    凌岸_ing閱讀 4,919評論 0 17
  • 引言 原始的數(shù)據(jù)有時候是一串文字(過度聚合),有時候是分散在多個位置的分離文件(過于分散)。數(shù)據(jù)的預(yù)處理就是要把原...
    DDuncan閱讀 1,006評論 0 0
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開了第一次的黨會,身份的轉(zhuǎn)變要...
    余生動聽閱讀 10,803評論 0 11

友情鏈接更多精彩內(nèi)容