python pandas常用統計函式總結_包括groupby,crossTab等方法結合使用的比較
1. 背景描述
資料分析中經常需要對資料特徵的多種不同方式進行分組或歸類,然後與統計函式結合使用,尋找資訊的規律、資料間的差異或相關性等,從而更好地從資料中挖掘有價值的資訊,服務於企業的運營和特定的問題解決。
本文主要在這兩方面進行總結:
資料分析中常用的統計函式(共12個聚合函式-python)的用法
與4種不同的分組、歸類方法結合使用的效果比較
2. 資料分析常用統計函式總結
2.1 常用的統計值對應的python函式
平均數:np.mean()
總和:np.sum()
中位數:np.median()
最大值:np.max()
最小值:np.min()
頻次(計數): np.size()
方差:np.var()
標準差:np.std()
乘積:np.prod()
協方差: np.cov(x, y)
偏度係數(Skewness): skew(x)
峰度係數(Kurtosis): kurt(x)
正態性檢驗結果: normaltest(np.array(x))
四分位數:describe() – 顯示25%, 50%, 75%位置上的資料
2.2 示例程式碼
**基本使用方法 **
import numpy as np
import pandas as pd
import scipy.stats as ss
x = [5, 7, 6, 5, 8, 4, 7, 6, 4, 5]
print("x的平均值:", np.mean(x))
print("x總和是:", np.sum(x))
print("x的中位數:", np.median(x))
print("x的最大值:", np.max(x))
print("x的最小值:", np.min(x))
print("x的資料個數:", np.size(x))
print("x的方差:", np.var(x))
print("x的標準差:", np.std(x).round(2))
print("x的乘積:", np.prod(x))
print("x的偏度(Skewness):", skew(x))
print("x的正態檢驗結果:", ss.normaltest(np.array(x)))
3. 聚合函式與分組歸類方法的聯合使用(Python程式碼)
3.1 DataFrame資料表中分組進行統計 – 與groupby()聯合使用
# 3.1.1 建立資料表
import numpy as np
import pandas as pd
df = pd.DataFrame({"名稱": ["A", "B", "A", "A", "B", "A"],
"顏色": ["紅色", "藍色", "紅色", "藍色", "藍色", "紅色"],
"尺寸": ["大", "大", "小", "小", "大", "大"],
"厚度": [2, 5, 1, 2, 4, 5],
"數量": [10, 20, 15, 30, 10, 20]})
df
# 3.1.2 使用groupby()根據“名稱”對“數量”進行分組統計
df.groupby(["名稱"])["數量"].sum()
# 3.1.3 groupby()函式傳入分組列表,對資料進行多層分組統計
df.groupby(["名稱", "顏色"])["數量"].sum()
# 3.1.4 在之前的基礎上,對被統計的資料傳入列表,達到多層分組分類統計的效果
df.groupby(["名稱", "顏色"])[["數量", "厚度"]].sum()
3.2 資料表中多層篩選的應用 – 透視表pivot_table的應用
# 3.2.1 簡單的分組分類統計彙總
pd.pivot_table(df, values=["數量"], index=["名稱"], columns=["顏色"], aggfunc=np.sum,fill_value=0, margins=True)
大連做人流哪裡好
# 3.2.2 多層級的分組和分類統計彙總
pd.pivot_table(df, values=["數量"], index=["名稱", "尺寸"], columns=["顏色"], aggfunc=np.sum, fill_value=0, margins=True)
# 3.2.3 多層分組統計不同指標的不同統計量
pd.pivot_table(df, values=["數量", "厚度"], index=["名稱"], columns=["顏色"], aggfunc={"數量": np.sum, "厚度": np.var}, fill_value=0, margins=True)
藍色框 – 分組計算厚度的方差
紅色框 – 分組同步計算數量的總和
這種方法不但快速便捷,還能在同一個平面內展示不同指標使用不同的統計量計算的結果。
3.3 四分位數 – describe()的應用方法
# describe()函式 -- 對資料表中的所有的數值型進行快速的統計
df.describe()
3.4. 交叉表crossTab()函式
# 交叉表crossTab()函式 -- 交叉表是用於統計分組頻率的特殊透視表
tab_ = pd.crosstab(df["名稱"], df["顏色"], margins=True)
tab_
3、結束語
綜述以上4種方法,基本上都會認為pivot_table()相對而言是最便捷、靈活且功能強大的統計分析函式,也是在日常工作中常用的方法之一。其實,每種方法都有特色和針對的方向,根據實際情況靈活運用即可。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2765532/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE常用結構和函式使用方法總結Oracle函式
- Python | Python常用函式、方法示例總結(API)Python函式API
- Emgucv使用中常用函式總結函式
- 【總結】Python常用函式有哪些?Python函式
- python常用函式年初大總結Python函式
- 總結常用的字串函式字串函式
- pandas.DataFrame.groupby函式應用函式
- PHP常用函式總結PHP函式
- Oracle常用函式總結Oracle函式
- php 常用函式總結PHP函式
- 常用的比較排序演算法總結排序演算法
- 字串比較的常用函式字串函式
- python網路程式設計中常用到的函式總結Python程式設計函式
- loadrunner常用函式總結函式
- python函式與方法的區別總結Python函式
- java Stream結合函式方法Java函式
- 去除csdn廣告的方法,多種方法比較總結
- SAP ABAP 函式總結 常用函式解釋函式
- mysql之常用函式(核心總結)MySql函式
- php開發常用函式總結PHP函式
- Python字串常用方法總結Python字串
- python中關於時間和日期函式的常用計算總結Python函式
- 使用頻率比較高的PHP函式方法PHP函式
- Python的pandas的Dataframe使用groupby分組並求每組的統計值Python
- Python操作列表的常用方法總結Python
- python中list方法與函式的學習總結Python函式
- 目前比較全的CSS重設(reset)方法總結CSS
- Oracle分析函式使用總結Oracle函式
- Python函式引數總結Python函式
- Python的內建比較函式cmp比較原理剖析Python函式
- 總結一些常用的陣列函式陣列函式
- Python Pandas庫 常見使用錯誤總結Python
- Python那些事——超級乾貨,python常用函式大總結Python函式
- 總結.NET程式設計中經常用到的27個函式程式設計函式
- numpy、pandas常用函式功能函式
- python 中 print 函式用法總結Python函式
- pandas用法總結
- python操作字典型別的常用方法總結Python型別