ISNA - информационно-сервисное агентство
Функция isna в языке программирования Python используется для проверки пропущенных значений (NaN - Not a Number) в объектах типа Series или DataFrame из библиотеки pandas. Пропущенные значения могут возникнуть в данных, когда конкретное значение отсутствует или неизвестно.
Чтобы более подробно рассмотреть использование функции isna, рассмотрим следующий пример:
import pandas as pd
import numpy as np
# Создание примера DataFrame с пропущенными значениями
data = {'A': [1, 2, np.nan, 4, 5],
'B': [np.nan, 2, 3, np.nan, 6],
'C': [10, 20, np.nan, 40, 50]}
df = pd.DataFrame(data)
# Вывод DataFrame
print(df)
Результат:
A B C
0 1.0 NaN 10.0
1 2.0 2.0 20.0
2 NaN 3.0 NaN
3 4.0 NaN 40.0
4 5.0 6.0 50.0
В данном примере имеется DataFrame с тремя столбцами 'A', 'B' и 'C'. Во второй строке 'A' значения отсутствует, в третьем столбце 'B' и в четвертой строке 'C' присутствуют пропущенные значения.
Теперь давайте воспользуемся функцией isna, чтобы проверить, где имеются пропущенные значения в DataFrame:
# Проверка наличия пропущенных значений с помощью функции isna
print(df.isna())
или
# Проверка наличия пропущенных значений с помощью функции isnull
print(df.isnull())
Результат:
A B C
0 False True False
1 False False False
2 True False True
3 False True False
4 False False False
Функция isna возвращает DataFrame с теми же размерами, но вместо исходных значений имеет логические значения: True, если значение является пропущенным, или False, если значение имеет какое-либо число.
Таким образом, для нашего примера мы видим, что ячейки, в которых были пропущенные значения в исходном DataFrame, содержат True, в то время как ячейки с числовыми значениями содержат False.
Еще одной полезной возможностью функции isna является использование агрегатных функций, таких как sum или any, чтобы выяснить, есть ли в DataFrame хотя бы одно пропущенное значение в каждом столбце или строке. Вот некоторые примеры:
# Проверка наличия хотя бы одного пропущенного значения в столбцах
print(df.isna().any())
Результат:
A True
B True
C True
dtype: bool
В данном примере мы используем метод any, чтобы выяснить, есть ли хотя бы одно пропущенное значение в каждом столбце DataFrame. Результат показывает, что в каждом столбце присутствуют пропущенные значения.
# Проверка наличия хотя бы одного пропущенного значения в строках
print(df.isna().any(axis=1))
Результат:
0 True
1 False
2 True
3 True
4 False
dtype: bool
В данном примере мы добавляем параметр axis=1, чтобы проверить наличие хотя бы одного пропущенного значения в каждой строке DataFrame. Результат показывает, что в строках 0, 2 и 3 есть хотя бы одно пропущенное значение.
В заключение, функция isna является мощным инструментом для проверки наличия пропущенных значений в DataFrame. Она позволяет не только определить наличие пропущенных значений, но также провести более сложные операции с пропущенными значениями, используя агрегатные функции и другие методы библиотеки pandas.