pandas(5):數學統計——描述性統計


Pandas 可以對 Series 與 DataFrame 進行快速的描述性統計,方便快速了解數據的集中趨勢和分布差異。源Excel文件descriptive_statistics.xlsx:
image

一、描述性統計匯總df.describe()

df.describe(percentiles=None, include=None, exclude=None)

參數說明:

  • percentiles,百分位數,默認為[.25, .5, .75],即上下四分位數和中位數,其中,中位數一定輸出;
  • include,控制描述性統計輸出包含的內容。
    數值型和離散型特征數據(定序數據和定類數據)
    默認值:None,即只輸出數值型數據列的統計信息(count、mean、std、min、百分位數、max)。
    'all':輸入的所有列的統計信息。
    'O':只輸出 object(字符、定類數據)的統計信息:count、unique(分類分組數量)、top(出現次數最多的類別)、freq(top出現的頻數)
  • exclude,和參數include是相反的,表示不輸出哪些內容。
df.describe() # 默認:數值型數據,上下四分位和中位數

image

df.describe([]) # 只輸出中位數
df.describe([.4]) # 中位數和40%分位數

image

# 指定類型:只輸出字符型離散數據統計特征
df.describe(include='O')
# df.describe(include=[np.object])
# 排除類型
df.describe(exclude=[np.number])

image

二、其他數學統計方法

DataFrame 計算后一般為一個 Series或df,Series 計算后為一個定值。

df.mean() # 返回所有列的均值
df.mean(1) # 返回所有行的均值,下同
df.corr() # 返回列與列之間的相關系數
df.count() # 返回每一列中的非空值的個數
df.max() # 返回每一列的最大值
df.min() # 返回每一列的最小值
df.abs() # 絕對值
df.median() # 返回每一列的中位數
df.std() # 返回每一列的標准差, 貝塞爾校正的樣本標准偏差
df.var() # 無偏方差
df.sem() # 平均值的標准誤差
df.mode() # 眾數
df.prod() # 連乘
df.mad() # 平均絕對偏差
df.cumprod() # 累積連乘,累乘
df.cumsum(axis=0) # 累積連加,累加
df.nunique() # 去重數量,不同值的量
df.idxmax() # 每列最大的值的索引名
df.idxmin() # 最小
df.cummax() # 累積最大值
df.cummin() # 累積最小值
df.skew() # 樣本偏度 (第三階)
df.kurt() # 樣本峰度 (第四階)
df.quantile() # 樣本分位數 (不同 % 的值)

特殊說明:

  • 很多方法支持行列指定,默認為列axis=0;
  • 是否排除缺失值,默認排除skipna=False;
  • 假若索引為多層索引,支持索引層次選擇,level參數控制;
  • 是否排除bool值,numeric_only,默認為False,不排除;
  • 如果有空值總共算幾,min_count,默認為0,一個不算。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM