目录
[0 总结 np.random() 的一些点](#0 总结 np.random() 的一些点)
[1 用np.random.random() 生成[0,1) 区间内的随机数](#1 用np.random.random() 生成[0,1) 区间内的随机数)
[2 生成指定范围内的随机整数/数组 np.random.randint()](#2 生成指定范围内的随机整数/数组 np.random.randint())
[3 用np.random.choice()生成指定数组范围内的随机数](#3 用np.random.choice()生成指定数组范围内的随机数)
[3.1 np.random.choice(array6)](#3.1 np.random.choice(array6))
[3.2 np.random.choice(array6) ,需要设置是否允许循环抽样](#3.2 np.random.choice(array6) ,需要设置是否允许循环抽样)
[4 np.random.normal()生成符合正态分布的数/数组](#4 np.random.normal()生成符合正态分布的数/数组)
[5 np.random.binomial()生成符合二项分布的数](#5 np.random.binomial()生成符合二项分布的数)
[6 上述的图](#6 上述的图)
[7 全部代码和效果](#7 全部代码和效果)
准备工作
先看python相关的随机,生成各种随机数
0 总结 np.random() 的一些点
- np.random() 主要是生成符合各种要求的随机数
- 比如[0,1)
- 符合某分布,正态分布,二项分布等
- 指定某区间内随机等,比如(a,b) 之间,或者在某个array([1,10,99]) 之间
- np.random() 可以不指定size,就只生成一个随机数。
- 如果像生成一个数组,np.random() 都接受 size=10 这个参数,方便生成多个符合要求的随机数,一个数组
- size参数不是必须的,如果没有默认就是只生成1个随机数
- np.random.random()
- np.random.random(size=10)
1 用np.random.random() 生成[0,1) 区间内的随机数
-
np.random 能生成[0,1)这种标准化随机数数组
-
np.random.random()
-
np.random.random(size=10)
np.random 能生成[0,1)这种标准化随机数数组
array2=np.random.random(size=10)
print(f"标准化[0,1)范围内随机数数组:{array2}")
2 生成指定范围内的随机整数/数组 np.random.randint()
-
#生成范围内的随机整数int数组
-
np.random.randint(1,10, size=10)
#生成范围内的随机整数int数组
array1=np.random.randint(1,10, size=10)
print(f"指定整数内随机int数组:{array1}")
3 用np.random.choice()生成指定数组范围内的随机数
3.1 np.random.choice(array6)
- np.random 从指定数组里去随机选择
- list6=[1,2,3,4,5,6,7,8,9,10]
- array6=np.array(list6)
- 可以用
- np.random.choice(array6)
3.2 np.random.choice(array6) ,需要设置是否允许循环抽样
-
replace=True,可以允许抽样
-
replace=False,不允许抽样
-
array61=np.random.choice(array6,size=5,replace=True)
-
array62=np.random.choice(array6,size=5,replace=False)
np.random 从指定数组里去随机选择
list6=[1,2,3,4,5,6,7,8,9,10]
array6=np.array(list6)array61=np.random.choice(array6,size=5,replace=True)
print(f"指定数组内选择,可重复:{array61}")
print()array62=np.random.choice(array6,size=5,replace=False)
print(f"指定数组内选择,不可重复:{array62}")
print()
4 np.random.normal()生成符合正态分布的数/数组
-
np.random.normal()
-
能生成正态分布,二项分布等各种分布的随机数数组(序列)
-
#无参数默认是标准正态分布,默认只生成1个数
-
array3=np.random.normal(size=10)
-
#array3=np.random.normal(loc=0.0, scale=1.0) #效果和上面缺省相同
-
其中loc=mean 是均值
-
其中scale=std 是标准差,
-
size= 数量
-
array4=np.random.normal(loc=2, scale=5, size=10) #loc=mean,scale=std, size=num
np.random 能生成正态分布,二项分布等各种分布的随机数数组(序列)
array3=np.random.normal(size=10) #无参数默认是标准正态分布,默认只生成1个数
#array3=np.random.normal(loc=0.0, scale=1.0) #效果和上面缺省相同
print(f"符合标准正态分布数组:{array3}")
print()array4=np.random.normal(loc=2, scale=5, size=10) #loc=mean,scale=std, size=num
print(f"符合正态分布数组:{array4}")
print()
5 np.random.binomial()生成符合二项分布的数
-
np.random.binomial()
-
np.random.binomial(n=10, p=0.5, size=10)
np.random 能生成正态分布,二项分布等各种分布的随机数数组(序列)
array5=np.random.binomial(n=10, p=0.5, size=10)
print(f"二项分布数组:{array5}")
print()
6 上述的图
7 全部代码和效果
import numpy as np
import pandas as pd
import scipy as sp
from matplotlib import pyplot as plt
import seaborn as sns
%precision 3
fig=plt.figure()
#生成范围内的随机整数int数组
array1=np.random.randint(1,10, size=10)
print(f"指定整数内随机int数组:{array1}")
plt.subplot(3, 3, 1)
plt.plot(array1)
print()
# np.random 能生成[0,1)这种标准化随机数数组
array2=np.random.random(size=10)
print(f"标准化[0,1)范围内随机数数组:{array2}")
plt.subplot(3, 3, 2)
plt.plot(array2)
print()
# np.random 能生成正态分布,二项分布等各种分布的随机数数组(序列)
array3=np.random.normal(size=10) #无参数默认是标准正态分布,默认只生成1个数
#array3=np.random.normal(loc=0.0, scale=1.0) #效果和上面缺省相同
print(f"符合标准正态分布数组:{array3}")
plt.subplot(3, 3, 3)
plt.plot(array3)
print()
array4=np.random.normal(loc=2, scale=5, size=10) #loc=mean,scale=std, size=num
print(f"符合正态分布数组:{array4}")
plt.subplot(3, 3, 4)
plt.plot(array4)
print()
# np.random 能生成正态分布,二项分布等各种分布的随机数数组(序列)
array5=np.random.binomial(n=10, p=0.5, size=10)
print(f"二项分布数组:{array5}")
plt.subplot(3, 3, 5)
plt.plot(array5)
print()
# np.random 从指定数组里去随机选择
list6=[1,2,3,4,5,6,7,8,9,10]
array6=np.array(list6)
plt.subplot(3, 3, 6)
plt.plot(array6)
print()
array61=np.random.choice(array6,size=5,replace=True)
print(f"指定数组内选择,可重复:{array61}")
plt.subplot(3, 3, 7)
plt.plot(array61)
print()
array62=np.random.choice(array6,size=5,replace=False)
print(f"指定数组内选择,不可重复:{array62}")
plt.subplot(3, 3, 8)
plt.plot(array62)
print()