np.random.choice()函数,不仅可以从一维数组中随机抽取元素,还可以从二维多维数组中随机抽取元素

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]]

实际上原理很简单,先生成随机索引,再把随机索引对应的二维元素取出来即可。

你可能感兴趣的:(python,python,开发语言)