python - numpy:在“锯齿状”数组中矢量化随机数生成
问题描述
我有两个锯齿状数组作为输入:第一个是值数组的数组,第二个是与前一个数组的值相对应的概率数组的数组。对于每一行值,我想根据相应的概率数组绘制一个值。
以下是非矢量化版本的示例代码:
values = [[1, 2, 4], [19, 8], [7, 6, 1, 2], [5, 0]]
probabilities = [[0.1, 0.1, 0.8], [0.5, 0.5], [1, 0, 0, 0], [0.25, 0.75]]
output = [np.random.choice(values, p=probs) for values, probs in zip(values, probabilities)]
print(output)
输出:
[4, 19, 7, 0]
我尝试对每对值和概率使用 np.vectorize ,但它没有提供加速。有没有办法通过使用 np.vectorize 来矢量化这种类型的随机选择?
解决方案
推荐阅读
- python - 如何在列表中附加列表中的元素?
- javascript - 如何使用 vanilla javascript 调用 bootstrap5 模态?
- reactjs - 在新的 Microsoft Graph 工具包中设置域提示
- dynamics-crm - Dynamics CRM 2016 8.1 中的状态变化
- .net - Blazor WebAssembly 断点不起作用
- python - 将 3D 矩阵与 2D 矩阵相乘,返回与 2D 矩阵具有相同维度的矩阵
- node.js - 将 node.js npm 项目从 Windows 迁移到 Linux
- tensorflow - 在本地环境中测试时使用笔记本“使用 Tensorflow-IO 从 Elasticsearch 流式传输结构化数据”时出错
- python - 如何使用代码单元打印功能仅在 Jupyter 笔记本中呈现超链接和文本?
- mysql - 如何修复 Wordpress 网站的 SQL 数据库错误