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 中执行其他常见操作: