np.random.choice方法

np.random.choice方法

觉得有用的话,欢迎一起讨论相互学习~

我的微博我的github我的B站

  • def choice(a, size=None, replace=True, p=None)
    • 表示从a中随机选取size个数
    • replacement 代表的意思是抽样之后还放不放回去,如果是False的话,那么通一次挑选出来的数都不一样,如果是True的话, 有可能会出现重复的,因为前面的抽的放回去了。
    • p表示每个元素被抽取的概率,如果没有指定,a中所有元素被选取的概率是相等的。

默认为有放回的抽样 (可以重复)

  • np.random.choice(5, 3)
    • 和np.random.randint(0,5,3)意思相同,表示从[0,5)之间随机以等概率选取3个数
  • np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
    • 表示分别以p=[0.1, 0, 0.3, 0.6, 0]的概率从[0,1,2,3,4]这四个数中选取3个数

以下为无放回的抽样 (不会出现重复的元素)

  • np.random.choice(a=5, size=3, replace=False, p=None)
  • np.random.choice(a=5, size=3, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])

此方法也可以对列表List类型元素使用

  • aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
  • np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
import numpy as np

a1=np.random.choice(5, 3)
a2=np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
a3=np.random.choice(a=5, size=3, replace=False, p=None)
a4=np.random.choice(a=5, size=3, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])
aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
a5=np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])

print("a1:\n",a1,"\n","a2:\n",a2,"\n","a3:\n",a3,"\n","a4:\n",a4,"\n","a5:\n",a5)

# a1:
#  [2 2 2]
#  a2:
#  [2 3 3]
#  a3:
#  [4 0 1]
#  a4:
#  [0 3 2]
#  a5:
#  ['pooh' 'rabbit' 'pooh' 'pooh' 'Christopher']

posted @   WUST许志伟  阅读(25464)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示