python生成随机数-创新互联

更多大数据分析、建模等内容请关注公众号《bigdatamodeling》

创新互联建站专注于企业网络营销推广、网站重做改版、三都网站定制设计、自适应品牌网站建设、H5场景定制商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为三都等各大城市提供网站开发制作服务。

在实现算法时经常会用到随机数,有时会忘记各种随机数的生成方法,这里对Python中的随机数生成方法进行汇总,以供以后查阅。

import numpy as np
# 两者实现的作用是一样的,都是使每次随机生成数一样
np.random.seed(10)
np.random.RandomState(10)

### 正态分布 np.random.normal(loc=0.0, scale=1.0, size=None)
np.random.normal() # 返回标量 ~N(0,1)
np.random.normal(1) # 返回标量 ~N(0,1)
np.random.normal(size=(2, 2)) # 返回N(0,1) 
np.random.normal(0, 1, size=(2, 2)) # 同上
np.random.normal(2, 10, size=(2, 2)) 

### 标准正态分布N(0,1) 
np.random.randn() # 生成标量 
np.random.randn(1)
np.random.randn(2)
np.random.randn(2, 2)
5 * np.random.randn(2, 2) + 10

### 从均匀分布([low, high):半开区间)中进行采样
np.random.uniform(low=1, high=5, size=(2, 2))
np.random.uniform(1, 5, 10)
np.random.uniform(1, 5) # 生成[1, 5)中的1个标量

### 从均匀分布([0, 1):半开区间)中进行采样
np.random.rand() # 生成标量 
np.random.rand(1)
np.random.rand(2, 2)

### 生成半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间变为[0,low) 
np.random.randint(low=1, high=5, size=(2, 2))
np.random.randint(low=1, high=5, size=10) 
np.random.randint(1, 5, 10) # 同上
np.random.randint(low=5, size=10)
np.random.randint(1, 5) # 生成[1, 5)中的1个标量

### 生成闭区间[low,high]上离散均匀分布的整数值;若high=None,则取值区间变为[1,low] 
np.random.random_integers(low=1, high=5, size=(2, 2))
np.random.random_integers(low=1, high=5, size=10)
np.random.random_integers(1, 5, 10) # 同上
np.random.random_integers(low=5, size=10) 
np.random.random_integers(1, 5) # 生成[1, 5]中的1个标量

### np.random.random 等价于 np.random.random_sample
# 返回[0,1)之间的随机数
np.random.random() # 返回标量
np.random.random(1)
np.random.random(2)
np.random.random((2, 3))

### numpy.random.choice(a, size=None, replace=True, p=None) 
# Generates a random sample from a given 1-D array
# 从数组a中选择,若a是整数,则从np.arange(a)中选择
# replace代表放回与否
# p为数组中每个元素被选中的概率,为空则表示均匀分布
np.random.choice(5, 3)
np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
np.random.choice(5, 3, replace=False)
np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])
arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
np.random.choice(arr, 5, p=[0.5, 0.1, 0.1, 0.3])

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站题目:python生成随机数-创新互联
文章转载:http://azwzsj.com/article/dodish.html