scipy.misc.factorial:具有多个元素的数组的真值是不明确的。使用a.any()或a.all()

时间:2017-01-03 08:38:02

标签: python python-3.x numpy scipy

我在scipy.misc.factorial上执行了此代码。

但是,我收到了这个错误。

if n < 0:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

以下是代码:

import numpy as np
from scipy.special import factorial
arr = np.array([3, 4, 5])
factorial(arr, exact=True)

以下代码没有错误。

arr = np.array([3, 4, 5])
factorial(arr, exact=False)  # exact=False

1 个答案:

答案 0 :(得分:2)

您正在使用旧版本的scipy。我可以在运行0.17.0的机器上重现该错误。要查看您的版本

import scipy; print scipy.version.version

在版本0.18.0中,问题已修复,请参阅this commit

之前,exact=True不支持数字列表。