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
一样。