python描述分析常用统计量(最大值、最小值、平均值、众数、中位数、四分位数、异众比率、极差、离散系数、偏态系数、峰态系数)

 博主已开设个人weixin公众号【数据肥皂泡】:专注于数据分析、数据建模等领域,博主也会不定期分享个人生活和工作感悟。欢迎各位志同道合的朋友,一起学习,一起进步,一起成长。
微信搜索【数据肥皂泡】或搜索weixin号【sq23166】,关注博主,回复【加微信】即可加博主个人微信,看博主朋友圈分享。

对于python中常用的一些描述统计量,博主已整理成函数,直接拿去用就行了。

import pandas as pd
import numpy as np
from scipy.stats import mode


def statistics(data_frame: np.ndarray):
    '''
    input:
        values: 一维数组
    '''
    items = {
        '数据量': len(data_frame),
        '最小值': data_frame.min(),
        '最大值': data_frame.max(),
        '平均值': round(data_frame.mean(), 6),
        '众数': mode(data_frame, keepdims=True)[0][0],
        '中位数': np.median(data_frame),
        '上四分位数': np.quantile(data_frame, q=0.25),
        '下四分位数': np.quantile(data_frame, q=0.75),
        '异众比率': round(1 - (mode(data_frame, keepdims=True)[1][0]/len(data_frame)), 6),
        '极差': data_frame.max() - data_frame.min(),
        '离散系数': round(data_frame.std()/(data_frame.mean() + 1e-6), 6),
        '偏态系数': pd.Series(data_frame).skew(),  # skew() 偏度
        '峰态系数': pd.Series(data_frame).kurt()  # kurt() 峰度
    }
    return items

if __name__ == '__main__':
    data = np.array([23, 45, 6, 56, 76,37,64,56,12, 23, 23])
    print(statistics(data_frame=data))

输出结果:

{'数据量': 11, '最小值': 6, '最大值': 76, '平均值': 38.272727, '众数': 23, '中位数': 37.0, '上四分位数': 23.0, '下四分位数': 56.0, '异众比率': 0.727273, '极差': 70, '离散系数': 0.567661, '偏态系数': 0.20389111241526475, '峰态系
数': -1.182571196072816}

你可能感兴趣的:(数理统计,python,numpy,开发语言)