1. 程式人生 > >6-感覺身體被掏空,但還是要學Pandas(上)

6-感覺身體被掏空,但還是要學Pandas(上)

搜索結果 分配 淘寶 時間 amr 一次 記得 每天 包含

關註群主朋友圈的人都知道,本周群主過得RIO充實,每天工作到半夜寫爬蟲,先後寫了Linkedin,生E經、生意參謀以及淘寶關鍵詞搜索結果等爬蟲。記得去年寫工商信息爬蟲時是灰頭土臉的,雖然每爬一次隨機sleep幾秒,但還是頻繁被封!對比之下,爬淘寶是相當愉快的,爬爬歇歇是spider基本禮儀,淘寶也回饋我一個process finished with exit code 0。這真是一個好兆頭,感覺積攢多年的人品要爆發了!

雖說是勞累的一周,感覺身體被掏空,但還是要打起精神來學Pandas。因為它在Python機器學習中的角色實在太重要啦!Pandas包含高級的數據結構和精巧的工具,使得在Python中處理數據非常快速和簡單(為啥叫熊貓呢?群主也百思不得其解。P

ython + DAta ANalysiS?感覺腦袋被掏空……)

千裏之行始於足下,萬丈高樓起於磚頭。讓我們擼起袖子加油幹,一起努力搬磚吧ヾ(o???)?

Pandas引進了兩種新的數據類型:Series(序列)和DataFrame(數據框),都是基於Numpy構造的(意思是操作起來很高效!List的元素可以是任何對象,所以需要同時保存指針和數值;而Array的數據類型是一致的,可以直接在內存中保存數值,比較節約內存和CPU計算時間)。

技術分享

1

Series對象

Series是一維數據結構,類似數組(Array)、列表(List)、表格中的一列(Column)。它給每個元素分配一個類似標簽的索引(Index)。默認索引是從0開始的自然數。

技術分享

也可以給索引賦字符串類型的值,並給序列取名:

技術分享

技術分享

Series中對於值的描述性統計相關函數如下:

技術分享

俗話說:文不如表,表不如圖。下面我們來學習如何利用Series作圖!

技術分享

比較復雜的一個例子(含折線圖、柱狀圖、箱線圖、餅圖),請點擊查看原圖:

技術分享

2

DataFrame對象

DataFrame是由行和列組成的表格式數據結構,類似 Excel或數據庫中的表格, 每一列裏是一樣的數據類型, 列和列之間數據類型可以不一樣。DataFrame可以看作一組Series的集合(每個Series是一列數據,並且所有列共享行索引)。

最簡單的DataFrame初始化方法(可以看作4行2列的表格):

技術分享

為DataFrame設定行索引名和列名:

技術分享

比較復雜的DataFrame初始化方法(同時設定行索引、列名):

技術分享

另一種字典式的DataFrame初始化方法(key是列名,value是每一列的值):

技術分享

DataFrame中的重要屬性(行索引,列索引,值):

技術分享

訪問DataFrame中的某一列(把列索引當成屬性或字典的鍵值):

技術分享

通過ix定義靈活多變的多維索引(城市套路深,我要回農村?_?):

技術分享

技術分享

DataFrame的描述性統計相關函數如下:

技術分享

窺一斑以見全豹:

技術分享

寫完這些,感覺思想得到了凈化,靈魂得到了升華……希望小夥伴們看完也有同感。下周講Pandas中操作大型數據集(從CSV文件讀取數據)和時間序列(Time series),敬請期待:)

6-感覺身體被掏空,但還是要學Pandas(上)