ValueError для массива numpy с unittest PythonPython

Программы на Python
Anonymous
ValueError для массива numpy с unittest Python

Сообщение Anonymous »


У меня следующий вопрос.

У меня есть эта функция:

def string_to_2Darray(flat_string): """преобразует строку типа '0,1,0,1,1,1,0,1,0'""" array1d = np.fromstring(flat_string, dtype=int, sep=',') вернуть np.reshape(array1d, (-1,3)) и я написал для этой функции класс unittest, который выглядит следующим образом:

класс StringTo2DArray(unittest.TestCase): защита test_string_2DArray(self): string_example_0 = '0,1,0,1,1,1,0,1,0' array_example_0 = string_to_2Darray(string_example_0) печать (array_example_0) печать (тип (array_example_0)) self.assertEqual([[0,1,0],[1,1,1],[0,1,0]], array_example_0) Смотрите, я добавляю несколько операторов печати в тело модуля test_string_2Darray в классе StringTo2DArray в unittest.

Когда я запускаю python -m unittest, я получаю следующее сообщение об ошибке:

ValueError: значение истинности массива, содержащего более одного элемента, неоднозначно. Используйте a.any() или a.all()

Я не знаю, почему это происходит, поскольку строка правильно преобразуется в 2D-массив numpy и не соответствует массиву [[0,1,0],[1,1,1],[0, 1,0]], который я передал в утверждении. Равно для моего теста.

Вернуться в «Python»