Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 处理两个numpy数组时发生ValueError_Python_Numpy - Fatal编程技术网

Python 处理两个numpy数组时发生ValueError

Python 处理两个numpy数组时发生ValueError,python,numpy,Python,Numpy,我想从多对alpha和beta的beta分布中取样。 因此,我在数组a和b中加载了这些alpha和beta,并尝试如下并行计算: >>> a = np.array([1,2,3,4,5]) >>> b = np.array([3,2,4,2,6]) >>> import random >>> random.betavariate(a+1,b+1) Traceback (most recent call last): Fi

我想从多对alpha和beta的beta分布中取样。 因此,我在数组
a
b
中加载了这些alpha和beta,并尝试如下并行计算:

>>> a = np.array([1,2,3,4,5])
>>> b = np.array([3,2,4,2,6])
>>> import random
>>> random.betavariate(a+1,b+1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.8/random.py", line 679, in betavariate
    y = self.gammavariate(alpha, 1.0)
  File "/usr/lib/python3.8/random.py", line 564, in gammavariate
    if alpha <= 0.0 or beta <= 0.0:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
成功了吗?那么,我是否必须显式地使用map来调用alpha-beta对列表中的
random.betavariate()
?如果是,它会比numpy并行化慢吗?事实上,有可能正确实现我的第一个代码,使numpy并行计算它们吗


PS:I am python 3.8.2

请改用numpy中的random

从numpy.random导入默认值\u rng
rng=默认值
a=np.数组([1,2,3,4,5])
b=np.数组([3,2,4,2,6])
收益率β(a+1,b+1)

打电话时如何设置种子
默认值\u rng
?像这样:
np.random.default\u rng(seed=1)
?还有它与
numpy.random.beta
有何不同?你是对的。
>>> list(map(lambda x,y : random.betavariate(x,y),a,b))
[0.06403096830025037, 0.48396460498711924, 0.2652080357595285, 0.4468980529245114, 0.8550096603254491]