关于python生成随机数列表,并获取满足条件元素对应索引值的常用方法

本文介绍了numpy库中的where函数和random.rand()函数的使用。np.where()函数在条件满足时返回指定值,不满足时返回另一值,当仅提供条件时,它返回满足条件的元素坐标。而np.random.rand()则用于生成0到1之间的均匀分布随机数。结合两者,可以获取随机数中小于特定阈值的索引值。文章还提供了不同维度数组的示例,帮助读者深入理解这两个函数的工作原理。
摘要由CSDN通过智能技术生成

常用方法:
np.where(np.random.rand(N) < x)
关于这个这一串简单的代码,我们有必要先明白几个关键函数。
1)np.where()
numpy.where() 有两种用法:

  1. np.where(condition, x, y)
    满足条件(condition),输出x,不满足输出y
    在这里插入图片描述

输出结果为:
在这里插入图片描述
2. np.where(condition)
只有条件 (condition),没有x和y,则输出满足条件 (即非0) 元素的坐标 (等价于numpy.nonzero)。这里的坐标以tuple的形式给出,通常原数组有多少维,输出的tuple中就包含几个数组,分别对应符合条件元素的各维坐标。
在这里插入图片描述
输出结果为:
在这里插入图片描述
在这里插入图片描述
可以看到当数组变成二维时,输出的坐标值也变成二维,每个坐标索引分别对应输出元组的第一个和第二个元素。

**这里有一点需要注意,对于一维的数组,我们要直接获取索引值,需要将输出的元组看成(为什么是“看成”,因为当你对其进行索引,会发现超出索引范围)两个元素第一个元素为索引值,第二个元素为数组类型,如:
在这里插入图片描述
在这里插入图片描述
输出结果为:
在这里插入图片描述在这里插入图片描述

**同理对于二维数组,正如上述所说,输出元组也是个二维元组,一部分对应的是行索引,另一部分对应的是列索引,如:
**
在这里插入图片描述
在这里插入图片描述
2)np.random.rand()
np.random.rand(d0,d1,d2……dn)
注:使用方法与np.random.randn()函数相同
作用:
通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。
在这里插入图片描述
输出结果:
在这里插入图片描述在这里插入图片描述
输出结果:
在这里插入图片描述
在这里插入图片描述
输出结果:
在这里插入图片描述
关于random的其他函数可以参考:
https://blog.csdn.net/weixin_42029738/article/details/81977492

所以回到最初的那行代码,我们可以很清楚的知道其作用就是返回随机生成的N个服从均匀分布的数中,小于0.1对应的索引值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值