第4章-1 一次模拟多个随机漫步

原创 2017年01月03日 21:40:41
# -*- coding: utf-8 -*-
"""
Created on Tue Jan 03 19:56:20 2017

@author: night
"""

import numpy as np
nwalks = 5000
nsteps = 1000
draws = np.random.randint(0,2,size=(nwalks,nsteps)) #size既为5000行1000列,也就是5000次1000步的随机漫步
print draws     #draws代表了一个5000行的列表,每个列表有1000个元素,这1000个元素是有0和1随机构成
steps = np.where(draws>0,1,-1)      #当元素为1时,step为1,当元素为0时,step为-1
walks = steps.cumsum(1) #所有元素的累积和, 行axis=1,列axis=0
print walks    #walks为5000行的列表,列表中的有1000个元素,每个元素是前面所有元素的累积和
print walks.max()
print walks.min()
hits30 = (np.abs(walks)>=30).any(1) #any(1),对每一行按指定条件进行判断,条件为>=30,当每一行中只要存在1个>=30的数,即返回True,否则当所有值都小于30时,返回False
print hits30    #可以看出是一个布尔型列表
print hits30.sum()  #True相当于1,即对1的数量求和
print walks[hits30]     
print np.abs(walks[hits30])
crossing_times = (np.abs(walks[hits30])>=30).argmax(1)  #hits30列表中True对应在walks中的列表选出来,然后对其中的元素取绝对值。再对前面的语句用argmax(1),即提取每行中首次出现绝对值>=30的元素索引值。
print crossing_times    #返回一个列表,列表中的每一个元素由每行中首次出现绝对值>=30的索引值构成
print crossing_times.mean()


python: 数据处理包常用函数记录

Numpyimport numpy as np np.r_[x, y] 沿着行方向(第一个轴)合并列表中的数组元素(要求列数相同) np.c_[x, y] 沿着列方向(第二个轴)合并列表中的数组元素(...

python数据处理工具 pandas包常用方法总结(持续更新)

python pandas包的数据处理常用方法
  • lo_cima
  • lo_cima
  • 2016年01月19日 15:00
  • 3181

模拟126邮箱实现一次上传多个附件的例子

最近,有好些网友问到类似的问题,我于是就做了个简单的例子,相信大家一看就明白。有一点说明的是:对于file控件,必须点击他本身才可能完成对文件的上传,通过脚本打开选择文件对话框以后是无法再上传文件的,...

冲突解决策略是定义一个序列F(i)=ri,其中r0=0且r1,r2……rN是前N个整数的随机排列(每个整数恰好出现一次)

数据结构与算法分析——c语言描述 练习5.5e  答案 hashQuad.c #include"hashQuad.h" #include"fatal.h" #include #incl...

1-N个数随机去掉两个数,遍历一次把这两个数找出来

学习算法,把一些简单的问题写一写,做一做   【题目】:1- n这n个数随机减少两个数后,放在A[]中(打乱顺序),以时间复杂度为O(n)的算法找到减少的这2个数 【思路】:如果是减...

java:Swing(1)模拟随机抽签

package SwingBasicStudy; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import j...

iOS一次产生多个随机数的DEMO

  • 2014年03月27日 09:13
  • 37KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第4章-1 一次模拟多个随机漫步
举报原因:
原因补充:

(最多只允许输入30个字)