np.random.choice()函数示例详解
作者:zcongfly
np.random.choice() 是 NumPy 中的一个随机抽样函数,用于从给定的一维数组中随机抽取指定数量或指定概率的元素,本文给大家介绍np.random.choice()函数的相关知识,感兴趣的朋友一起看看吧
np.random.choice()
是 NumPy 中的一个随机抽样函数,用于从给定的一维数组中随机抽取指定数量或指定概率的元素。该函数可以用于构建模拟实验、生成随机数据集、数据抽样等应用场景。
np.random.choice(a, size=None, replace=True, p=None)
的参数如下:
a
:一维数组或整数,表示需要进行抽取的数据源,当为整数时,相当于 np.arange(n)。size
:整数或元组,表示输出数组的大小。replace
:布尔值,表示是否允许重复抽样,默认为 True(允许重复抽样)。p
:一维数组,表示每个元素被抽到的概率。如果未指定,则默认为均匀分布。
例如:
import numpy as np a = np.array([1, 2, 3, 4, 5]) print(np.random.choice(a)) # 随机抽取一个元素 # 输出:1 或 2 或 3 或 4 或 5,具体结果根据随机结果而定 print(np.random.choice(a, size=3)) # 随机抽取三个元素 # 输出:[2, 5, 1] 或 [3, 4, 1] 或 ...,具体结果根据随机结果而定 print(np.random.choice(a, size=3, replace=False)) # 无放回地随机抽取三个元素 # 输出:[5, 3, 1] 或 [4, 2, 1] 或 ...,具体结果根据随机结果而定 print(np.random.choice(a, size=3, p=[0.1, 0.1, 0.2, 0.3, 0.3])) # 按照概率分布随机抽取三个元素 # 输出:[4, 5, 4] 或 [3, 3, 5] 或 ...,具体结果根据随机结果而定
如果 a
是一个常数,np.random.choice()
函数则等价于从 [0, a)
的整数集合中随机抽取元素。这是因为在 Python 中,range(a)
和 np.arange(a)
都可以表示 [0, a)
的整数集合,因此当 a
为整数时,np.random.choice(a)
等价于 np.random.choice(np.arange(a))
。
例如:
import numpy as np print(np.random.choice(5)) # 等价于 np.random.choice(np.arange(5)) # 输出:0 或 1 或 2 或 3 或 4,具体结果根据随机结果而定
需要注意的是,np.random.choice()
函数返回的是一个新的数组,不会改变原数组。如果需要对原数组进行修改,可以使用 np.random.shuffle()
函数来打乱原数组的元素顺序,然后再按照需要取出一部分元素。
到此这篇关于np.random.choice()函数的文章就介绍到这了,更多相关np.random.choice()函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!