【随手记】np.random.choice()函数

简介: 【随手记】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() 函数来打乱原数组的元素顺序,然后再按照需要取出一部分元素。

目录
相关文章
|
1月前
|
机器学习/深度学习 索引 Python
Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码
本文解释了NumPy中`argmax`函数的`axis`参数在不同维度数组中的应用,并通过代码示例展示了如何使用`axis=0`、`axis=1`和`axis=-1`来找到数组中最大值的索引。
95 0
Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码
|
3月前
|
Python
【Python-numpy】numpy.random.choice()解析与使用
本文介绍了NumPy中的`numpy.random.choice()`函数,它用于从一维数组或整数范围内根据指定概率或均匀分布生成随机样本,支持设置样本大小、是否替换以及每个元素的特定概率。
62 5
|
数据挖掘 Python
Numpy常用random随机函数
Numpy常用random随机函数
103 0
Numpy常用random随机函数
|
Python
Python random 随机函数(random、uniform、randint、choice、choices、randrange、shuffle、sample)
Python random 随机函数(random、uniform、randint、choice、choices、randrange、shuffle、sample)
135 0
|
PyTorch 算法框架/工具
【PyTorch】rand/randn/randint/randperm的区别
【PyTorch】rand/randn/randint/randperm的区别
100 0
|
C语言 Python
numpy.zeros(np.zeros)使用方法--python学习笔记31
numpy.zeros(np.zeros)使用方法--python学习笔记31
369 0
|
机器学习/深度学习 PyTorch 算法框架/工具
Numpy | np.random随机模块的使用介绍
Numpy | np.random随机模块的使用介绍
247 0
Numpy | np.random随机模块的使用介绍
|
Python
【numpy】random.RandomState()函数用法详解
【numpy】random.RandomState()函数用法详解
【numpy】random.RandomState()函数用法详解
|
数据安全/隐私保护
Random的nextInt()用法
Random的nextInt()用法
206 0
np.random.choice 参数replace
np.random.choice 参数replace
130 0