np.random.choice方法
def choice(a, size=None, replace=True, p=None)
表示从a中随机选取size个数,左闭右开。
replacement代表的意思是抽样之后还放不放回去,如果是False的话,不放回。如果是True的话,放回。
p表示每个元素被抽取的概率,如果没有指定,a中所有元素被选取的概率是相等的。
import numpy as np
a1=np.random.choice(5, 3)
a2=np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
a3=np.random.choice(a=5, size=3, replace=False, p=None)
a4=np.random.choice(a=5, size=3, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])
aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
a5=np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
print("a1:\n",a1,"\n","a2:\n",a2,"\n","a3:\n",a3,"\n","a4:\n",a4,"\n","a5:\n",a5)
# a1:
# [2 2 2]
# a2:
# [2 3 3]
# a3:
# [4 0 1]
# a4:
# [0 3 2]
# a5:
# ['pooh' 'rabbit' 'pooh' 'pooh' 'Christopher']
np.newaxis方法
np.newaxis的作用就是在这一位置增加一个一维,这一位置指的是np.newaxis所在的位置。
x1 = np.array([1, 2, 3, 4, 5])
# the shape of x1 is (5,)
x1_new = x1[:, np.newaxis]
# now, the shape of x1_new is (5, 1)
# array([[1],
# [2],
# [3],
# [4],
# [5]])
x1_new = x1[np.newaxis,:]
# now, the shape of x1_new is (1, 5)
# array([[1, 2, 3, 4, 5]])
np.random.uniform方法
函数原型:np.random.uniform(low,high,size)。
参数介绍:
low: 采样下界,float类型,默认值为0;
high: 采样上界,float类型,默认值为1;
size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出m*n*k个样本,缺省时输出1个值。
返回值:ndarray类型,其形状和参数size中描述一致。
np.squeeze方法
函数原型:np.squeeze(a,axis = None)。
1)a表示输入的数组;
2)axis用于指定需要删除的维度,但是指定的维度必须为单维度,否则将会报错;
3)axis的取值可为None 或 int 或 tuple of ints, 可选。若axis为空,则删除所有单维度的条目;
4)返回值:数组
5) 不会修改原数组;
#例1
import numpy as np
a = np.arange(10).reshape(1,10)
# 输出
a = array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
a.shape
(1, 10)
b = np.squeeze(a)
# 输出
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
b.shape
(10,)