1. 函数原型: numpy.random.uniform(low,high,size)
功能:从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high. low: 采样下界,float类型,默认值为0;
high: 采样上界,float类型,默认值为1;
size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出m*n*k个样本,缺省时输出1个值。
np.random.uniform(0,1,(1,2,3))
output:array([[[0.4203678 , 0.33033482, 0.20464863],
[0.61927097, 0.29965467, 0.26682728]]])
np.zeros((6,10),dtype=int) #6 row 10 column,六个列表,每个列表七个元素。
output:
array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
table = pd.DataFrame(
np.zeros((6, 2)), # q_table initial values。0,1,2,3,等等会自动添加,先知道这些就行了。
columns=['left','right'] # actions's name
)
np.zero((6,2)),每个列表放在一行,分为六行,每个列表有两个元素分在两列
print(table)
建立表格
1.参数可以是字典。2.参数可以是array
need-to-insert-img
np.random.uniform()作用,
np.random.seed() 作用,让之后的随机抽样相同。
np.random.seed(2)
np.random.rand(4)
op:array([0.4359949 , 0.02592623, 0.54966248, 0.43532239])
np.random.seed(2)
np.random.rand(5)#前四个是一样的。
op:array([0.4359949 , 0.02592623, 0.54966248, 0.43532239, 0.4203678 ]
1.创建一个表
2.选择行为
3.与环境交互得到回馈
4.环境本身
5.主循环
table.iloc[0,:]有什么用?取table的第1行的所有列。
need-to-insert-img
# 参数意思分别 是从a 中以概率P,随机选择3个, p没有指定的时候相当于是一致的分布
a1 = np.random.choice(a=5, size=3, replace=False, p=None)
numpy.random.choice(a, size=None, replace=True, p=None)
a : 如果是一维数组,就表示从这个一维数组中随机采样;如果是int型,就表示从0到a-1这个序列中随机采样。
size : 采样结果的数量,默认为1.可以是整数,表示要采样的数量;也可以为tuple,如(m, n, k),则要采样的数量为m * n * k,size为(m, n, k)。