【Python-numpy】numpy.random.choice()解析与使用

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 本文介绍了NumPy中的`numpy.random.choice()`函数,它用于从一维数组或整数范围内根据指定概率或均匀分布生成随机样本,支持设置样本大小、是否替换以及每个元素的特定概率。

1 作用

根据给定的一维数组生成随机样本

2 参数解析

numpy.random.choice(a,size = None,replace = True,p = None )

  • a
    是一维数组状或整数,如果是数组,则会从其元素生成随机样本。如果为int,则生成随机样本,就是a=np.arange(a)

  • size
    是int或int元组,可选。输出的形状。默认值为无,在这种情况下,将返回单个值。

  • replace
    布尔值,可选,sample是否更换

  • p
    一维数组状,可选,与a中每个条目关联的概率。如果未给出,则样本将假定a中所有条目的均匀分布。

3 举例使用

1、从大小为3的np.arange(5)生成均匀的随机样本:

np.random.choice(5, 3)#等同于np.random.randint(0,5,3)

输出
array([0, 3, 4])

2、从大小为3的np.arange(5)生成非均匀随机样本:

np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])

输出
array([3, 3, 0])

3、从大小为3的np.arange(5)生成一个均匀的随机样本,而无需替换:

np.random.choice(5, 3, replace=False)#等同于np.random.permutation(np.arange(5))[:3]

输出
array([3,1,0])

4、从大小为3的np.arange(5)生成非均匀随机样本,而无需替换:

np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0])

array([2, 3, 0])

5、可以使用类似任意数组的形式重复上述操作,而不仅仅是整数。例如:

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

输出
array([‘pooh’, ‘pooh’, ‘pooh’, ‘Christopher’, ‘piglet’], dtype=’<U11’)

目录
相关文章
|
27天前
|
数据采集 JSON API
深入解析:使用 Python 爬虫获取淘宝店铺所有商品接口
本文介绍如何使用Python结合淘宝开放平台API获取指定店铺所有商品数据。首先需注册淘宝开放平台账号、创建应用并获取API密钥,申请接口权限。接着,通过构建请求、生成签名、调用接口(如`taobao.items.search`和`taobao.item.get`)及处理响应,实现数据抓取。代码示例展示了分页处理和错误处理方法,并强调了调用频率限制、数据安全等注意事项。此技能对开发者和数据分析师极具价值。
|
2月前
|
存储 索引 Python
Python入门:6.深入解析Python中的序列
在 Python 中,**序列**是一种有序的数据结构,广泛应用于数据存储、操作和处理。序列的一个显著特点是支持通过**索引**访问数据。常见的序列类型包括字符串(`str`)、列表(`list`)和元组(`tuple`)。这些序列各有特点,既可以存储简单的字符,也可以存储复杂的对象。 为了帮助初学者掌握 Python 中的序列操作,本文将围绕**字符串**、**列表**和**元组**这三种序列类型,详细介绍其定义、常用方法和具体示例。
Python入门:6.深入解析Python中的序列
|
2月前
|
存储 Linux iOS开发
Python入门:2.注释与变量的全面解析
在学习Python编程的过程中,注释和变量是必须掌握的两个基础概念。注释帮助我们理解代码的意图,而变量则是用于存储和操作数据的核心工具。熟练掌握这两者,不仅能提高代码的可读性和维护性,还能为后续学习复杂编程概念打下坚实的基础。
Python入门:2.注释与变量的全面解析
|
2月前
|
存储 人工智能 程序员
通义灵码AI程序员实战:从零构建Python记账本应用的开发全解析
本文通过开发Python记账本应用的真实案例,展示通义灵码AI程序员2.0的代码生成能力。从需求分析到功能实现、界面升级及测试覆盖,AI程序员展现了需求转化、技术选型、测试驱动和代码可维护性等核心价值。文中详细解析了如何使用Python标准库和tkinter库实现命令行及图形化界面,并生成单元测试用例,确保应用的稳定性和可维护性。尽管AI工具显著提升开发效率,但用户仍需具备编程基础以进行调试和优化。
277 9
|
2月前
|
监控 算法 安全
内网桌面监控软件深度解析:基于 Python 实现的 K-Means 算法研究
内网桌面监控软件通过实时监测员工操作,保障企业信息安全并提升效率。本文深入探讨K-Means聚类算法在该软件中的应用,解析其原理与实现。K-Means通过迭代更新簇中心,将数据划分为K个簇类,适用于行为分析、异常检测、资源优化及安全威胁识别等场景。文中提供了Python代码示例,展示如何实现K-Means算法,并模拟内网监控数据进行聚类分析。
53 10
|
20天前
|
机器学习/深度学习 数据采集 自然语言处理
基于Python的情感分析与情绪识别技术深度解析
本文探讨了基于Python的情感分析与情绪识别技术,涵盖基础概念、实现方法及工业应用。文中区分了情感分析与情绪识别的核心差异,阐述了从词典法到深度学习的技术演进,并通过具体代码展示了Transformers架构在细粒度情感分析中的应用,以及多模态情绪识别框架的设计。此外,还介绍了电商评论分析系统的构建与优化策略,包括领域自适应训练和集成学习等方法。未来,随着深度学习和多模态数据的发展,该技术将更加智能与精准。
53 0
|
2月前
|
存储 数据采集 JSON
Python爬取某云热歌榜:解析动态加载的歌曲数据
Python爬取某云热歌榜:解析动态加载的歌曲数据
|
10月前
|
XML JavaScript 关系型数据库
Python XML 解析
Python XML 解析
|
XML JavaScript 关系型数据库
|
11月前
|
XML JavaScript API
Python XML 解析
Python XML 解析
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等