
使用Python進(jìn)行描述性統(tǒng)計(jì)
1 描述性統(tǒng)計(jì)是什么?
描述性統(tǒng)計(jì)是借助圖表或者總結(jié)性的數(shù)值來描述數(shù)據(jù)的統(tǒng)計(jì)手段。數(shù)據(jù)挖掘工作的數(shù)據(jù)分析階段,我們可借助描述性統(tǒng)計(jì)來描繪或總結(jié)數(shù)據(jù)的基本情況,一來可以梳理自己的思維,二來可以更好地向他人展示數(shù)據(jù)分析結(jié)果。數(shù)值分析的過程中,我們往往要計(jì)算出數(shù)據(jù)的統(tǒng)計(jì)特征,用來做科學(xué)計(jì)算的NumPy和SciPy工具可以滿足我們的需求。Matpotlob工具可用來繪制圖,滿足圖分析的需求。
2 使用NumPy和SciPy進(jìn)行數(shù)值分析
2.1 基本概念
與Python中原生的List類型不同,Numpy中用ndarray類型來描述一組數(shù)據(jù):
from numpy import array
from numpy.random import normal, randint
#使用List來創(chuàng)造一組數(shù)據(jù)
data = [1, 2, 3]
#使用ndarray來創(chuàng)造一組數(shù)據(jù)
data = array([1, 2, 3])
#創(chuàng)造一組服從正態(tài)分布的定量數(shù)據(jù)
data = normal(0, 10, size=10)
#創(chuàng)造一組服從均勻分布的定性數(shù)據(jù)
data = randint(0, 10, size=10)
2.2 中心位置(均值、中位數(shù)、眾數(shù))
數(shù)據(jù)的中心位置是我們最容易想到的數(shù)據(jù)特征。借由中心位置,我們可以知道數(shù)據(jù)的一個(gè)平均情況,如果要對新數(shù)據(jù)進(jìn)行預(yù)測,那么平均情況是非常直觀地選擇。數(shù)據(jù)的中心位置可分為均值(Mean),中位數(shù)(Median),眾數(shù)(Mode)。其中均值和中位數(shù)用于定量的數(shù)據(jù),眾數(shù)用于定性的數(shù)據(jù)。
對于定量數(shù)據(jù)(Data)來說,均值是總和除以總量(N),中位數(shù)是數(shù)值大小位于中間(奇偶總量處理不同)的值:
均值相對中位數(shù)來說,包含的信息量更大,但是容易受異常的影響。使用NumPy計(jì)算均值與中位數(shù):
from numpy import mean, median
#計(jì)算均值
mean(data)
#計(jì)算中位數(shù)
median(data)
對于定性數(shù)據(jù)來說,眾數(shù)是出現(xiàn)次數(shù)最多的值,使用SciPy計(jì)算眾數(shù):
[python] view plain copy
from scipy.stats import mode
#計(jì)算眾數(shù)
mode(data)
2.3 發(fā)散程度(極差、方差、標(biāo)準(zhǔn)差、變異系數(shù))
對數(shù)據(jù)的中心位置有所了解以后,一般我們會(huì)想要知道數(shù)據(jù)以中心位置為標(biāo)準(zhǔn)有多發(fā)散。如果以中心位置來預(yù)測新數(shù)據(jù),那么發(fā)散程度決定了預(yù)測的準(zhǔn)確性。數(shù)據(jù)的發(fā)散程度可用極差(PTP)、方差(Variance)、標(biāo)準(zhǔn)差(STD)、變異系數(shù)(CV)來衡量,它們的計(jì)算方法如下:
極差是只考慮了最大值和最小值的發(fā)散程度指標(biāo),相對來說,方差包含了更多的信息,標(biāo)準(zhǔn)差基于方差但是與原始數(shù)據(jù)同量級,變異系數(shù)基于標(biāo)準(zhǔn)差但是進(jìn)行了無量綱處理。使用NumPy計(jì)算極差、方差、標(biāo)準(zhǔn)差和變異系數(shù):
2.4 偏差程度(z-分?jǐn)?shù))
之前提到均值容易受異常值影響,那么如何衡量偏差,偏差到多少算異常是兩個(gè)必須要解決的問題。定義z-分?jǐn)?shù)(Z-Score)為測量值距均值相差的標(biāo)準(zhǔn)差數(shù)目:
當(dāng)標(biāo)準(zhǔn)差不為0且不為較接近于0的數(shù)時(shí),z-分?jǐn)?shù)是有意義的,使用NumPy計(jì)算z-分?jǐn)?shù):
通常來說,z-分?jǐn)?shù)的絕對值大于3將視為異常
2.5 相關(guān)程度
有兩組數(shù)據(jù)時(shí),我們關(guān)心這兩組數(shù)據(jù)是否相關(guān),相關(guān)程度有多少。用協(xié)方差(COV)和相關(guān)系數(shù)(CORRCOEF)來衡量相關(guān)程度:
協(xié)方差的絕對值越大表示相關(guān)程度越大,協(xié)方差為正值表示正相關(guān),負(fù)值為負(fù)相關(guān),0為不相關(guān)。相關(guān)系數(shù)是基于協(xié)方差但進(jìn)行了無量綱處理。使用NumPy計(jì)算協(xié)方差和相關(guān)系數(shù):
2.6 回顧
3 使用Matplotlib進(jìn)行圖分析
3.1 基本概念
使用圖分析可以更加直觀地展示數(shù)據(jù)的分布(頻數(shù)分析)和關(guān)系(關(guān)系分析)。柱狀圖和餅形圖是對定性數(shù)據(jù)進(jìn)行頻數(shù)分析的常用工具,使用前需將每一類的頻數(shù)計(jì)算出來。直方圖和累積曲線是對定量數(shù)據(jù)進(jìn)行頻數(shù)分析的常用工具,直方圖對應(yīng)密度函數(shù)而累積曲線對應(yīng)分布函數(shù)。散點(diǎn)圖可用來對兩組數(shù)據(jù)的關(guān)系進(jìn)行描述。在沒有分析目標(biāo)時(shí),需要對數(shù)據(jù)進(jìn)行探索性的分析,箱形圖將幫助我們完成這一任務(wù)。
在此,我們使用一組容量為10000的男學(xué)生身高,體重,成績數(shù)據(jù)來講解如何使用Matplotlib繪制以上圖形,創(chuàng)建數(shù)據(jù)的代碼如下
柱狀圖是以柱的高度來指代某種類型的頻數(shù),使用Matplotlib對成績這一定性變量繪制柱狀圖的代碼如下:
而餅形圖是以扇形的面積來指代某種類型的頻率,使用Matplotlib對成績這一定性變量繪制餅形圖的代碼如下:
3.2.2 定量分析(直方圖、累積曲線)
直方圖類似于柱狀圖,是用柱的高度來指代頻數(shù),不同的是其將定量數(shù)據(jù)劃分為若干連續(xù)的區(qū)間,在這些連續(xù)的區(qū)間上繪制柱。使用Matplotlib對身高這一定量變量繪制直方圖的代碼如下:
使用Matplotlib對身高這一定量變量繪制累積曲線的代碼如下:
3.3 關(guān)系分析(散點(diǎn)圖)
在散點(diǎn)圖中,分別以自變量和因變量作為橫縱坐標(biāo)。當(dāng)自變量與因變量線性相關(guān)時(shí),在散點(diǎn)圖中,點(diǎn)近似分布在一條直線上。我們以身高作為自變量,體重作為因變量,討論身高對體重的影響。使用Matplotlib繪制散點(diǎn)圖的代碼如下:
3.4 探索分析(箱形圖)
在不明確數(shù)據(jù)分析的目標(biāo)時(shí),我們對數(shù)據(jù)進(jìn)行一些探索性的分析,通過我們可以知道數(shù)據(jù)的中心位置,發(fā)散程度以及偏差程度。使用Matplotlib繪制關(guān)于身高的箱形圖的代碼如下:
繪制出來的箱形圖中,包含3種信息:
3.5 回顧
4 總結(jié)
描述性統(tǒng)計(jì)是容易操作,直觀簡潔的數(shù)據(jù)分析手段。但是由于簡單,對多元變量的關(guān)系難以描述?,F(xiàn)實(shí)生活中,自變量通常是多元的:決定體重不僅有身高,還有飲食習(xí)慣,肥胖基因等等因素。通過一些高級的數(shù)據(jù)處理手段,我們可以對多元變量進(jìn)行處理,例如特征工程中,可以使用互信息方法來選擇多個(gè)對因變量有較強(qiáng)相關(guān)性的自變量作為特征,還可以使用主成分分析法來消除一些冗余的自變量來降低運(yùn)算復(fù)雜度。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10