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

对于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}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值