您的位置:首页 > 编程语言 > Python开发

利用Python数据分析:Numpy基础(七)

2017-02-09 09:00 746 查看
import numpy as np

samples = np.random.normal(size=(4,4)) # 标准正态分布一个4*4的样本数组
samples
#随机漫步
#纯Python的内置模块进行1000步的随机漫步
import  random
position = 0
walk = [position]
steps = 1000
for i in xrange(steps):
step = 1 if random.randint(0,1) else -1
position += step
walk.append(position)
walk

#会用np.random模块
nsteps = 1000
draws = np.random.randint(0 ,2,size= nsteps)
steps = np.where(draws >  0, 1,-1)
walk = steps.cumsum()
walk.min()
walk.max()
(np.abs(walk)>=10).argmax()
#找出第一个是10或者-10的索引是那个,从而达到查询所花费的时间效果

#一次模拟多个随机漫步
nwalks  = 5000
nsteps = 100
draws = np.random.randint(0 ,2,size= (nwalks,nsteps))
steps = np.where(draws >  0, 1,-1)
walks = steps.cumsum(1) #5000个随机漫步的过程对此进行行向的累加
walks.max()
walks.min()
hits30 = (np.abs(walks) >=30).any(1)#找出这五千个当中30或-30最小时间,首先进行查看
hits30.sum()#统计个数
crossing_times = (np.abs(walks[hits30])>=30).argmax(1)
crossing_times.mean()#计算在轴1上的平均穿越时间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: