В этом руководстве мы узнаем, как проверить, является ли значение ячейки NaN (np.nan) в Pandas.
NaN означает не число, Pandas использует numpy.nan, как значение NaN.
Чтобы проверить, является ли значение в определенном месте в Pandas NaN или нет, вызовите функцию numpy.isnan() со значением, переданным в качестве аргумента.
numpy.isnan(value)
Если значение равно numpy.nan, выражение возвращает True, иначе возвращает False.
Пример 1
В этом примере мы возьмем DataFrame со значениями NaN в некоторых местах. Мы проверим, являются ли значения в определенных местах NaN или нет.
import pandas as pd
import numpy as np
df = pd.DataFrame(
[[np.nan, 72, 67],
[23, 78, 62],
[32, 74, np.nan],
[np.nan, 54, 76]],
columns=['a', 'b', 'c'])
value = df.at[0, 'a'] #nan
isNaN = np.isnan(value)
print("Is value at df[0, 'a'] NaN :", isNaN)
value = df.at[0, 'b'] #72
isNaN = np.isnan(value)
print("Is value at df[0, 'b'] NaN :", isNaN)
Вывод:
Is value at df[0, 'a'] NaN : True Is value at df[0, 'b'] NaN : False
Пример 2
В этом примере мы возьмем DataFrame со значениями NaN в некоторых местах. Мы будем перебирать каждое из значений ячеек в этом DataFrame и проверять, является ли значение в этом месте NaN или нет.
import pandas as pd
import numpy as np
df = pd.DataFrame(
[[np.nan, 72, 67],
[23, 78, 62],
[32, 74, np.nan],
[np.nan, 54, 76]])
for i in range(df.shape[0]): #iterate over rows
for j in range(df.shape[1]): #iterate over columns
value = df.at[i, j] #get cell value
print(np.isnan(value), end="\t")
print()
Вывод:
True False False False False False False False True True False False
В этом руководстве примеров Python мы узнали, как проверить, является ли конкретное значение ячейки в Pandas NaN или нет, используя функцию numpy.isnan().