Функция notna
Функция notna из модуля pandas используется для
обнаружения значений, которые не являются пропущенными.
Она применяется к Series или DataFrame и
возвращает объект того же размера с булевыми значениями.
Эта функция является псевдонимом для notnull.
Синтаксис
pd.notna(obj)
Где obj - это Series или DataFrame.
Функция возвращает булеву маску, где True
соответствует не пропущенному значению.
Пример с Series
Проверим серию на отсутствие пропусков:
import pandas as pd
ser = pd.Series([1, None, 3, None, 5])
res = pd.notna(ser)
print(res)
Результат выполнения кода:
0 True
1 False
2 True
3 False
4 True
dtype: bool
Пример с DataFrame
Применим функцию ко всей таблице:
import pandas as pd
df = pd.DataFrame({
'a': [1, None, 3],
'b': [None, 20, 30]
})
res = pd.notna(df)
print(res)
Результат выполнения кода:
a b
0 True False
1 False True
2 True True
Пример с методом notna
Аналогичный результат можно получить, используя
метод notna объекта:
import pandas as pd
ser = pd.Series(['abcde', None, 'user'])
res = ser.notna()
print(res)
Результат выполнения кода:
0 True
1 False
2 True
dtype: bool
Пример с фильтрацией данных
Функция notna часто используется для
фильтрации строк с пропусками:
import pandas as pd
df = pd.DataFrame({
'a': [1, None, 3, 4, None],
'b': [10, 20, None, 40, 50]
})
clean_df = df[pd.notna(df['a'])]
print(clean_df)
Результат выполнения кода:
a b
0 1.0 10.0
2 3.0 NaN
3 4.0 40.0