GeneralStats

所属分类:统计分析
开发工具:Python
文件大小:4KB
下载次数:2
上传日期:2020-06-27 16:54:08
上 传 者XXCCXX
说明:  一般分析统计量计算,包含平均数,中位数,众数,分位数,方差,标准差,极差,偏度,峰度等统计量计算方法
(Calculation of general analysis statistics, including statistics calculation methods such as mean, median, mode, quantile, variance, standard deviation, range, skewness, kurtosis, etc)

文件列表:
GeneralStats\GeneralStats.py (13983, 2020-02-15)
GeneralStats\example.py (4224, 2020-02-15)
GeneralStats (0, 2020-02-15)

# GeneralStats一般统计量计算模块 GeneralStats一般统计量计算模块包含常见统计量的计算与求解方法,这些常见统计量包括:平均数,中位数,众数,分位数,极差,方差,标准差,偏度,峰度。 ## 1. 引用头文件"GeneralStats.py" import GeneralStats as gs ## 2. 创建GeneralStats对象 > 1. 创建GeneralStats对象不需要提供任何参数。 gen=gs.GeneralStats() ## 3. 计算样本的平均值 > 0. 函数原型 def average(self, data, rowvar=True) > 1. 使用average成员方法计算样本的平均值。 > 2. 第一个参数data为由各个变量取值,或者由各个样本向量组成的矩阵。类型为np.array。 > 3. 第二个参数rowvar指定每一行或者每一列作为样本向量,类型为bool:rowvar=True指定每一列作为一个样本向量,即每一行代表一个变量;rowvar=False指定每一行作为一个样本向量,即每一列代表一个变量。 data=np.array([[1, 1, 2, 2, 3],[2, 2, 3, 3, 5],[1, 4, 3, 3, 3],[2, 4, 5, 5, 3]]) data1=np.array([1,2,3,4,5]) res=gen.average(data,rowvar=True) res1=gen.average(data1,rowvar=True) print("data平均值 = ",res) print("data1平均值 = ",res1) >>> 输出 data平均值 = [[1.8 3. 2.8 3.8]] data1平均值 = [3.] ## 4. 计算样本的中位值 > 0. 函数原型 def median(self, data, rowvar=True) > 1. 使用median成员方法计算样本的中位值。 > 2. 第一个参数data为由各个变量取值,或者由各个样本向量组成的矩阵。类型为np.array。 > 3. 第二个参数rowvar指定每一行或者每一列作为样本向量,类型为bool:rowvar=True指定每一列作为一个样本向量,即每一行代表一个变量;rowvar=False指定每一行作为一个样本向量,即每一列代表一个变量。 data=np.array([[1, 1, 2, 2, 3],[2, 2, 3, 3, 5],[1, 4, 3, 3, 3],[2, 4, 5, 5, 3]]) data1=np.array([1,2,3,4,5]) res=gen.median(data,rowvar=True) res1=gen.median(data1,rowvar=True) print("data中位值 = ",res) print("data1中位值 = ",res1) >>> 输出 data中位值 = [[2. 3. 3. 4.]] data1中位值 = [3] ## 5. 计算样本的众数 > 0. 函数原型 def mode(self, data, rowvar=True) > 1. 使用mode成员方法计算样本的众数。 > 2. 第一个参数data为由各个变量取值,或者由各个样本向量组成的矩阵。类型为np.array。 > 3. 第二个参数rowvar指定每一行或者每一列作为样本向量,类型为bool:rowvar=True指定每一列作为一个样本向量,即每一行代表一个变量;rowvar=False指定每一行作为一个样本向量,即每一列代表一个变量。 data=np.array([[1, 1, 2, 2, 3],[2, 2, 3, 3, 5],[1, 4, 3, 3, 3],[2, 4, 5, 5, 3]]) data1=np.array([1,2,3,4,5]) res=gen.mode(data,rowvar=True) res1=gen.mode(data1,rowvar=True) print("data众数值 = ",res) print("data1众数值 = ",res1) >>> 输出 data众数值 = [[1 2 3 5]] data1众数值 = [1] ## 6. 计算样本的分位数 > 0. 函数原型 def quantile(self, data, fraction, rowvar=True, interpolation='linear') > 1. 使用quantile成员方法计算样本的分位数。 > 2. 第一个参数data为由各个变量取值,或者由各个样本向量组成的矩阵。类型为np.array。 > 3. 第二个参数fraction指定分位百分比,类型为float,fraction必须满足大于等于0且小于等于1。 > 4. 第三个参数rowvar指定每一行或者每一列作为样本向量,类型为bool:rowvar=True指定每一列作为一个样本向量,即每一行代表一个变量;rowvar=False指定每一行作为一个样本向量,即每一列代表一个变量。 > 5. 第四个参数指定当所需分位数位于两个数据点i + 'linear': i+fraction*(j-i) > + 'lower': i > + 'higher': j > + 'midpoint': (i+j)/2 > + 若使用该参数取值范围之外的其他值,均将默认使用'midpoint'模式进行分位数的求解 data=np.array([[1, 1, 2, 2, 3],[2, 2, 3, 3, 5],[1, 4, 3, 3, 3],[2, 4, 5, 5, 3]]) data1=np.array([1,2,3,4,5]) res=gen.quantile(data,0.5,rowvar=True,interpolation='lower') #若元素个数为偶数,则模式为'midpoint'的0.5分位数值等价于中位数 res1=gen.quantile(data1,0.5,rowvar=True,interpolation='lower') #若元素个数为奇数,则模式为'lower'的0.5分位数值等价于中位数 print("data 0.5分位数值 = ",res) print("data1 0.5分位数值 = ",res1) res=gen.quantile(data,0.25,rowvar=True,interpolation='lower') res1=gen.quantile(data1,0.25,rowvar=True,interpolation='lower') print("data 0.25分位数值s = ",res) print("data1 0.25分位数值 = ",res1) res=gen.quantile(data,0.75,rowvar=True,interpolation='lower') res1=gen.quantile(data1,0.75,rowvar=True,interpolation='lower') print("data 0.75分位数值 = ",res) print("data1 0.75分位数值 = ",res1) res=gen.quantile(data,1.0,rowvar=True,interpolation='lower') res1=gen.quantile(data1,1.0,rowvar=True,interpolation='lower') print("data 1.0分位数值 = ",res) print("data1 1.0分位数值 = ",res1) >>> 输出 data 0.5分位数值 = [[2. 3. 3. 4.]] data1 0.5分位数值 = [3] data 0.25分位数值s = [[1. 2. 3. 3.]] data1 0.25分位数值 = [2] data 0.75分位数值 = [[2. 3. 3. 5.]] data1 0.75分位数值 = [4] data 1.0分位数值 = [[3. 5. 4. 5.]] data1 1.0分位数值 = [5] ## 7. 计算样本的极差 > 0. 函数原型 def range(self, data, rowvar=True) > 1. 使用range成员方法计算样本的极差。 > 2. 第一个参数data为由各个变量取值,或者由各个样本向量组成的矩阵。类型为np.array。 > 3. 第二个参数rowvar指定每一行或者每一列作为样本向量,类型为bool:rowvar=True指定每一列作为一个样本向量,即每一行代表一个变量;rowvar=False指定每一行作为一个样本向量,即每一列代表一个变量。 data=np.array([[1, 1, 2, 2, 3],[2, 2, 3, 3, 5],[1, 4, 3, 3, 3],[2, 4, 5, 5, 3]]) data1=np.array([1,2,3,4,5]) res=gen.range(data,rowvar=True) res1=gen.range(data1,rowvar=True) print("data极差 = ",res) print("data1极差 = ",res1) >>> 输出 data极差 = [[2. 3. 3. 3.]] data1极差 = [4] ## 8. 计算样本的方差 > 0. 函数原型 def variance(self, data, rowvar=True) > 1. 使用variance成员方法计算样本的方差。 > 2. 第一个参数data为由各个变量取值,或者由各个样本向量组成的矩阵。类型为np.array。 > 3. 第二个参数rowvar指定每一行或者每一列作为样本向量,类型为bool:rowvar=True指定每一列作为一个样本向量,即每一行代表一个变量;rowvar=False指定每一行作为一个样本向量,即每一列代表一个变量。 data=np.array([[1, 1, 2, 2, 3],[2, 2, 3, 3, 5],[1, 4, 3, 3, 3],[2, 4, 5, 5, 3]]) data1=np.array([1,2,3,4,5]) res=gen.variance(data,rowvar=True) res1=gen.variance(data1,rowvar=True) print("data方差 = ",res) print("data1方差 = ",res1) >>> 输出 data方差 = [[0.56 1.2 0.96 1.36]] data1方差 = [2.] ## 9. 计算样本的标准差 > 0. 函数原型 def standard_dev(self, data, rowvar=True) > 1. 使用standard_dev成员方法计算样本的标准差。 > 2. 第一个参数data为由各个变量取值,或者由各个样本向量组成的矩阵。类型为np.array。 > 3. 第二个参数rowvar指定每一行或者每一列作为样本向量,类型为bool:rowvar=True指定每一列作为一个样本向量,即每一行代表一个变量;rowvar=False指定每一行作为一个样本向量,即每一列代表一个变量。 data=np.array([[1, 1, 2, 2, 3],[2, 2, 3, 3, 5],[1, 4, 3, 3, 3],[2, 4, 5, 5, 3]]) data1=np.array([1,2,3,4,5]) res=gen.standard_dev(data,rowvar=True) res1=gen.standard_dev(data1,rowvar=True) print("data标准差 = ",res) print("data1标准差 = ",res1) >>> 输出 data标准差 = [[0.74833148 1.09544512 0.9797959 1.16619038]] data1标准差 = [1.41421356] ## 10. 计算样本的偏度 > 0. 函数原型 def skewness(self, data, rowvar=True) > 1. 使用skewness成员方法计算样本的偏度。 > 2. 第一个参数data为由各个变量取值,或者由各个样本向量组成的矩阵。类型为np.array。 > 3. 第二个参数rowvar指定每一行或者每一列作为样本向量,类型为bool:rowvar=True指定每一列作为一个样本向量,即每一行代表一个变量;rowvar=False指定每一行作为一个样本向量,即每一列代表一个变量。 data=np.array([[1, 1, 2, 2, 3],[2, 2, 3, 3, 5],[1, 4, 3, 3, 3],[2, 4, 5, 5, 3]]) data1=np.array([1,2,3,4,5]) res=gen.skewness(data,rowvar=True) res1=gen.skewness(data1,rowvar=True) print("data偏度 = ",res) print("data1偏度 = ",res1) res=np.array([skew(data[0]),skew(data[1]),skew(data[2]),skew(data[3])]) print("使用scipy skew方法验证的data偏度 = ",res) res1=np.array(skew(data1)) print("使用scipy skew方法验证的data1偏度 = ",res1) >>> 输出 data偏度 = [[ 0.3436216 0.91287093 -0.86752762 -0.36317347]] data1偏度 = [0.] 使用scipy skew方法验证的data偏度 = [ 0.3436216 0.91287093 -0.86752762 -0.36317347] 使用scipy skew方法验证的data1偏度 = 0.0 ## 11. 计算样本的峰度 > 0. 函数原型 def kurtosis(self, data, rowvar=True) > 1. 使用kurtosis成员方法计算样本的峰度。 > 2. 第一个参数data为由各个变量取值,或者由各个样本向量组成的矩阵。类型为np.array。 > 3. 第二个参数rowvar指定每一行或者每一列作为样本向量,类型为bool:rowvar=True指定每一列作为一个样本向量,即每一行代表一个变量;rowvar=False指定每一行作为一个样本向量,即每一列代表一个变量。 data=np.array([[1, 1, 2, 2, 3],[2, 2, 3, 3, 5],[1, 4, 3, 3, 3],[2, 4, 5, 5, 3]]) data1=np.array([53, 61, 49, 66, 78, 47]) res=gen.kurtosis(data,rowvar=True) res1=gen.kurtosis(data1,rowvar=True) print("data峰度 = ",res) print("data1峰度 = ",res1) data_0=pd.Series(data[0]) data_1=pd.Series(data[1]) data_2=pd.Series(data[2]) data_3=pd.Series(data[3]) print("使用pandas kurt方法验证的data峰度 = ",[data_0.kurt(),data_1.kurt(),data_2.kurt(),data_3.kurt()]) data1=pd.Series(data1) print("使用pandas kurt方法验证的data1峰度 = ",data1.kurt()) >>> 输出 data峰度 = [[-0.6122449 2. 2.91666667 -1.48788927]] data1峰度 = [-0.26316554] 使用pandas kurt方法验证的data峰度 = [-0.6122448979591839, 2.0, 2.9166666666666625, -1.48788927335***015] 使用pandas kurt方法验证的data1峰度 = -0.2631655441038463

近期下载者

相关文件


收藏者