我可以安全地使用np.random.binomial和概率列表

时间:2015-12-22 12:08:02

标签: python numpy

numpy.random.binomial(1, [.1, .5, .9])

似乎有效。

然而,文档说第二个参数p是浮点数而不是列表。

我可以安全地使用它吗?

1 个答案:

答案 0 :(得分:1)

你是对的np.random.binomial's docstringp预计是一个浮动。 但是,函数是defined here。请注意,代码测试p首先是浮点数,如果不是,则尝试将p转换为NumPy数组:

fp = PyFloat_AsDouble(p)
if not PyErr_Occurred():
    ...
    return discnp_array_sc(self.internal_state, rk_binomial, size, ln,
                           fp, self.lock)

PyErr_Clear()
...

op = <ndarray>PyArray_FROM_OTF(p, NPY_DOUBLE, NPY_ARRAY_ALIGNED)

因此代码清楚地允许p可能类似于数组。