Pandas:如何用另一列的值填充 nan 值


您可以使用以下语法将 pandas DataFrame 的一列中的 NaN 值替换为另一列中的值:

 df[' col1 '] = df[' col1 ']. fillna (df[' col2 '])

这种特殊的语法会将col1中的所有 NaN 值替换为col2中的相应值。

以下示例展示了如何在实践中使用此语法。

示例:用另一列替换缺失值

假设我们有以下 pandas DataFrame,其中缺少一些值:

 import numpy as np
import pandas as pd

#create DataFrame with some NaN values
df = pd. DataFrame ({' team1 ': ['Mavs', np.nan, 'Nets', 'Hawks', np.nan, 'Jazz'],
                   ' team2 ': ['Spurs', 'Lakers', 'Kings', 'Celtics', 'Heat', 'Magic']})

#view DataFrame
df

        team1 team2
0 Mavs Spurs
1 NaN Lakers
2 Nets Kings
3 Hawks Celtics
4 NaN Heat
5 Jazz Magic

请注意, team1列中有两个 NaN 值。

我们可以使用fillna()函数将team1列中的 NaN 值填充为team2列中的相应值:

 #fill NaNs in team1 column with corresponding values in team2 column
df[' team1 '] = df[' team1 ']. fillna (df[' team2 '])

#view updated DataFrame
df

        team1 team2
0 Mavs Spurs
1 Lakers Lakers
2 Nets Kings
3 Hawks Celtics
4 Heat Heat
5 Jazz Magic

请注意, team1列中的两个 NaN 值已替换为team2列中的相应值。

注意:您可以在此处找到fillna()函数的完整在线文档。

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

如何统计pandas中的缺失值
如何删除 Pandas 中包含 NaN 值的行
如何删除 Pandas 中包含特定值的行

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注