python之numpy的用法
arange函数类似于python的range函数,通过指定开始值、终值和步长来创建一维数组,注意数组不包括终值:
linspace函数通过指定开始值、终值和元素个数来创建一维数组,可以通过endpoint关键字指定是否包括终值,缺省设置是包括终值:
随机抽样 (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 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) + 3 array([[-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 (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)) - 5 array([[-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) >>> arr array([[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 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 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.01 True >>> abs(sigma - np.std(s, ddof=1)) < 0.01 True 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.meshgrid
将多个数组变为多维数组,如:a=[1,2,3] b=[[1],[2]] a,b=np.meshgrid(a,b) a=[[1,2,3],[1,2,3]] b=[[1,1,1],[2,2,2]]
numpy.mgrid
a ,b=numpy.mgrid[1:3:1j,1:2:1j]产生a=[[1,2,3],[1,2,3]] b=[[1,1,1],[2,2,2]]
numpy.ogrid
python之numpy的用法相关推荐
- python中numpy的用法_Python中numpy多维数组的用法
继上篇讲过numpy如何构建多维数组之后,今天我们来学习numpy多维数组的用法. 加法和减法操作要求操作双方的维数信息一致,均为M*N为数组方可正确执行操作. a = np.arange(4) 输出 ...
- python库numpy基本用法
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1. 数组创建 import numpy ...
- Python的numpy基本用法
numpy中ndarray的属性 import numpy as npa = np.array([[1,2,3],[2,3,4]]) a type(a) a.shape a.ndim # 维度 # n ...
- 【python】numpy.random用法
numpy中的random主要是用来产生随机数的一个模块. 模块使用中的常见问题: 1.randn()和rand()的区别: numpy.random.randn(d0, d1, -, dn)是从标 ...
- (Python)numpy的argmax用法
(Python)numpy的argmax用法 解释 还是从一维数组出发.看下面的例子. import numpy as np a = np.array([3, 1, 2, 4, 6, 1]) prin ...
- 【Python】Numpy扩充数组函数之repeat和tile用法
2019独角兽企业重金招聘Python工程师标准>>> [Python]Numpy扩充数组函数之repeat和tile用法,有需要的朋友可以参考下. 用repeat和tile扩充数组 ...
- 【Python】Numpy库之符号函数sign()的介绍及用法
1.sign()函数功能介绍 sign()是Python的Numpy中的取数字符号(数字前的正负号)的函数. 2.sign()函数用法代码演示 #导入numpy库 import numpy as np ...
- python中tile的用法_python3中numpy函数tile的用法详解
tile函数位于python模块 numpy.lib.shape_base中,他的功能是重复某个数组.比如tile(A,n),功能是将数组A重复n次,构成一个新的数组,我们还是使用具体的例子来说明问题 ...
- python数组扩充_【Python】Numpy扩充数组函数之repeat和tile用法,
[Python]Numpy扩充数组函数之repeat和tile用法,有需要的朋友可以参考下. 用repeat和tile扩充数组元素,例如 >>> import numpy as np ...
最新文章
- 【数据结构与算法】之深入解析“两数之和”的求解思路与算法示例
- Atitit.json类库的设计与实现 ati json lib
- 2017-2018-1 20155213 《信息安全系统设计基础》第十一周学习总结
- 面试官系统精讲Java源码及大厂真题 - 39 经验总结:不同场景,如何使用线程池
- influxDB集群模式实践
- UI素材|屏幕移动线框套件
- SQL获取上个月的第一天最后一天datetime
- 用 CrossOver 安装的 Windows 软件在哪
- 中艺人脸识别考勤机使用方法_M2人脸识别考勤机使用说明
- 个人独资企业缴纳税种及税率
- java游戏服务器面试_服务器 面试
- 10 款值得珍藏的 Chrome 浏览器插件
- UE4-制作真实场景三维地形
- 镜像miracast投屏软件_什么是Miracast投屏,Miracast是怎么投屏的?
- 【小西】优化若依导出功能,若依继承导出
- 车载导航系统中GPS的定位
- python获取机器唯一标识_通过python 获取cpu和硬盘等硬件序列号组成的唯一识别码...
- TCP三次握手,四次挥手的全过程,为什么需要三次握手,四次挥手
- Java绝对/相对路径获取与getResourceAsStream()方法
- CYCLEGAN (棋盘效应被解决)