python - 如何根据特定条件分配概率?
问题描述
我在这里撞到了一堵墙。所以我随机抽取 10 个元素的样本,我想根据某些条件给它们概率。假设我有这个随机样本 [1, 3, 5, 7, 13, 16, 6, 9, 22, 15] 所以我想根据与 int 的相对距离为 8 给每个数字一个概率。进一步的元素从 8 开始,概率较小。在这种情况下,7 和 9 的概率相同,最大的概率和 22 的概率最小?
我试图找到一些 numpy 函数,但没有成功。
谢谢!
解决方案
你必须做两件事。创建概率,并根据它进行选择。创建它
data = np.array([1, 3, 5, 7, 13, 16, 6, 9, 22, 15])
p = 1 / np.abs(data - 8)
(这只是想法,您没有具体说明您希望概率如何随距离变化)
对于第二部分,numpy.choice
函数(在最近的numpy 版本中)可以接受数组p
以从data
推荐阅读
- python - Pipenv 始终无法锁定并产生大量错误输出
- r - connecting to clickhouse in R
- stored-procedures - Record Type in BigQuery Stored procedure
- azure-devops - trying to use set variable from predefined variables and use it in condition for stage in azure devops pipeline
- amazon-web-services - Handling load balancer
- azure-data-factory-2 - Create a ADF Dataset to load multiple csv files (same format) from the Blob
- c++ - Converting an inline-asm x87 fsqrt function from C++ to C for x86-64
- php - 解析错误?'语法错误,意外'FORMAT'(T_STRING'
- r - 一个闪亮的应用程序,将数字附加到一维向量
- python - 二维数组的 Numpy 删除