处理空值是数据清洗过程中的一个关键步骤。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
):
A B C
0 1.0 NaN 1.0
1 NaN 2.0 2.0
2 3.0 3.0 NaN
3 4.0 NaN 4.0
4 5.0 5.0 NaN
空值检测 (nulls_detected
):
A B C
0 False True False
1 True False False
2 False False True
3 False True False
4 False False True
填充空值后 (df_filled
):
A B C
0 1.0 0.0 1.0
1 0.0 2.0 2.0
2 3.0 3.0 0.0
3 4.0 0.0 4.0
4 5.0 5.0 0.0
删除包含空值的行 (df_dropped_rows
):
Empty DataFrame
Columns: [A, B, C]
Index: []
删除包含空值的列 (df_dropped_columns
):
Empty DataFrame
Columns: []
Index: [0, 1, 2, 3, 4]
这个案例展示了如何在 Pandas 中处理空值,这是数据准备和清洗过程中非常重要的一步。