1. 程式人生 > >Python — pandas

Python — pandas

src query 查看 我們 RR afr 字段 數組 spa

  

  Pandas有兩種數據結構:Series和DataFrame。

1、Series

  Series類似於一維數組,和numpy的array接近,由一組數據和數據標簽組成。數據標簽有索引的作用。數據標簽是pandas區分於numpy的重要特征。索引不一定是從0開始的數字,它可以被定義。

技術分享圖片 技術分享圖片

  Series有自動對齊索引的功能,當自定義的索引qinqin和字典隊員不上時,會自動選擇NaN,即結果為空,表示缺失。缺失值的處理會在後續講解。

2、DataFrame

  Series是一維的數據結構,DataFrame是一個表格型的數據結構,它含有不同的列,每列都是不同的數據類型。我們可以把DataFrame看作Series組成的字典,它既有行索引也有列索引。想象得更明白一點,它類似一張excel表格或者SQL,只是功能更強大。

  在構建DataFrame時,最最最常用的就是先創建一個data,data一般可以是字典和數組,再用a=DataFrame(data)來轉換為DataFrame結構。在DataFrame(data)時也可以同時傳入index和columns參數,兩個參數必須是列表型。

  技術分享圖片 技術分享圖片

  DataFrame中可以通過info函數直接查看數據類型和統計。列名後面是列的非空值統計量,以及數據類型,最後一行是DataFrame占用的內存大小,對於pandas來說,千萬行幾百兆的數據也是不再話下的。

1).構建DataFrame最常見的方法是傳入一個由等長列表或數組組成的字典:
例如:
    data
={ name:[bon,kate,jun,sam], stature:[102,112,136,90], grade:[70,76,98,88] } frame=DataFrame(data) DataFrame會自動加上索引,得到的結果為: name stature grade 0 bon 102 70 1 kate 112 76 2 jun 136 98 3 sam 90 88 2).也可以為DataFrame指定索引 frame2
=DataFrame(data,columns=[name,grade,stature,birthdate], index=[one,two,three,four]) 跟Series中一樣若在對應的列中找不到數據,就會產生缺失值NaN. name grade stature birthdate one bon 70 102 NaN two kate 76 112 NaN three jun 98 136 NaN four sam 88 90 NaN 3).取值和賦值 查看列:可用類似字典的方式獲取一個Series(即一個列的值),如:frame2[name]; 查看行:可用索引字段ix來獲取某行的值,如:frame2.ix[three]; 可用frame2[birthdate]=1990來直接對某一列進行賦值; 4).刪除某一列的值 del frame2[name] 5)將嵌套型字典轉化為DataFrame型時,外層的鍵作為列,內層的鍵作為行索引 例如: data={ newyork:{2001:51,2002:76}, houston:{2001:49,2002:90}, } DataFrame(data)得到結果為: newyork houston 2001 51 49
2002 76 90

  pandas中可以用query函數以類SQL語言執行查詢。query中可以直接使用列名。

技術分享圖片

Python — pandas