2017-01-03 56 views
1

我跟在scipy.misc.factorial上的這段代碼。scipy.misc.factorial:具有多個元素的數組的真值是不明確的。使用a.any()或a.all()

但是,我得到了這個錯誤。

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 
+0

這看起來像一個合法的錯誤。你使用什麼scipy版本?如果它是最新版本之一,請在GitHub上搜索問題跟蹤器。如果沒有類似的東西彈出,請提交一份報告。 –

+0

我會在早上看看代碼。 –

+1

AFAICT,這是工作在scipy 0.18.1。 - 這似乎是最新發布的版本。 – mgilson

回答

2

您正在使用舊版本的scipy。我可以在運行0.17.0的機器上重現該錯誤。查看您的版本運行

import scipy; print scipy.version.version 

在版本0.18.0中,問題已得到解決,請參閱this commit

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

相關問題