numpy的random模块
来源:互联网 发布:python platform 编辑:程序博客网 时间:2024/05/03 15:19
随机抽样 (numpy.random)
简单的随机数据
rand(d0, d1, ..., dn)
随机值
>>> np.random.rand(3,2)array([[ 0.14022471, 0.96360618], #random [ 0.37601032, 0.25528411], #random [ 0.49313049, 0.94909878]]) #random
randn(d0, d1, ..., dn)
返回一个样本,具有标准正态分布。
Notes
For random samples from , use:
sigma * np.random.randn(...) + mu
Examples
>>> np.random.randn()2.1923875335537315 #random
Two-by-four array of samples from N(3, 6.25):
>>> 2.5 * np.random.randn(2, 4) + 3array([[-4.49401501, 4.00950034, -1.81814867, 7.29718677], #random [ 0.39924804, 4.68456316, 4.99394529, 4.84057254]]) #random
randint(low[, high, size])
返回随机的整数,位于半开区间 [low, high)。
>>> np.random.randint(2, size=10)array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])>>> np.random.randint(1, size=10)array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
Generate a 2 x 4 array of ints between 0 and 4, inclusive:
>>> np.random.randint(5, size=(2, 4))array([[4, 0, 2, 1], [3, 2, 2, 0]])
random_integers(low[, high, size])
返回随机的整数,位于闭区间 [low, high]。
Notes
To sample from N evenly spaced floating-point numbers between a and b, use:
a + (b - a) * (np.random.random_integers(N) - 1) / (N - 1.)
Examples
>>> np.random.random_integers(5)4>>> type(np.random.random_integers(5))<type ‘int‘>>>> np.random.random_integers(5, size=(3.,2.))array([[5, 4], [3, 3], [4, 5]])
Choose five random numbers from the set of five evenly-spaced numbers between 0 and 2.5, inclusive (i.e., from the set):
>>> 2.5 * (np.random.random_integers(5, size=(5,)) - 1) / 4.array([ 0.625, 1.25 , 0.625, 0.625, 2.5 ])
Roll two six sided dice 1000 times and sum the results:
>>> d1 = np.random.random_integers(1, 6, 1000)>>> d2 = np.random.random_integers(1, 6, 1000)>>> dsums = d1 + d2
Display results as a histogram:
>>> import matplotlib.pyplot as plt>>> count, bins, ignored = plt.hist(dsums, 11, normed=True)>>> plt.show()
random_sample([size])
返回随机的浮点数,在半开区间 [0.0, 1.0)。
To sample multiply the output ofrandom_sample by (b-a) and add a:
(b - a) * random_sample() + a
Examples
>>> np.random.random_sample()0.47108547995356098>>> type(np.random.random_sample())<type ‘float‘>>>> np.random.random_sample((5,))array([ 0.30220482, 0.86820401, 0.1654503 , 0.11659149, 0.54323428])
Three-by-two array of random numbers from [-5, 0):
>>> 5 * np.random.random_sample((3, 2)) - 5array([[-3.99149989, -0.52338984], [-2.99091858, -0.79479508], [-1.23204345, -1.75224494]])
random([size])
返回随机的浮点数,在半开区间 [0.0, 1.0)。
(官网例子与random_sample完全一样)
ranf([size])
返回随机的浮点数,在半开区间 [0.0, 1.0)。
(官网例子与random_sample完全一样)
sample([size])
返回随机的浮点数,在半开区间 [0.0, 1.0)。
(官网例子与random_sample完全一样)
choice(a[, size, replace, p])
生成一个随机样本,从一个给定的一维数组
Examples
Generate a uniform random sample from np.arange(5) of size 3:
>>> np.random.choice(5, 3)array([0, 3, 4])>>> #This is equivalent to np.random.randint(0,5,3)
Generate a non-uniform random sample from np.arange(5) of size 3:
>>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])array([3, 3, 0])
Generate a uniform random sample from np.arange(5) of size 3 without replacement:
>>> np.random.choice(5, 3, replace=False)array([3,1,0])>>> #This is equivalent to np.random.permutation(np.arange(5))[:3]
Generate a non-uniform random sample from np.arange(5) of size 3 without replacement:
>>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])array([2, 3, 0])
Any of the above can be repeated with an arbitrary array-like instead of just integers. For instance:
>>> aa_milne_arr = [‘pooh‘, ‘rabbit‘, ‘piglet‘, ‘Christopher‘]>>> np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])array([‘pooh‘, ‘pooh‘, ‘pooh‘, ‘Christopher‘, ‘piglet‘], dtype=‘|S11‘)
bytes(length)
返回随机字节。
>>> np.random.bytes(10)‘ eh\x85\x022SZ\xbf\xa4‘ #random
排列
shuffle(x)
现场修改序列,改变自身内容。(类似洗牌,打乱顺序)
>>> arr = np.arange(10)>>> np.random.shuffle(arr)>>> arr[1 7 5 2 9 4 3 6 0 8]
This function only shuffles the array along the first index of a multi-dimensional array:
>>> arr = np.arange(9).reshape((3, 3))>>> np.random.shuffle(arr)>>> arrarray([[3, 4, 5], [6, 7, 8], [0, 1, 2]])
permutation(x)
返回一个随机排列
>>> np.random.permutation(10)array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6])
>>> np.random.permutation([1, 4, 9, 12, 15])array([15, 1, 9, 4, 12])
>>> arr = np.arange(9).reshape((3, 3))>>> np.random.permutation(arr)array([[6, 7, 8], [0, 1, 2], [3, 4, 5]])
分布
beta(a, b[, size])
贝塔分布样本,在 [0, 1]内。binomial(n, p[, size])
二项分布的样本。chisquare(df[, size])
卡方分布样本。dirichlet(alpha[, size])
狄利克雷分布样本。exponential([scale, size])
指数分布f(dfnum, dfden[, size])
F分布样本。gamma(shape[, scale, size])
伽马分布geometric(p[, size])
几何分布gumbel([loc, scale, size])
耿贝尔分布。hypergeometric(ngood, nbad, nsample[, size])
超几何分布样本。laplace([loc, scale, size])
拉普拉斯或双指数分布样本logistic([loc, scale, size])
Logistic分布样本lognormal([mean, sigma, size])
对数正态分布logseries(p[, size])
对数级数分布。multinomial(n, pvals[, size])
多项分布multivariate_normal(mean, cov[, size])
多元正态分布。
>>> mean = [0,0]>>> cov = [[1,0],[0,100]] # diagonal covariance, points lie on x or y-axis
>>> import matplotlib.pyplot as plt>>> x, y = np.random.multivariate_normal(mean, cov, 5000).T>>> plt.plot(x, y, ‘x‘); plt.axis(‘equal‘); plt.show()
negative_binomial(n, p[, size])
负二项分布noncentral_chisquare(df, nonc[, size])
非中心卡方分布noncentral_f(dfnum, dfden, nonc[, size])
非中心F分布normal([loc, scale, size])
正态(高斯)分布
Notes
The probability density for the Gaussian distribution is
where is the mean and the standard deviation. The square of the standard deviation, , is called the variance.
The function has its peak at the mean, and its “spread” increases with the standard deviation (the function reaches 0.607 times its maximum at and [R217]).
Examples
Draw samples from the distribution:
>>> mu, sigma = 0, 0.1 # mean and standard deviation>>> s = np.random.normal(mu, sigma, 1000)
Verify the mean and the variance:
>>> abs(mu - np.mean(s)) < 0.01True>>> abs(sigma - np.std(s, ddof=1)) < 0.01True
Display the histogram of the samples, along with the probability density function:
>>> import matplotlib.pyplot as plt>>> count, bins, ignored = plt.hist(s, 30, normed=True)>>> plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *... np.exp( - (bins - mu)**2 / (2 * sigma**2) ),... linewidth=2, color=‘r‘)>>> plt.show()
pareto(a[, size])
帕累托(Lomax)分布poisson([lam, size])
泊松分布power(a[, size])
Draws samples in [0, 1] from a power distribution with positive exponent a - 1.rayleigh([scale, size])
Rayleigh 分布standard_cauchy([size])
标准柯西分布standard_exponential([size])
标准的指数分布standard_gamma(shape[, size])
标准伽马分布standard_normal([size])
标准正态分布 (mean=0, stdev=1).standard_t(df[, size])
Standard Student’s t distribution with df degrees of freedom.triangular(left, mode, right[, size])
三角形分布uniform([low, high, size])
均匀分布vonmises(mu, kappa[, size])
von Mises分布wald(mean, scale[, size])
瓦尔德(逆高斯)分布weibull(a[, size])
Weibull 分布zipf(a[, size])
齐普夫分布随机数生成器
RandomState
Container for the Mersenne Twister
pseudo-random number generator.
seed([seed])
Seed the generator.get_state()
Return a tuple representing the internal
state of the generator.
set_state(state)
Set the internal state of the generator
from a tuple.
numpy的random模块
- numpy的random模块
- numpy的random模块
- numpy的random模块
- numpy的random模块
- numpy的random模块
- numpy的random模块
- numpy的random模块
- NumPy random模块的使用
- python中numpy的random模块
- Python的numpy.random模块中文简介
- Numpy之random模块
- numpy random 模块
- Numpy之random模块
- numpy中的random模块
- numpy生成随机数random模块
- numpy教程:随机数模块numpy.random
- numpy教程:随机数模块numpy.random
- numpy教程:随机数模块numpy.random
- 【p091】多项式输出
- 从尾到头打印链表
- 栈GC
- easyDarwin流媒体
- Centos 7下通过zabbix利用zabbix自有template监控mariadb
- numpy的random模块
- 【PAT】A1046. Shortest Distance (20)
- CocoaPods版本升级
- 安卓检查GPS打开状态并跳转打开导航页面写法
- Online redo logfiles(在线重做日志文件)
- 一个2年安卓开发者的一些忠告
- 如何建立个人网站?
- JNI介绍
- Opencv中的cvWaitkey函数的用法