Функция isnull
Функция isnull применяется к DataFrame или Series
и возвращает объект того же размера, где каждое пропущенное значение
обозначено как True. Функция обнаруживает значения None,
NaN и NaT (не дата и время). Является псевдонимом
функции isna и используется для поиска пропусков в данных.
Синтаксис
pd.isnull(obj)
Параметр obj - это объект DataFrame, Series
или массивоподобная структура, в которой нужно найти пропущенные значения.
Пример
Создадим серию с пропущенными значениями и проверим их с помощью isnull:
import pandas as pd
import numpy as np
ser = pd.Series([1, 2, np.nan, 4, None])
res = pd.isnull(ser)
print(res)
Результат выполнения кода:
0 False
1 False
2 True
3 False
4 True
dtype: bool
Пример
Применим функцию к DataFrame с пропусками в нескольких столбцах:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, 2, np.nan, 4, 5],
'b': [10, np.nan, 30, np.nan, 50]
})
res = pd.isnull(df)
print(res)
Результат выполнения кода:
a b
0 False False
1 False True
2 True False
3 False True
4 False False
Пример
Подсчитаем общее количество пропусков в таблице с помощью isnull и метода sum:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, np.nan, 3, np.nan, 5],
'b': [10, 20, np.nan, 40, 50]
})
res = pd.isnull(df).sum()
print(res)
Результат выполнения кода:
a 2
b 1
dtype: int64
Пример
Используем isnull для фильтрации строк с пропущенными значениями:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, 2, np.nan, 4],
'b': [10, np.nan, 30, 40]
})
res = df[pd.isnull(df).any(axis=1)]
print(res)
Результат выполнения кода:
a b
1 2.0 NaN
2 NaN 30.0