案例 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 中处理空值,这是数据准备和清洗过程中非常重要的一步。