Попытка определить, присутствует ли npy.nan в pandas.Series
1.Код, который я создал для репликации и проверки того, что я пытаюсь выполнить:
ser = pnd.Series(['1',None, 2, npy.nan], index=['2001','2002','2003','2004'])
serTest = ser.isin([npy.nan]) == True
2.Код, показывающий противоречивое поведение:
(данные поступают из файла CSV, Всемирный банк )
Я пытаюсь прочитать любойсоответствующие значения из CSV-файла, которые имеют тип, npy.nan.Чтобы проверить соответствующие ячейки для их типа и устранить проблему, с которой я столкнулся, я использую следующий код, где данные представляют собой тип серии panda, содержащий индекс (год) и число с плавающей запятой (валовой внутренний продукт):
for flt in data:
print('is nan {}'.format(npy.isnan(flt)))
Для рассматриваемой ячейки (ВВП 2015 года) возвращается код, который я ожидаю:
is nan True
Однако,когда я пытаюсь вернуть логическую серию, например, реплицированный код, пункт 1 выше, я получаю:
2006 False
2007 False
...
2014 False
2015 False
, где 2015 должно быть True, основываясь на значении NaN для фрагмента данных 2015 года.
Заключительные комментарии, после получения противоречивых результатов, даже если они автоматически назначаются при чтении файла в pandas.DataFrame, в качестве альтернативной попытки изолировать проблему я назначил npy.nan для рассматриваемой ячейки через DataFrame.Только что упомянутые результаты совпадают.
Пожалуйста, помогите.: -)