我在这里碰壁。因此我随机抽取了10个元素作为样本,并且我希望根据某些条件为它们提供概率。可以说我有这个随机样本[1、3、5、7、13、16、6、9、22、15],所以我想给每个数字一个基于距int的相对距离的概率8。是从8减去概率。在这种情况下,7个和9个具有相同的最大概率,22个具有最小的概率?
我试图找到一些numpy函数,但没有成功。
谢谢!
答案 0 :(得分:1)
您必须做两件事。创建概率,然后根据概率进行选择。要创建它
data = np.array([1, 3, 5, 7, 13, 16, 6, 9, 22, 15])
p = 1 / np.abs(data - 8)
(这只是个主意,您没有确切说明希望概率随距离变化的方式)
第二部分,numpy.choice
函数(最近的 numpy版本为)可以接受数组p
并从data