案例 23: 处理空值

知识点讲解

处理空值是数据清洗过程中的一个关键步骤。Pandas 提供了多种方法来检测、填充和删除空值。

  • 检测空值: 使用 isnull 方法可以检测 DataFrame 中的空值。
  • 填充空值: 使用 fillna 方法可以填充空值。
  • 删除包含空值的行或列: 使用 dropna 方法可以删除包含空值的行或列。
示例代码
# 准备数据和示例代码的运行结果,用于案例 23# 示例数据data_null_values = {'A': [1, None, 3, 4, 5],'B': [None, 2, 3, None, 5],'C': [1, 2, None, 4, None]}df_null_values = pd.DataFrame(data_null_values)# 检测空值nulls_detected = df_null_values.isnull()# 填充空值df_filled = df_null_values.fillna(0)# 删除包含空值的行df_dropped_rows = df_null_values.dropna()# 删除包含空值的列df_dropped_columns = df_null_values.dropna(axis=1)df_null_values, nulls_detected, df_filled, df_dropped_rows, df_dropped_columns

在这个示例中,我们首先检测了 DataFrame 中的空值。然后,我们用 0 填充了所有的空值。接着,我们删除了包含空值的行和列。

示例代码运行结果

原始 DataFrame (df_null_values):

 ABC01.0NaN1.01NaN2.02.023.03.0NaN34.0NaN4.045.05.0NaN

空值检测 (nulls_detected):

 ABC0False TrueFalse1 TrueFalseFalse2FalseFalse True3False TrueFalse4FalseFalse True

填充空值后 (df_filled):

 ABC01.00.01.010.02.02.023.03.00.034.00.04.045.05.00.0

删除包含空值的行 (df_dropped_rows):

Empty DataFrameColumns: [A, B, C]Index: []

删除包含空值的列 (df_dropped_columns):

Empty DataFrameColumns: []Index: [0, 1, 2, 3, 4]

这个案例展示了如何在 Pandas 中处理空值,这是数据准备和清洗过程中非常重要的一步。