【发布时间】:2019-04-21 04:51:37
【问题描述】:
我有一组变量列表
import numpy.random as npr
w = [0.02, 0.03, 0.05, 0.07, 0.11, 0.13, 0.17]
x = 1
y = False
z = [0.12, 0.2, 0.25, 0.05, 0.08, 0.125, 0.175]
v = npr.choice(w, x, y, z)
我想找到值 V 是变量选择的概率,例如;错误或 0.12。
我该怎么做。 这是我尝试过的;
import numpy.random as npr
import math
w = [0.02, 0.03, 0.05, 0.07, 0.11, 0.13, 0.17]
x = 1
y = False
z = [0.12, 0.2, 0.25, 0.05, 0.08, 0.125, 0.175]
v = npr.choice(w, x, y, z)
from collections import Counter
c = Counter(0.02, 0.03, 0.05, 0.07, 0.11, 0.13, 0.17,1,False,0.12, 0.2, 0.25, 0.05, 0.08, 0.125, 0.175)
def probability(0.12):
return float(c[v]/len(w,x,y,z))
我知道 0.12 是无效语法
【问题讨论】:
-
你必须传递一个变量名,而不是一个值。因此,您必须传递
def probability(some_variable_name)而不是def probability(0.12),它也可以是def probability(some_variable_name=0.12)。 -
另外,
len(w, x, y, z)没有意义。
标签: python numpy random probability