我想替换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
答案 0 :(得分:1)
您可以将DataFrame.where
与isna
结合使用:
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