《利用Python進行數據分析》---pandas入門


 pandas的數據結構介紹

要使用pandas,你首先要熟悉它的兩個主要數據結構:Series和DataFrame。雖然它們並不能解決所有問題,但它們為大多數應用提供了一種可靠的、易於使用的基礎

Series

Series的字符串表現形式為:索引在左,值在右。由於我們沒有為數據指定索引,於是會自動創建一個0到N-1的整數型索引。可以通過values和index屬性來獲取其數組表示形式和索引對象

可以指定索引。與NumPy相比,你可以通過索引的方式選取Series中的單個或一組值

NumPy運算(如根據布爾型數值進行過濾,標量乘法,應用數學函數等)都會保留索引和值之間的連接:

還可以將Series看成是一個定長的有序字典,如果數據被存放在一個Python字典中,也可以通過這個字典來創建Series

如果只傳入一個字典,則結果Series中的索引就是原字典的健。也可以指定索引

Series對象本身及其索引都有一個name屬性,該屬性跟pandas其他的關鍵功能關系非常密切:

 

總結:結合以上程序,放在Series里的可以有:列表;列表+索引;字典;字典+索引。一共四種

pandas的isnull和notnull函數可以用於檢測缺失數據。也可以用Series的實例方法:例如:obj4.isnull()

 


 

DataFrame 

DataFrame是一個表格型數據結構,含有一組有序的列,每列可以是不同的值類型(數值、字符串、布爾值等)。DataFrame既有行索引也有列索引,它可以被看作由Series組成的字典(和Series共用同一個索引)。其實,DataFrame中的數據是以一個或多個二維塊存放的(而不是列表、字典或別的一維數組結構)。有關DataFrame內部的技術細節遠遠超過本書所討論的范圍

 

 構建DataFrame的辦法有很多,最常用的一種是直接傳入一個由等長列表或NumPy數組組成的字典

結果DataFrame會自動加上索引(跟Series一樣),且全部列會被有序排列

 如果指定了列序列,則DataFrame的列就會按照指定順序進行排列:(指定的列序列,必須在data字典里)

如果指定的列不在data字典里,就會變成NaN

 通過類似字典標記的方式和屬性的方式,可以將DataFrame的列獲取為一個Series

 也可通過行索引字段ix來獲取各列

 

 關鍵字del用於刪除列

 

警告:通過索引方式返回的列只是相應數據的視圖而已,並不是副本。因此,對返回的Series所做的任何就地修改都會反映到源DataFrame上。通過Series的copy方法即可顯示地復制列。

可以輸入給DataFrame構造器的數據有:

二維ndarray

由數組、列表或元組組成的字典

由Series組成的字典

由字典組成的字典

字典或Series的列表

等等.....

詳細見書中表格5-1

 

跟Series一樣,都有index.name的屬性和columns.name的屬性

values屬性也會以二維ndarray形式返回DataFrame中的數據

如果DataFrame各列的數據類型不同,則值數組的數據類型就會選用能兼容所有列的數據類型


 

索引對象

(124頁)

媽的!服務器奔潰!全他媽刪了!沒保存的后果!


 

 (138頁)

 
好文要頂  關注我  收藏該文 


免責聲明!

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



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