🔢 Как посчитать количество пропусков в 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 и использовать соответствующие методы. Удачи в вашей работе с данными!