首页 > 文章列表 > Pandas 如何根据其他列的值填充 DataFrame 中缺失值?

Pandas 如何根据其他列的值填充 DataFrame 中缺失值?

500 2025-02-26

Pandas 如何根据其他列的值填充 DataFrame 中缺失值?

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 对象。

来源:1740047445