JobPlus知识库 IT 工业智能4.0 文章
Scipy科学计算库

Anaconda常用指令

  1. 查看虚拟环境 conda info -e
  2. 进入到某个虚拟环境下 
    source activate base (OSX/Linux系统) 
    activate base (win系统)
  3. 查看虚拟环境下所有模块 conda list
  4. 在当前激活的虚拟环境下安装模块 
    conda install packagename 
    pip install packagename
  5. 在当前激活的虚拟环境下删除模块 
    conda remove packagename 
    pip uninstall packagename
  6. 退出当前激活的虚拟环境 deactivate
  7. 创建新的虚拟环境 
    conda create -n env_name python=2.7/3.6 
    需保持网络环境畅通
  8. 删除已存在的虚拟环境 
    conda remove -n env_name –all

jupyter

  1. 在某个文件夹目录下启动jupyter: 
    在某个文件夹目录下敲cmd,进入控制台之后敲jupyter notebook

'''---------------------用Scipy保存并加载mat文件-------------------'''

from scipy import ioimport numpy as np 

a = np.arange(9).reshape(3,3)

#用scipy中的io模块将数据保存到mat文件中

io.savemat("a.mat",{"test":a})

#用scipy的io模块加载mat文件数据

data = io.loadmat("a.mat") 

data    #print可以省略

arr2 = data["test"] 

arr2   #print可以省略


'''---------------------用Scipy计算随机样本的峰度-------------------'''

from scipy import stats

from matplotlib import pyplot as plt 

norm1 = stats.norm.rvs(size=10000) 

norm2 = stats.norm.rvs(size=10000)

#检测数据样本的峰度

kurt1,pvalue1 = stats.kurtosistest(norm1) 

kurt2,pvalue2 = stats.kurtosistest(norm2) 

kurt1,pvalue1 

plt.hist(norm1) 

kurt2,pvalue2 

plt.hist(norm2) 

c = stats.norm.rvs(size=100)

#正态性检验:检查数据集服从正态分布的程度。该检验同样有两个返回值,其中第二个返回值为p-value。pvalue>0.05即表示服从正态分布

normalTest,pvalue = stats.normaltest(c) 

normalTest,pvalue 

plt.hist(c)



'''---------------------Scipy函数-------------------'''

from scipy import stats

import numpy as np

import scipy.stats.stats as st

 arrEasy=np.array([[0,2],[2.5,4],[5,6],[7.5,9],[10,13],[12.5,16],[15,19],[17.5,23],[20,27],

                    [22.5,31],[25,35],[27.5,40],[30,53],[32.5,68],[35,90],[37.5,110],[40,130],

                    [42.5,148],[45,165],[47.5,182],[50,195],[52.5,208],[55,217],[57.5,226],[60,334],

                   [62.5,342],[65,349],[67.5,500],[70,511],[72.5,300],[75,200],[77.5,80],[80,20]])

 arrDiff=np.array([[0,20],[2.5,30],[5,45],[7.5,70],[10,100],[12.5,135],[15,170],[17.5,205],[20,226],

                    [22.5,241],[25,251],[27.5,255],[30,256],[32.5,253],[35,249],[37.5,242],[40,234],

                    [42.5,226],[45,217],[47.5,208],[50,195],[52.5,182],[55,165],[57.5,148],[60,130],

                   [62.5,110],[65,40],[67.5,30],[70,20],[72.5,5],[75,5],[77.5,0],[80,0]])

# arrEasy1=[]

# for rows in range(len(arrEasy)):

#     arrEasy1.append(arrEasy[rows][0])

# print(arrEasy1)

scores = arrEasy[:,0]  #获取所有分数

scores 

persons = arrEasy[:,1]  #获取所有人数

persons 

persons.dtype     #dtype('float64')

#将persons float64转化为int64

result = persons.astype(np.int64) 

result.dtype    dtype('int64')

#通过人数将分数数组创建出来

allarrEasy = np.repeat(scores,result) 

allarrEasy

#求allarrEasy平均分数

average = np.mean(allarrEasy) 

average    #57.326993337631635

#求allarrEasy中位数

median = np.median(allarrEasy) 

median   #60.0

#求allarrEasy众数

print("众数",scores[np.argmax(persons)])   #方法1

print("众数",st.mode(allarrEasy))     ##方法2

#求allarrEasy极差

print("极差:",np.ptp(allarrEasy))    #80.0

#求allarrEasy方差

print("方差:",np.var(allarrEasy))

#求allarrEasy标准差

print("方差:",np.std(allarrEasy))

#求allarrEasy变异系数

print("变异系数:",np.mean(allarrEasy)/allarrEasy.std())

#求偏度

statistic,pvalue = stats.skewtest(allarrEasy) 

statistic,pvalue

#求峰度

kurtosis = stats.kurtosis(allarrEasy) 

kurtosis



'''---------------------用Scipy检测数据样本的偏度-------------------'''

from scipy import stats

import numpy as np

from matplotlib import pyplot as plt

#用scipy产生一个正太分布随机数组

normal1 = stats.norm.rvs(size=500) 

normal2 = stats.norm.rvs(size=500)

#用scipy检测数据样本的偏度

statistic1,pvalue1 = stats.skewtest(normal1) 

statistic2,pvalue2 = stats.skewtest(normal2)

#normal1样本的偏度

statistic1,pvalue1 

plt.hist(normal1)

#normal2样本的偏度

statistic2,pvalue2 

plt.hist(normal2)


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
369人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序