DataFrame.notnull() / Series.notnull()
Метод notnull() (синоним — notna()) возвращает булеву маску: True там, где значение не является пропуском (не NaN, не NaT, не None). Противоположность isnull()/isna().
Сигнатура
DataFrame.notnull()
Series.notnull()
Параметры
Метод не принимает параметров.
Возвращаемое значение
Булев DataFrame или Series тех же размеров, что и исходный объект.
Примеры
Пример 1. Series
import pandas as pd
import numpy as np
s = pd.Series([22.1, np.nan, 23.0, None])
print(s.notnull())
0 True
1 False
2 True
3 False
dtype: bool
Пример 2. Фильтрация валидных значений
import pandas as pd
import numpy as np
s = pd.Series([22.1, np.nan, 23.0, np.nan, 22.5])
print(s[s.notnull()])
0 22.1
2 23.0
4 22.5
dtype: float64
Пример 3. DataFrame
import pandas as pd
import numpy as np
df = pd.DataFrame({
"t": [22.0, np.nan, 23.0],
"h": [55, 60, np.nan],
})
print(df.notnull())
t h
0 True True
1 False True
2 True False
Пример 4. Подсчёт валидных значений по столбцам
import pandas as pd
import numpy as np
df = pd.DataFrame({
"s1": [1, 2, np.nan, 4],
"s2": [np.nan, np.nan, 3, 4],
})
print(df.notnull().sum())
s1 3
s2 2
dtype: int64
Пример 5. Только полные строки
import pandas as pd
import numpy as np
df = pd.DataFrame({
"a": [1, np.nan, 3],
"b": [4, 5, np.nan],
})
mask = df.notnull().all(axis=1)
print(df[mask])
a b
0 1.0 4.0
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.