Включает в себя целое число Нэн

Есть ли способ, чтобы хранить Нэн в массив NumPy целых чисел? Я получаю:

a=np.array([1],dtype=long)
a[0]=np.nan

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: cannot convert float NaN to integer
Решение

Нет, вы можете'т, по крайней мере с текущей версией библиотеки numpy. В НАНА имеет особое значение для массивов поплавок только.

Ведутся переговоры о введении специального бита, который позволит не плавать массивы, чтобы сохранить то, что на практике будет соответствовать НАНА, но до сих пор (2012/10), он's только переговоры.

В то же время, вы можете рассмотреть и NumPy это.пакет Ма`](http://docs.scipy.org/doc/numpy/reference/maskedarray.html): вместо того, чтобы взять недопустимое число, как -99999, вы можете использовать специальные библиотеки numpy.Ма.значение масках для представления недопустимое значение.

a = np.ma.array([1,2,3,4,5], dtype=int)
a[1] = np.ma.masked
masked_array(data = [1 -- 3 4 5],
             mask = [False  True False False False],
       fill_value = 999999)
Комментарии (4)

Нэн-это с плавающей точкой только что, нет никакого представления о ней в числах, так нет :)

Выбрать недопустимое значение, как -99999

Комментарии (2)