np.random.choice()函数,不仅可以从一维数组中随机抽取元素,还可以从二维多维数组中随机抽取元素
1.基本参数介绍:np.random.choice(a, size=None, replace=True, p=None)参数:a 表示从a中随机选取size个数 ,可以从数组、列表或元组中随机抽取,必须是一维的。replacement代表的意思是抽样之后还放不放回去,replace=False,无放回的抽样,不会出现重复的元素replace=True,有可能会出现重复的元素。 默认为True。p
·
1.基本参数介绍:
np.random.choice(a, size=None, replace=True, p=None)
参数:
- a 表示从a中随机选取size个数 ,可以从数组、列表或元组中随机抽取,必须是一维的。
- replacement代表的意思是抽样之后还放不放回去,replace=False,无放回的抽样,不会出现重复的元素
- replace=True,有可能会出现重复的元素。 默认为True。
- p表示每个元素被抽取的概率,如果没有指定,默认a中所有元素被选取的概率是相等的。
2.从一维数组中随机抽取元素
import numpy as np
A = np.array([1,2,3,4,5,6])
B = np.random.choice(A, 2, replace=False)
print(B)
则B的值可能为:
[1,3]
3.那么如何从二维数组中随机抽取二维元素呢
import numpy as np
A = np.array([[1,2],[3,4],[5,6],[7,2],[4,9]])
B = A[np.random.choice(A.shape[0],2),:]
则B的结果可能为:
[[4, 9],
[3, 4]]
实际上原理很简单,先生成随机索引,再把随机索引对应的二维元素取出来即可。
更多推荐
所有评论(0)