pandas DataFrame替换指定列的nan
平时习惯针对整个DataFrame把nan替换成0,用df.fillna(0, inplace=True)就OK了。今天突然有人问,如何只替换某一列的nan。测试并记录如下。
构建测试DataFrame,由3列组成 name、age、score, 后两列都有nan值。接下来测试如何只处理age列。
1 | df = pd.DataFrame({'name':['aby','boy','cilia'],'age':[18,np.nan,20],'score':[9.5,8.0,np.nan]}) |
处理前,DataFrame如下:
1 | name age score |
处理后,DataFrame如下:
1 | name age score |
以上示例代码表明,可直接用fillna()方法针对某一列DataSeries做替换,参数同DataFrame一样。