🔢 Как посчитать количество пропусков в pandas: простой способ для начинающих

Чтобы посчитать количество пропусков в pandas, можно использовать метод isnull(), затем сложить результаты для каждого столбца.

import pandas as pd

# Создаем DataFrame
df = pd.DataFrame({'A': [1, 2, None, 4],
                   'B': [None, 6, 7, 8],
                   'C': [9, None, 11, 12]})

# Считаем количество пропусков
count = df.isnull().sum().sum()

count

В данном примере мы создали DataFrame с некоторыми пропущенными значениями. Используя метод isnull(), мы создали новый DataFrame с булевыми значениями, где True соответствует пропуску. Затем мы сложили все значения, чтобы получить общее количество пропусков.

В результате, переменная count содержит количество пропусков в DataFrame.

Детальный ответ

Как посчитать количество пропусков в pandas

При работе с данными в библиотеке pandas иногда возникает необходимость посчитать количество пропусков (NaN) в столбце или во всей таблице. В этой статье мы рассмотрим различные способы выполнения этой задачи, используя функциональность pandas.

1. Метод isna()

Для начала давайте рассмотрим метод isna(), который возвращает таблицу с булевыми значениями True или False, в зависимости от того, является ли значение в ячейке пропуском или нет. Это позволяет нам легко определить количество пропусков в каждом столбце.


import pandas as pd

# Создаем пример данных
data = {'Name': ['John', 'Jane', 'Mike', 'Anna'],
        'Age': [25, None, 35, 28],
        'City': ['New York', 'London', None, 'Paris']}

df = pd.DataFrame(data)

# Используем метод isna()
null_count = df.isna().sum()

print(null_count)
    

Результат:

Name    0
Age     1
City    1
dtype: int64
    

В данном примере метод isna() возвращает таблицу, в которой True обозначает пропуск, а False - непропуск. Метод sum() суммирует количество True значений в каждом столбце, позволяя нам получить общее количество пропусков. Таким образом, в столбце 'Name' нет пропусков, в столбце 'Age' - 1 пропуск, и в столбце 'City' - 1 пропуск.

2. Метод isnull()

Метод isnull() является альтернативой методу isna() и выполняет ту же функцию - проверку пропущенных значений. Единственное отличие заключается в том, что метод isna() является псевдонимом метода isnull(). То есть, вы можете использовать любой из этих методов, в зависимости от вашего предпочтения.


import pandas as pd

# Создаем пример данных
data = {'Name': ['John', 'Jane', 'Mike', 'Anna'],
        'Age': [25, None, 35, 28],
        'City': ['New York', 'London', None, 'Paris']}

df = pd.DataFrame(data)

# Используем метод isnull()
null_count = df.isnull().sum()

print(null_count)
    

Результат:

Name    0
Age     1
City    1
dtype: int64
    

3. Метод count()

Альтернативным методом подсчета пропусков является метод count(). Этот метод возвращает количество непропущенных значений в каждом столбце. Мы можем использовать его, чтобы определить количество пропусков путем вычитания количества непропущенных значений из общего количества строк в таблице.


import pandas as pd

# Создаем пример данных
data = {'Name': ['John', 'Jane', 'Mike', 'Anna'],
        'Age': [25, None, 35, 28],
        'City': ['New York', 'London', None, 'Paris']}

df = pd.DataFrame(data)

# Используем метод count()
null_count = len(df) - df.count()

print(null_count)
    

Результат:

Name    0
Age     1
City    1
dtype: int64
    

4. Метод info()

Метод info() предоставляет общую информацию о таблице, включая количество непропущенных значений и типы данных столбцов. Мы можем использовать этот метод для более подробного анализа пропущенных значений.


import pandas as pd

# Создаем пример данных
data = {'Name': ['John', 'Jane', 'Mike', 'Anna'],
        'Age': [25, None, 35, 28],
        'City': ['New York', 'London', None, 'Paris']}

df = pd.DataFrame(data)

# Используем метод info()
df.info()
    

Результат:


RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   Name    4 non-null      object
 1   Age     3 non-null      float64
 2   City    3 non-null      object
dtypes: float64(1), object(2)
memory usage: 224.0+ bytes
    

В результате выполнения метода info() мы видим, что в столбце 'Name' нет пропусков (4 non-null), а в столбцах 'Age' и 'City' есть по 1 пропуску (3 non-null).

Заключение

В этой статье мы рассмотрели несколько способов подсчета количества пропусков в pandas:

  • Метод isna() или isnull() позволяет получить таблицу с булевыми значениями, отражающими наличие или отсутствие пропусков в каждой ячейке.
  • Метод sum() позволяет подсчитать количество пропусков в каждом столбце.
  • Метод count() позволяет подсчитать количество непропущенных значений в каждом столбце, а затем вычислить количество пропусков.
  • Метод info() предоставляет общую информацию о таблице, включая количество непропущенных значений и типы данных столбцов.

Надеюсь, эта статья помогла вам лучше понять, как посчитать количество пропусков в pandas и использовать соответствующие методы. Удачи в вашей работе с данными!

Видео по теме

Датафреймы pandas. Пропуски данных

ПРАКТИКА Pandas | NaN, Null | Работа с пропусками в Pandas | МАШИННОЕ ОБУЧЕНИЕ

NaN, Null | Что делать с пропусками? | Работа с пропусками | МАШИННОЕ ОБУЧЕНИЕ

Похожие статьи:

🔢 Как посчитать количество пропусков в pandas: простой способ для начинающих