您現在的位置是:首頁 > 攝影首頁攝影

Python資料分析入門篇:資料分析中的常用圖和常用庫介紹

由 師師不怕困難 發表于 攝影2021-08-28
簡介Numpy:Numpy是python科學計算的基礎包,它提供以下功能(不限於此):(1)快速高效的多維陣列物件ndarray(2)用於對陣列執行元素級計算以及直接對陣列執行數學運算的函式(3)用於讀寫硬碟上基於陣列的資料集的工具(4)線性代

什麼叫分析

一、什麼是資料分析:

資料分析

是指對資料進行控制、處理、整理、分析的過程。

在這裡,“資料”是指結構化的資料,例如:記錄、多維陣列、Excel 裡的資料、關係型資料庫中的資料、資料表等。

二、說說 Python 這門語言

Python資料分析入門篇:資料分析中的常用圖和常用庫介紹

Python 是現在最受歡迎的動態程式語言之一(還有 Perl、Ruby 等)。近些年非常流行用 Python 建站,比如流行的 Python Web 框架 Django。

Python 這類語言被稱為指令碼語言,因為它們可以編寫簡短粗糙的小程式,即指令碼。不過這好像在說 Python 無法構建嚴謹的軟體似的,其實經過幾年來不斷改良,

Python 不但擁有強大的資料處理功能,而且完全可以用它構建生產系統

不過由於 Python 是一種解釋型語言, 大部分 Python 程式碼都要比編譯型語言(比如 C++ 和 Java)的程式碼慢得多 。所以在那些要求延遲非常小的應用中,為了盡最大可能最佳化效能,使用 C++ 這種更低階且低生產率的語言更值得。

對於高併發、多執行緒的應用程式,Python 也不是一種理想的程式語言 ,這是因為 Python 有一個叫 GIL(全域性直譯器鎖)的東西,這是一種防止直譯器同時執行多條Python 位元組碼指令的機制。這並不是說 Python 不能執行真正多執行緒並行程式碼,只不過這些程式碼不能在單個 Python 程序中執行而已。

三、各種和資料分析相關python庫的介紹

Python資料分析入門篇:資料分析中的常用圖和常用庫介紹

1。Numpy:

Numpy是python科學計算的基礎包,它提供以下功能(不限於此):

(1)快速高效的多維陣列物件ndarray

(2)用於對陣列執行元素級計算以及直接對陣列執行數學運算的函式

(3)用於讀寫硬碟上基於陣列的資料集的工具

(4)線性代數運算、傅立葉變換,以及隨機數生成

(5)用於將C、C++、Fortran程式碼整合到python的工具

2。pandas :

pandas提供了使我們能夠快速便捷地處理結構化資料的大量資料結構和函式。pandas兼具Numpy高效能的陣列計算功能以及電子表格和關係型資料(如SQL)靈活的資料處理能力。它提供了複雜精細的索引功能,以便更為便捷地完成重塑、切片和切塊、聚合以及選取資料子集等操作。

對於金融行業的使用者,pandas提供了大量適用於金融資料的高效能時間序列功能和工具。

DataFrame是pandas的一個物件,它是一個面向列的二維表結構,且含有行標和列標。

ps。引用一段網上的話說明DataFrame的強大之處:

Excel 2007及其以後的版本的最大行數是1048576,最大列數是16384,超過這個規模的資料Excel就會彈出個框框“此文字包含多行文字,無法放置在一個工作表中”。

Pandas處理上千萬的資料是易如反掌的事情,同時隨後我們也將看到它比SQL有更強的表達能力,可以做很多複雜的操作,要寫的code也更少。 說了一大堆它的好處,要實際感觸還得動手碼程式碼。

3。matplotlib

matplotlib是最流行的用於繪製資料圖表的python庫。

4。Scipy

Scipy是一組專門解決科學計算中各種標準問題域的包的集合。

5。statsmodels: https://github。com/statsmodels/statsmodels 6。scikit-learn: http://scikit-learn。org/stable/

四、資料分析常用圖介紹:

折線圖:

折線圖用於顯示資料在一個連續的時間間隔或者時間跨度上的變化,它的特點是反映事物隨時間或有序類別而變化的趨勢。示例圖如下:

Python資料分析入門篇:資料分析中的常用圖和常用庫介紹

折線圖應用場景:

折線圖適合X軸是一個連續遞增或遞減的,對於沒有規律的,則不適合使用折線圖,建議使用柱狀圖。

如果折線圖條數過多,則不應該都繪製在一個圖上。

柱狀圖:

典型的柱狀圖(又名條形圖),使用垂直或水平的柱子顯示類別之間的數值比較。其中一個軸表示需要對比的分類,另一個軸代表相應的數值。

柱狀圖有別於直方圖,柱狀圖無法顯示資料在一個區間內的連續變化趨勢。柱狀圖描述的是分類資料,回答的是每一個分類中“有多少?”這個問題。 示例圖如下:

Python資料分析入門篇:資料分析中的常用圖和常用庫介紹

柱狀圖應用場景:

適用於分類資料對比。

垂直條形圖最多不超過12個分類(也就是12個柱形),橫向條形圖最多不超過30個分類。如果垂直條形圖的分類名太長,那麼建議換成橫向條形圖。

柱狀圖不適合表示趨勢,如果想要表示趨勢,應該使用折線圖。

直方圖:

直方圖(Histogram),又稱質量分佈圖,是一種統計報告圖,由一系列高度不等的條紋表示資料分佈的情況。一般用橫軸表示資料型別,縱軸表示分佈情況。 直方圖是數值資料分佈的精確圖形表示。為了構建直方圖,第一步是將值的範圍分段,即將整個值的範圍分成一系列間隔,然後計算每個間隔中有多少值。這些值通常被指定為連續的,不重疊的變數間隔。間隔必須相鄰,並且通常是(但不是必須的)相等的大小。

Python資料分析入門篇:資料分析中的常用圖和常用庫介紹

直方圖的應用場景:

顯示各組資料數量分佈的情況。

用於觀察異常或孤立資料。

抽取的樣本數量過小,將會產生較大誤差,可信度低,也就失去了統計的意義。因此,樣本數不應少於50個。

散點圖:

散點圖也叫 X-Y 圖,它將所有的資料以點的形式展現在直角座標系上,以顯示變數之間的相互影響程度,點的位置由變數的數值決定。

透過觀察散點圖上資料點的分佈情況,我們可以推斷出變數間的相關性。如果變數之間不存在相互關係,那麼在散點圖上就會表現為隨機分佈的離散地點,如果存在某種相關性,那麼大部分的資料點就會相對密集並以某種趨勢呈現。資料的相關關係主要分為:正相關(兩個變數值同時增長)、負相關(一個變數值增加另一個變數值下降)、不相關、線性相關、指數相關等,表現在散點圖上的大致分佈如下圖所示。那些離點叢集較遠的點我們稱為離群點或者異常點。

Python資料分析入門篇:資料分析中的常用圖和常用庫介紹

Python資料分析入門篇:資料分析中的常用圖和常用庫介紹

散點圖的應用場景:

觀察資料集的分佈情況。

透過分析規律,根據樣本資料特徵計算出迴歸方程。

餅狀圖:

餅狀圖通常用來描述量、頻率和百分比之間的關係。在餅圖中,每個扇區的弧長大小為其所表示的數量的比例。

Python資料分析入門篇:資料分析中的常用圖和常用庫介紹

餅狀圖的應用場景:

展示多個分類的佔比情況,分類數量建議不超過9個。

對於一些佔比值非常接近的,不建議使用餅狀圖,可以使用柱狀圖。

箱線圖:

箱線圖(Box-plot)又稱為盒須圖、盒式圖或箱型圖,是一種用作顯示一組資料分散情況資料的統計圖。因形狀如箱子而得名。在各種領域也經常被使用,它主要用於反映原始資料分佈的特徵,還可以進行多組資料分佈特徵的比較。箱線圖的繪製方法是:先找出一組資料的上限值、下限值、中位數(Q2)和下四分位數(Q1)以及上四分位數(Q3);然後,連線兩個四分位數畫出箱子;再將最大值和最小值與箱子相連線,中位數在箱子中間。

Python資料分析入門篇:資料分析中的常用圖和常用庫介紹

Python資料分析入門篇:資料分析中的常用圖和常用庫介紹

四分位數(Quartile)也稱四分位點,是指在統計學中把所有數值由小到大排列並分成四等份,處於三個分割點位置的數值。多應用於統計學中的箱線圖繪製。它是一組資料排序後處於25%和75%位置上的值。四分位數是透過3個點將全部資料等分為4部分,其中每部分包含25%的資料。很顯然,中間的四分位數就是中位數,因此通常所說的四分位數是指處在25%位置上的數值(稱為下四分位數)和處在75%位置上的數值(稱為上四分位數)。與中位數的計算方法類似,根據未分組資料計算四分位數時,首先對資料進行排序,然後確定四分位數所在的位置,該位置上的數值就是四分位數。與中位數不同的是,四分位數位置的確定方法有幾種,每種方法得到的結果會有一定差異,但差異不會很大。

上限的計算規則是: IQR=Q3-Q1 上限=Q3+1。5IQR 下限=Q1-1。5IQR

箱線圖的應用場景:

直觀明瞭地識別資料中的異常值。

利用箱線圖判斷資料的偏態。

利用箱線圖比較幾批資料的形狀。

箱線圖適合比較多組資料,如果知識要看一組資料的分佈情況,建議使用直方圖。

感覺不錯的話轉發關注一下哦~