Pandas DataFrame 条件赋值:巧妙填充缺失值
本文介绍如何利用 Pandas 灵活处理 DataFrame 中的缺失值,根据其他列的值进行条件填充。
方法详解:
Pandas 提供了强大的 fillna()
方法,可以根据指定条件填充缺失值。 我们可以利用此方法结合列索引,实现根据一列的值来填充另一列的缺失值。
代码示例:
import pandas as pd
# 创建示例 DataFrame
data = {'A': [1, 2, None], 'B': [4, None, 6], 'C': ['x', 'y', 'z']}
df = pd.DataFrame(data)
# 使用列 C 的值填充列 A 的缺失值
df['A'] = df['A'].fillna(df['C'])
# 输出结果
print(df)
输出结果:
A B C
0 1.0 4.0 x
1 2.0 NaN y
2 z 6.0 z
在这个例子中,DataFrame 的 A 列包含缺失值。我们使用 df['A'].fillna(df['C'])
将 C 列的值填充到 A 列的 NaN 值中。 注意,填充后的值会根据数据类型进行转换,例如,'z' 被转换成字符串类型。
通过这种方式,您可以根据您的实际需求,灵活地使用其他列的值来填充缺失值,从而提高数据处理的效率和准确性。 fillna()
方法的 inplace=True
参数可以使修改直接作用于原 DataFrame,避免创建新的 DataFrame 对象。