欧美中文字幕第一页-欧美中文字幕一区-欧美中文字幕一区二区三区-欧美中文字幕在线-欧美中文字幕在线播放-欧美中文字幕在线视频

如何七周成為數據分析師21:Python分析之numpy和pandas入門

我是創始人李巖:很抱歉!給自己產品做個廣告,點擊進來看看。  

本文是《 如何七周成為數據分析師 》的第二十一篇教程,如果想要了解寫作初衷,可以先行閱讀七周指南。溫馨提示:如果您已經熟悉Python,大可不必再看這篇文章,或只挑選部分。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

今天開始進入Python數據分析工具的教程。

數據分析絕對繞不過的三個包是numpy、scipy和pandas。numpy是Python的數值計算擴展,專門用來處理矩陣,它的運算效率比列表更高效。scipy是基于numpy的科學計算包,包括統計、線性代數等工具。pandas是基于numpy的數據分析工具,能更方便的操作大型數據集。后續的章節主要圍繞pandas講解。

numpy和pandas

numpy的數據結構是n維的數組對象,叫做ndarray。Python的list雖然也能表示,但是不高效,隨著列表數據的增加,效率會降低。

我們首先載入numpy包,因為它是第三方工具,所以每次使用前必須在代碼中載入。as是命名為別名,方便調用,np是numpy約定俗成的簡寫。

如何七周成為數據分析師21:Python分析之numpy和pandas入門
創建數組使用numpy中的array函數,新手要記住加np。我們將系統自帶的列表list轉換成了numpy中的數組。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

嵌套列表會被轉換為一個多維數組,它也可以被稱為矩陣。

array數組需要注意的是,它內部的元素必須為相同類型,比如數值或者字符串。可以用dtype查詢其類型,不用加括號。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

numpy的數據類型比較豐富,包括int8,int16,int32等,不過這塊更接近計算機底層,數據分析用不太到。當我們想轉換數據格式時,可以用astype函數。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

數組的計算非常方便,不要大量的循環即可批量運算。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

數組索引和列表相同,通過方括號和數字即可選擇,也可直接賦值。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

可以通過遞歸對多維數組進行篩選,如果省略了后面的索引,則返回次一級的維度,這一點和list一樣。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

numpy除了上述的基礎操作之外,還有reshape、T轉置、ufunc、sort等函數,功能強大,大家可以自行查閱文檔學習,這里我不再花費時間講解。對于數據分析師,pandas是一個更常用的包,在抽象概念上它更接近我們熟悉的excel和sql,也是最主要的分析工具。

pandas有兩個主要的數據結構,Series和DataFrame,記住大小寫區分,后續使用中不多提醒。Series類似于一維數組,和numpy的array接近,由一組數據和數據標簽組成。數據標簽有索引的作用。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

加載pandas包,通過Series函數生成一個對象。我們很明顯地看到,在jupyter上它的樣式不同于array,它是豎著的。右邊是我們輸入的一組數據,左邊是數據的索引,即標簽。數據標簽是pandas區分于numpy的重要特征。

索引不一定是從0開始的數字,它可以被定義。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

索引的概念有點像SQL的主鍵,不過它的功能更強大,分析師能夠很輕松的通過索引選取一個數據或者一組數據。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

index函數可以顯示Series的索引。Series和array一樣,通過方括號選取數據,當要選取多個數據時,應該用列表表示多個索引,所以第三個案例嵌套了兩層方括號。

如果數據是一個字典,也能直接通過這個字典創建Series。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

此時,字典的key就是Series的索引。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

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

DataFrame

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

構建DataFrame的方法有很多,最常用的是傳入一個字典。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

DataFrame會自動補充索引,并且將字典的key作為列標簽,即column。在這里,dict的key順序是DataFame的順序,不再是無序的。

DataFrame中可以通過info函數直接查看數據類型和統計。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

如何七周成為數據分析師21:Python分析之numpy和pandas入門

DataFrame的數據類型變更和numpy一樣,用astype就行,記住要賦值。df.age = df.age.astype,圖上只是舉例,沒有真的更改數據類型。

DataFrame的索引方式和Series一直,它選取的是列。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

返回的是一組Series,索引和原DataFrame一致。除了方括號選取,DataFrame還有更簡單的選取方法。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

行也可以通過通過位置獲取,用索引字段ix的方式。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

第二個方法不需要調用ix,直接以切片的形式獲取行,切片的用啊和數組一樣。記住,切片無法用單獨的數字選取,只能用冒號切選范圍。

列可以通過賦值的方式修改和添加,當列的名稱是全新,則會在DataFrame的最右邊自動加上新的一列。

如何七周成為數據分析師21:Python分析之numpy和pandas入門
如何七周成為數據分析師21:Python分析之numpy和pandas入門

列表和數組都可以賦值到列,長度必須匹配,列表是按照順序,數組的話,可以按index參數設置的索引對應,若為空,則填上缺失值。

DataFrame的index不可更改,這是為了數據的安全性,但我們能通過index函數獲取詳情。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

DataFrame在數據選取上面非常強大。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

它支持常用的邏輯判斷,例子中,后兩種數據選取是通過布爾數組過濾出我們想要的結果。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

df.sex == ‘男’返回了一個布爾數組(記住,是兩個等號,一個等號是賦值),然后通過布爾數組找出df中符合條件為true的結果。

現在我們希望找出年齡在20以下,且性別為男的人。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

這里用到布爾類型數據的計算公式,true and true 為true,false and true 為false。pandas中的邏輯符號,并且是&,或者是|。接下來過濾出性別為女,或者年齡為18的人。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

當邏輯條件復雜時,這種寫法并不優雅,比如性別為男,且年齡在18歲,以及性別為女,且年齡在18歲以上的兩類人群,這種過濾條件就比較復雜了。pandas中可以用query函數以類SQL語言執行查詢。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

query中可以直接使用列名,它的功能遠不至于此,大家有興趣可以深入學習。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

DataFrame可以直接在列上進行運算,當DataFrame和DataFrame之間運算時,按索引進行加減乘除。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

如果直接用加法,若列名匹配不上,會產生NaN 的缺失值,我們可以在后續后續fillna函數填充。另外一種方法是add函數,它可以直接通過參數選擇填充值。減乘除對應sub、mul、div。

DataFrame還有兩個常用函數,又特別容易搞混的是,iloc和loc。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

它們都是通過索引選取行,iloc是通過所在行的數字為索引,loc是所在行的標簽為索引,簡單講,iloc是第幾行,loc是標簽。當索引沒有標簽時,loc和iloc等價。兩者支持冒號的范圍選擇。

上文提到的過的ix,則是兩者的混合,即可以行號,也可以行索引。

當行和列需要同時選擇的時候,用逗號分割,逗號前是想要選擇的行,逗號后是想要選擇的列。

如何七周成為數據分析師21:Python分析之numpy和pandas入門

完整形式是ix[ 行1:行2, ?列1:列2 ],iloc和loc也支持行列同時選擇,方法一樣。新人接觸這幾塊比較容易混淆。后續聯系即可掌握。

大家如果想加深掌握這塊,除了敲一遍代碼,可以閱讀「利用Python進行數據分析」,很經典的入門書(部分內容有點老)。也可以多拿工作中的報表做練習。

到這里,numpy和pandas的基礎就講解的差不多了,更深入的應用,還是用實戰解決吧!下一章,將會用大家已經很熟悉的練習數據,以實際操作的方式完成一次數據分析。

相關閱讀

互聯網數據分析能力的養成,需一份七周的提綱

如何七周成為數據分析師01:常見的Excel函數全部涵蓋在這里了

如何七周成為數據分析師02:Excel技巧大揭秘

如何七周成為數據分析師03:手把手教你Excel實戰

如何七周成為數據分析師:Excel技巧之甘特圖繪制(項目管理)

如何七周成為數據分析師:Excel技巧之打造多級菜單

如何七周成為數據分析師04:數據可視化之經典圖表合集

如何七周成為數據分析師05:數據可視化之打造升職加薪的報表

如何七周成為數據分析師06:數據可視化之手把手打造BI

如何七周成為數據分析師07:快速掌握麥肯錫的分析思維

如何七周成為數據分析師08:如何建立數據分析的思維框架?

如何七周成為數據分析師09:寫給新人的數據庫指南

如何七周成為數據分析師10:SQL,從入門到熟練

如何七周成為數據分析師11:SQL,從熟練到掌握

如何七周成為數據分析師12:解鎖數據分析的正確姿勢(上)

如何七周成為數據分析師13:解鎖數據分析的正確姿勢(下)

如何七周成為數據分析師14:概率論的入門指南

如何七周成為數據分析師15:讀了本文,你就懂了概率分布

如何七周成為數據分析師16:數據分析必須懂的假設檢驗

如何七周成為數據分析師17:最全的運營數據指標解讀

如何七周成為數據分析師18:Python的新手教程

如何七周成為數據分析師19:Python的數據結構

如何七周成為數據分析師20:了解和掌握Python的函數

#專欄作家#

秦路,微信公眾號ID:tracykanc,人人都是產品經理專欄作家。

本文由 @秦路?原創發布于人人都是產品經理。未經許可,禁止轉載。

隨意打賞

python 數據分析python數據分析師快速成為數據分析師如何成為數據分析師七周成為數據分析師成為數據分析師什么是數據分析數據分析師招聘如何成為分析師數據分析方法
提交建議
微信掃一掃,分享給好友吧。
主站蜘蛛池模板: 国产欧美一区视频在线观看 | 99九九成人免费视频精品 | 日本一级毛片中文字幕 | 国产精品国语自产拍在线观看 | 日本aaaa视频 | 国产亚洲图片 | 国产精品毛片一区二区三区 | 久草免费在线视频 | 国产精品资源在线观看 | 伊人网久久网 | 99久久这里只精品国产免费 | 国产日韩精品一区在线不卡 | 久草视频大全 | 亚洲免费视频在线 | 99热久久国产综合精品久久国产 | 私人影院aaaaa毛片 | 伊人高清视频 | 最近中文字幕无吗高清视频 | 国产亚洲精彩视频 | 欧美日韩亚洲国产一区二区三区 | 一本色道久久88加勒比—综合 | 日本a视频在线观看 | 操久在线 | 欧美高清在线精品一区二区不卡 | 天天操夜夜操天天操 | 日本中文字幕在线观看视频 | 91这里只有精品 | 国产欧美视频综合二区 | 国产日韩欧美在线一区二区三区 | 久久精品影视 | 很黄的网站在线观看 | 亚洲精品一区91 | 久久综合影院 | 中文日本在线 | 99伊人| 久久中文字幕久久久久91 | 国产高清不卡视频 | 激情影院a | 亚洲乱码视频 | 欧美一区二区在线观看视频 | 日本欧美一区二区三区不卡视频 |