python數據分析學習(2)pandas二維工具DataFrame講解


  下面繼續講解pandas的第二個工具DataFrame。

二:pandas數據結構介紹

2.DataFarme

  DataFarme表示的是矩陣的數據表,包含已排序的列集合,是一個二維數據工具。每一列可以是不同的數據類型值。它既有行索引又有列索引,可以看作是一組共享相同索引的Series對象。DataFarme的數組方法有很多,比如用index.name獲取某列的值,用values獲取行的值。這里先介紹一些常用的知識。

  (1)構建DataFrame

  有多種方式可以構建DataFrame,其中最常用的方式是利用包含等長度列表或NumPy數組的字典形成DataFrame:

# 下面是采用NumPy的字典的方式來進行構建DataFrame
data = {'a':[1,2,3,4],'b':[1.0,2.0,3.0,4.0],'c':['a','b','c','d']}
frame = pd.DataFarme(data)

  結果如下:

  產生的DataFrame的行索引會自動分配,列索引為字典的每個鍵。

  (2)head

  對於大型的矩陣數據,head方法將會只選出頭部的五行:

  (3)指定列

  如果指定了列,則會按照指定順序排列,用columns屬性,但是在數組字典中一定要存在該列的標簽名,如果沒有則在結果中出現缺失值:

  (4)指定行

  同樣的,也可以指定行,用index屬性。

  (5)獲取屬性

  獲取屬性可以用index獲取行,用columns獲取列。

  (6)獲取列內容

  獲取DataFrame列的值,可以像字典型標記或屬性那樣檢索Series:

  frame[column]對於任意列名均有效,而frame.column只在列名是有效的Python變量名時有效。

  (6)獲取行內容

  獲取DataFrame行的值,可以通過位置或者特殊屬性loc進行選取:

  (7)賦值

  將列表或者數組賦值給一個列時,值的長度必須和DataFrame的長度相匹配,並按照索引進行排序,在空缺的地方填充缺失值。

  如果被賦值的列不存在,會產生新列, 但是要注意的是要用frame['']語法復制,用frame.(列名)的語法無法創建新的列

  (8)刪除列

  del方法可以用於移除之前新建的列,這里刪除的是對應數據的視圖,會表現到原數組,如果需要復制,應該顯式地使用copy方法。

  (9)嵌套字典

  如果嵌套字典被賦值給DataFrame,pandas會將字典的鍵作為列,將內部字典的鍵作為行索引。

  (10)轉置

  這里可以用T屬性獲取該對象的轉置:

  在pandas中,可以用pd.Index()構造索引對象。


免責聲明!

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



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