Обработка недостающих данных — важнейший этап анализа и предварительной обработки данных. Pandas, популярная библиотека манипулирования данными на Python, предоставляет различные методы для подсчета значений NaN в столбцах DataFrame. В этой статье блога мы рассмотрим несколько подходов с примерами кода для эффективного выполнения этой задачи.
Метод 1: использование функций isna()и sum()
import pandas as pd
# Create a sample DataFrame
data = {'A': [1, 2, float('nan'), 4, 5],
'B': [float('nan'), 2, 3, 4, float('nan')],
'C': [1, float('nan'), 3, float('nan'), 5]}
df = pd.DataFrame(data)
# Count NaN values in each column
nan_counts = df.isna().sum()
print(nan_counts)
Метод 2: использование функции isnull().sum()
# Count NaN values in each column
nan_counts = df.isnull().sum()
print(nan_counts)
Метод 3: применение функций count()и isnull()
# Count non-null values in each column and subtract from the total row count
nan_counts = df.shape[0] - df.count()
print(nan_counts)
Метод 4. Использование функции apply()с лямбда-выражением
# Count NaN values in each column using a lambda function
nan_counts = df.apply(lambda x: x.isna().sum())
print(nan_counts)
Метод 5: использование функции agg()с агрегацией 'sum'
# Count NaN values in each column using the agg function
nan_counts = df.agg('sum').isna()
print(nan_counts)
В этой статье мы рассмотрели несколько методов подсчета значений NaN в столбцах Pandas DataFrame. Мы продемонстрировали, как использовать такие функции, как isna(), isnull(), count(), apply()и agg()для достижения желаемого результата. Используя эти методы, вы можете получить ценную информацию о недостающих данных в ваших наборах данных, что позволит вам принимать обоснованные решения в процессе анализа данных.
Не забывайте правильно обрабатывать недостающие данные в зависимости от контекста вашего анализа, например при вменении или удалении, чтобы обеспечить точные и надежные результаты.
Используя эти методы, вы можете эффективно подсчитывать значения NaN в столбцах Pandas DataFrame, расширяя возможности очистки и анализа данных.