第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁 慕課教程 Pandas 入門教程 Pandas 入門教程 Pandas 統(tǒng)計(jì)描述操作

Pandas 統(tǒng)計(jì)描述操作

1. 前言

上一節(jié)我們學(xué)習(xí)了 Pandas 庫的分組聚合操作,通過聚合函數(shù)對分組后的數(shù)據(jù)集進(jìn)行了描述性的統(tǒng)計(jì)分析,對于各組數(shù)據(jù)的分析起到了很好的幫助作用,那 Pandas 庫中除了上節(jié)我們講到的一些聚合分析函數(shù),還有哪些實(shí)用性較高的統(tǒng)計(jì)描述操作方法呢,本節(jié)課我們將對統(tǒng)計(jì)描述函數(shù)展開學(xué)習(xí)。

2. 描述性統(tǒng)計(jì)函數(shù)

下面我們列舉了幾個(gè)常用的重要函數(shù),上一節(jié)已經(jīng)講述了 count () , sum () , mean () 函數(shù),這里我們將不再講述:

函數(shù)名 說明
min 計(jì)算最小值
max 計(jì)算最大值
cumsum 計(jì)算累計(jì)總和
describe 計(jì)算匯總統(tǒng)計(jì)

下面我們通過具體的代碼數(shù)據(jù)實(shí)例看一下各個(gè)函數(shù)的應(yīng)用。

1. min()max() 函數(shù)

這兩個(gè)函數(shù)分別用于計(jì)算指定數(shù)據(jù)集中的最小值和最大值,默認(rèn)的 axis=0 ,按列進(jìn)行計(jì)算。

# 導(dǎo)入pandas包
import pandas as pd
# 初始化數(shù)據(jù)
df1=pd.DataFrame([[96,92],[85,None],[69,90]],
                 index=[['語文','數(shù)學(xué)','英語']],
                 columns=[['期中考試','期末考試']])
print(df1)
# --- 輸出結(jié)果 ---
    期中考試  期末考試
語文   96     92
數(shù)學(xué)   85     89
英語   69     90

# min 求數(shù)據(jù)集的最小值
df1.min()
# --- 輸出結(jié)果 ---
期中考試    69
期末考試    89

# max 求數(shù)據(jù)集的最大值
df1.max()
# --- 輸出結(jié)果 ---
期中考試    96
期末考試    92

# 結(jié)果解析:通過 min() 和 max() 函數(shù)的操作,我們可以看到求出數(shù)據(jù)集中的最大值和最小值,默認(rèn)是按列計(jì)算,也可以通過參數(shù) axis=1 設(shè)置按行計(jì)算;

# max 求數(shù)據(jù)集的最大值 axis=1
df1.max(axis=1)
# --- 輸出結(jié)果 ---
語文    96
數(shù)學(xué)    89
英語    90

2. cumsum() 函數(shù)

該函數(shù)用于計(jì)算累計(jì)數(shù)值總和,默認(rèn)的 axis=0 ,按列進(jìn)行計(jì)算,通過數(shù)據(jù)處理效果要區(qū)分和 sum () 函數(shù)的區(qū)別。

# 導(dǎo)入pandas包
import pandas as pd
# 初始化數(shù)據(jù)
df1=pd.DataFrame([[96,92,89,94],[85,89,91,90],[69,90,89,88]],
                 index=[['語文','數(shù)學(xué)','英語']],
                 columns=[['月考1','月考2','月考3','月考4']])
print(df1)
# --- 輸出結(jié)果 ---
    月考1 月考2 月考3 月考4
語文  96   92   89   94
數(shù)學(xué)  85   89   91   90
英語  69   90   89   88

# cumsum 計(jì)算累計(jì)總和,默認(rèn)是按列計(jì)算
df1.cumsum()
# --- 輸出結(jié)果 ---
     月考1  月考2  月考3	月考4
語文	96	  92	89	   94
數(shù)學(xué)	181	  181	180	   184
英語	250	  271	269	   272
# sum 計(jì)算總和,默認(rèn)是按列計(jì)算
df1.sum()
# --- 輸出結(jié)果 ---
月考1    250
月考2    271
月考3    269
月考4    272

# 結(jié)果解析:cumsum() 函數(shù)是累計(jì)求和,默認(rèn)是在列上計(jì)算,可以看到各個(gè)月考的行數(shù)據(jù)“數(shù)學(xué)”是“語文”加“數(shù)學(xué)”成績的和,“英語”則是“語文”加“數(shù)學(xué)”加“英語”的和。而 sum() 函數(shù)則是計(jì)算每列數(shù)據(jù)的總和,對各行數(shù)據(jù)沒有影響。

3. describe() 函數(shù)

該函數(shù)用于計(jì)算一些統(tǒng)計(jì)數(shù)據(jù),提供數(shù)據(jù)集的基本信息,包括范圍、大小、波動趨勢等待,用于進(jìn)一步數(shù)據(jù)的分析,該函數(shù)用于計(jì)算列數(shù)據(jù)。該函數(shù)有三個(gè)核心參數(shù):

參數(shù)名 說明
percentile 可選參數(shù),要包含在輸出中的百分位數(shù),在 0-1 之間,默認(rèn) [.25, .5, .75]
include 可選參數(shù),包括的不同數(shù)據(jù)類型列表,默認(rèn)只計(jì)算數(shù)值型,當(dāng)為 all 時(shí)匯總的是所有列的數(shù)據(jù);當(dāng)為 object 時(shí),匯總的是字符串列的數(shù)據(jù);當(dāng)為 number 時(shí),匯總的是數(shù)字列的數(shù)據(jù)。
exclude 可選參數(shù),排除的數(shù)據(jù)類型列表

下面我們通過代碼操作數(shù)據(jù)集看一下詳細(xì)的使用方法:

# 導(dǎo)入pandas包
import pandas as pd
# 初始化數(shù)據(jù)
df1=pd.DataFrame([[96,92,89,94,'A級'],[85,89,91,90,'C級'],[69,90,89,88,'B級']],
                 index=[['語文','數(shù)學(xué)','英語']],
                 columns=[['月考1','月考2','月考3','月考4','表現(xiàn)級別']])
print(df1)
# --- 輸出結(jié)果 ---
   月考1 月考2 月考3 月考4 表現(xiàn)級別
語文  96  92  89  94    A級
數(shù)學(xué)  85  89  91  90    C級
英語  69  90  89  88    B級

# describe 函數(shù)
df1.describe()
# --- 輸出結(jié)果 ---
	     月考1	    月考2	       月考3	     月考4
count	3.000000	3.000000	2.000000	3.000000
mean	83.333333	90.333333	90.000000	90.666667
std		13.576941	1.527525	1.414214	3.055050
min		69.000000	89.000000	89.000000	88.000000
25%		77.000000	89.500000	89.500000	89.000000
50%		85.000000	90.000000	90.000000	90.000000
75%		90.500000	91.000000	90.500000	92.000000
max		96.000000	92.000000	91.000000	94.000000
# 結(jié)果解析:可以看到 describe() 函數(shù)統(tǒng)計(jì)分析后,默認(rèn)的是只計(jì)算數(shù)值型,包含了多種分析信息,count:數(shù)據(jù)數(shù)量,mean:平均值,std:標(biāo)準(zhǔn)差,min:最小值,25%,50%,75%:對應(yīng)的百分位上的分位數(shù)(計(jì)算方式為最大值減去最小值乘以對應(yīng)的百分位,再加上最小值),max:最大值。這些統(tǒng)計(jì)項(xiàng)能清晰的讓我們了解一組數(shù)據(jù)集的數(shù)據(jù)情況,進(jìn)而選擇合適的分析模型進(jìn)行分析。

# describe  設(shè)置include=‘a(chǎn)ll’
df1.describe(include='all')
# --- 輸出結(jié)果 ---
	    月考1	       月考2	     月考3	    月考4	      表現(xiàn)級別
count	3.000000	3.000000	3.000000	3.000000	3
unique	NaN	        NaN	        NaN	        NaN	        3
top	    NaN	        NaN	        NaN	        NaN	        C級
freq	NaN	        NaN	        NaN     	NaN      	1
mean	83.333333	90.333333	89.666667	90.666667	NaN
std	    13.576941	1.527525	1.154701	3.055050	NaN
min	    69.000000	89.000000	89.000000	88.000000	NaN
25%	    77.000000	89.500000	89.000000	89.000000	NaN
50%	    85.000000	90.000000	89.000000	90.000000	NaN
75%	    90.500000	91.000000	90.000000	92.000000	NaN
max	    96.000000	92.000000	91.000000	94.000000	NaN
# 結(jié)果解析:通過設(shè)置 include='all' describe() 函數(shù)計(jì)算所有列的數(shù)據(jù),并且針對字符串型的數(shù)據(jù)會有 unique:不同的值有多少;top:出現(xiàn)頻率最高的;freq:重復(fù)的次數(shù)。

# describe 排除數(shù)值列 exclude=‘number’
df1.describe(exclude='number')
# --- 輸出結(jié)果 ---
	    表現(xiàn)級別
count	 3
unique	 3
top	     C級
freq	 1
# 結(jié)果解析:通過設(shè)置 exclude 排除數(shù)值列,可以看到最后的描述性統(tǒng)計(jì)只有字符串列的數(shù)據(jù)。

3. 小結(jié)

本節(jié)課程我們主要學(xué)習(xí)了 Pandas 庫中用于統(tǒng)計(jì)描述的操作函數(shù),幫助我們便捷的對數(shù)據(jù)集進(jìn)行統(tǒng)計(jì)分析工作,并在此基礎(chǔ)上開展進(jìn)一步的數(shù)據(jù)分析工作。本節(jié)課程的重點(diǎn)如下:

  • 常用的描述性統(tǒng)計(jì)函數(shù)使用,尤其是 describe () 函數(shù)的使用。