Проверка, является ли значение ячейки NaN в Pandas

В этом руководстве мы узнаем, как проверить, является ли значение ячейки 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().

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *