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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zcongfly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值