You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DolphinDB中如何按指定概率对数组进行随机抽样

DolphinDB 自定义概率随机抽样实现方案

DolphinDB 原生支持按指定概率数组开展加权随机抽样,完全覆盖 Python 中np.random.choice传入p参数实现的抽样能力,直接调用内置sample函数即可实现。

核心参数说明

sample函数用于随机抽样时,和需求匹配的参数规则如下:

  • 第一参数传入待抽样的数组/向量,对应np.random.choice的a参数
  • 第二参数传入需要抽取的样本总数量,对应np.random.choice的size参数
  • 第三参数replace控制是否有放回抽样,默认值为true,和np.random.choice的默认行为一致
  • 第四参数weights传入每个元素对应的抽取概率/权重,对应np.random.choice的p参数,注意该参数不需要强制做归一化处理,传入的权重和不需要等于1,系统会自动完成归一化计算

等价实现代码

和示例Python代码完全对应的DolphinDB实现如下:

// 定义待抽样数组与对应概率
a = [1, 2, 3, 4]
p = [0.1, 0.1, 0.3, 0.5]
// 有放回抽取100个符合概率分布的样本
sampled_result = sample(a, 100, weights=p)

注意事项

  • 如果需要做无放回加权抽样,将replace参数显式设为false即可,此时要求抽样量不能超过待抽样数组的元素总数,否则会抛出运行错误
  • 如果需要固定抽样结果实现可复现,可在执行抽样代码前调用rand(seed_value)设置固定随机种子,例如执行rand(1024)后再运行抽样逻辑,多次运行得到的抽样结果完全一致
  • 传入的权重数组长度必须和待抽样数组长度完全相等,否则会触发参数不匹配报错

内容的提问来源于stack exchange,提问作者YaN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 21:27:46