dataframe進行常用統計、分組統計平均絕對偏差等操作函式。
阿新 • • 發佈:2022-05-04
pandas在dataframe中提供了豐富的統計、合併、分組、缺失值等操作函式。
1.統計函式
df.count() #非空元素計算 df.min() #最小值 df.max() #最大值 df.idxmin() #最小值的位置,類似於R中的which.min函式 df.idxmax() #最大值的位置,類似於R中的which.max函式 df.quantile(0.1) #10%分位數 df.sum() #求和 df.mean() #均值 df.median() #中位數 df.mode() #眾數 df.var() #方差 df.std() #標準差 df.mad() #平均絕對偏差 df.skew() #偏度 df.kurt() #峰度 df.describe() #一次性輸出多個描述性統計指標
2.分組統計 依託group by 單列如:df.groupby(‘sex’).sum() 通過多個列進行分組形成一個層次索引,然後執行函式:df.groupby([‘sex’,’B’]).sum()
案例:
#!usr/bin/env python #_*_ coding:utf-8 _*_ import pandas as pd import pymysql def get_data(): conn=pymysql.connect( host='192.168.1.xxx', port=3306, user='root', passwd='xxx', db='kmind', charset='utf8' ) sqldb="SELECT socre,review_star,review_author_id,review_author_level as count2 FROM source_mg_mfw_socre_ljon_01 WHERE review_author_id IN (select review_author_id from (SELECT review_author_id,COUNT(*) AS count1 FROM source_mg_mfw_socre_ljon_01 GROUP BY review_author_id HAVING count1>3)A)and socre!=' '" pd_data=pd.read_sql(sqldb,conn) pd_data["subtract"]=(pd_data["socre"]-pd_data["review_star"]*2)**2 print(pd_data.head(5)) #獲取對應統計效果描述 print(pd_data.groupby("review_author_id").mean().describe()) print(pd_data.groupby("review_author_id").mad().describe()) print(len(pd_data.loc[pd_data["subtract"]<0.983275])) print(pd_data.loc[pd_data["subtract"]<0.983275]) if __name__=="__main__": get_data()
對應的原始資料結構
對應的部分資料描述