我有几个pd.Series
通常以一些NaN值开头,直到出现第一个实际值。我想用0填充这些领先的NaN,但不是在系列后面出现的任何NaN。
pd.Series([nan, nan, 4, 5, nan, 7])
应该成为
ps.Series([0, 0, 4, 5, nan, 7])
答案 0 :(得分:4)
s.loc[:s.first_valid_index()] = 0
或mask
与isnull
和前向填充NaN
:
s = s.mask(s.ffill().isnull(), 0)
print (s)
0 0.0
1 0.0
2 4.0
3 5.0
4 NaN
5 7.0
dtype: float64