numpy.asarray_chkfinite

numpy.asarray_chkfinite(a, dtype=None, order=None)

Функция asarray_chkfinite() преобразует входные данные в массив с предварительной проверкой на наличие в них значений Nan или inf.

Параметры:
a - подобный массиву объект
Входные данные которые могут быть преобразованы в массив: списки и кортежи, списки списков и кортежи кортежей, списки кортежей и кортежи списков, а так же кортежи или списки других массивов NumPy.
dtype - тип данных NumPy (необязательный)
Определяет тип данных выходного массива. По умолчанию выводится из типа входных данных.
order - 'C' или 'F' (необязательный)
Этот параметр определяет в каком порядке массивы должны храниться в памяти: строчном C-стиле или столбчатом стиле Fortran.
Возвращает:
ndarray - массив NumPy
Интерпретация входных данных как массива NumPy. Если на вход подается массив NumPy, то возвращается его представление. Если входными даннымиявляются подклассы ndarray, то возвращается базовый класс ndarray.
Смотрите так же: asfortranarray, ascontiguousarray, require

Замечание

Данная функция полезна тем, что вызывает исключение (ошибку) ValueError, если входные данные содержат элементы Nan (не число) или inf (бесконечность).



Примеры

>>> import numpy as np
>>> 
>>> a = [1, 2, 3, 4, 5]
>>> 
>>> np.asarray_chkfinite(a)
array([1, 2, 3, 4, 5])
>>> 
>>> b = [1,2,3,np.NaN]

>>> np.asarray_chkfinite(b)    #  Выдаст ошибку
>>> 
>>> с = [1,2,3,np.inf]
>>> 
>>> np.asarray_chkfinite(c)     #  Так же выдаст ошибку
>>> 
>>>
>>> #  Данные исключения можно обработать
... #  с помощью функций try/except
... try:
...     np.asarray_chkfinite(b)
... except ValueError:
...     print('Входные данные содержат значения NaN или inf')
... 
Входные данные содержат значения NaN или inf