2017-01-03 1 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 не поддерживается для списка номеров.

Смежные вопросы

 Смежные вопросы