python 从200个数据中按概率抽取5个数据, 序号越大的抽取概率越大
时间: 2024-06-05 22:08:40 浏览: 61
python list数据等间隔抽取并新建list存储的例子
可以使用Python的random模块中的choices函数来实现从一组数据中按概率抽取数据。具体实现流程如下:
1. 定义一个包含200个数据的列表dataList,可以用range函数生成。
2. 定义一个长度为200的概率列表weightList,初始值为0。
3. 计算每个数据对应的权重值,根据题意,序号越大的数据权重越大,可以将权重设置为该数据的序号/总数据个数的比例,即weight = i/200。
4. 将每个数据的权重加到weightList中。
5. 调用choices函数,传入dataList和weightList,设置k参数为5,即可按照概率抽取出5个数据。
具体代码如下:
import random
# 生成数据列表
dataList = list(range(1, 201))
# 计算概率列表
weightList = []
for i in dataList:
weight = i / 200
weightList.append(weight)
# 按概率抽取数据
result = random.choices(dataList, weights=weightList, k=5)
print(result) # 打印输出抽取的结果
阅读全文