如何替换NaN值不同的值

时间:2020-04-28 19:21:44

标签: python pandas dataframe

我想替换Nan不同于文本“ b”的列开头的值。 这是我的数据框:

    begin                       
0   NaN                         
1   2019-10-21 07:39:28.052763 
2   NaN                         
3   NaN                         
4   2019-10-21 07:40:00.279654  

结果应该是这样

    New_begin                       
0   NaN                         
1   b 
2   NaN                         
3   NaN                         
4   b   

2 个答案:

答案 0 :(得分:1)

您可以将DataFrame.whereisna结合使用:

df.begin.where(df.begin.isna(), 'b')

0    NaN
1      b
2    NaN
3    NaN
4      b
Name: begin, dtype: object

答案 1 :(得分:0)

简单的loc分配

df.loc[df.begin.notnull(), 'begin'] = 'b'

如果需要新列,只需将begin更改为新名称(例如您的示例中的new_begin)。


    begin
0   NaN
1   b
2   NaN
3   NaN
4   b