dataframe进行常用统计、分组统计平均绝对偏差等操作函数。

2018-03-19 17:01:15 浏览数 (1)

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()

案例:

代码语言:javascript复制
#!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()

对应的原始数据结构

对应的部分数据描述

0 人点赞