# -*- encoding: utf-8 -*-

import sys
import numpy as np
import pandas as pd
from scipy import stats as sts

if __name__ == "__main__":
    print("=========描述性统计学习========\n")
    nums = [1,2,3,4,4,4,5,6]
    print("算数平均值:"+str(np.mean(nums)))
    print("中位数:"+str(np.median(nums)))

    # 函数作用:返回传入数组/矩阵中最常出现的成员以及出现的次数。
    # 如果多个成员出现次数一样多,返回值小的那个
    print("众数:"+str(sts.mode(nums)[0][0])+'  出现了:'+str(sts.mode(nums)[1][0])+'次')

    print("几何平均数:"+str(sts.gmean(nums)))

    a = [70,80,90]
    w = [3,3,4]
    print("加权平均数:"+str(np.average(a,weights=w)))

    print("方差:"+str(np.var(nums)))
    print("标准差:"+str(np.std(nums)))
    print("极差:"+str(np.ptp(nums)))

    # 平均差
    # 四分位差
    print("四分位 75%:"+str(np.percentile(nums,75)))
    print("四分位 25%:"+str(np.percentile(nums,25)))
    print("四分位:"+str(np.percentile(nums,75) - np.percentile(nums,25)))
    # print("四分位:"+str(sts.(nums,75) - sts.(nums,25)))
    # 异众比率
    print("异众系数:"+str(1-sts.mode(nums)[1][0]/len(nums)  ))
    # 离散系数
    print("离散系数:"+str(np.std(nums)/np.mean(nums)))
    # 偏态系数
    print("偏态系数:"+str(sts.skew(nums)))
    # 峰态系数
    print("峰度系数:"+str(sts.kurtosis(nums)))