Как проверить, является ли переменная типа или нет из фрейма данных pandas? np.nan() не работает

#python #pandas #dataframe #nan

#python #pandas #фрейм данных #nan

Вопрос:

У меня есть фрейм данных со столбцом, значения которого выглядят примерно так:

      YEAR_TORONTO
0    <NA>
1    2016
2    <NA>
3    1999
 

Мне нужно проверять каждый элемент этого фрейма данных по отдельности с помощью for цикла по другим причинам за пределами этого сегмента кода, поэтому я ищу решения, которые соответствуют моей реализации.

По сути, код, который у меня есть на данный момент для проверки наличия:

 if np.isnan(df.get("YEAR_TORONTO")[row]):
 

Это приводит к тому, что я получаю следующую ошибку для <NA> значений:

 boolean value of NA is ambiguous
 

Есть идеи, что я могу сделать, чтобы исправить эту ошибку? Помощь очень ценится

Комментарии:

1. pd.isna() ? pandas.pydata.org/pandas-docs/stable/reference/api /…

2. pd.NA на самом деле это не так np.nan .

Ответ №1:

Как сказал сэмми эмми, pd.isna() должно сработать.

 >>> d = pd.Series([1,2,pd.NA,3])
>>> d
0       1
1       2
2    <NA>
3       3
dtype: object
>>> d.isna()
0    False
1    False
2     True
3    False
dtype: bool