Pandas:使用最后可用值填充缺失值

3

I have a dataframe as follows:

              A       B 
  zDate
01-JAN-17    100     200
02-JAN-17    111     203
03-JAN-17    NaN     202
04-JAN-17    109     205
05-JAN-17    101     211
06-JAN-17    105     NaN
07-JAN-17    104     NaN

如何使用最后可用值填充缺失值是最佳方式?

以下是预期结果:

              A       B 
  zDate
01-JAN-17    100     200
02-JAN-17    111     203
03-JAN-17    111     202
04-JAN-17    109     205
05-JAN-17    101     211
06-JAN-17    105     211
07-JAN-17    104     211
1个回答

6

使用ffill函数,该函数与具有方法ffillfillna相同:

df = df.ffill()
print (df)
               A      B
zDate                  
01-JAN-17  100.0  200.0
02-JAN-17  111.0  203.0
03-JAN-17  111.0  202.0
04-JAN-17  109.0  205.0
05-JAN-17  101.0  211.0
06-JAN-17  105.0  211.0
07-JAN-17  104.0  211.0

完美的答案。我只是想知道你是否可以使用apply函数实现相同的功能?例如,此代码段将使用“Is Null value”替换NaN。我无法想出一种逻辑来使用先前的值。https://pastebin.com/raw/n384ba1q - Chankey Pathak
@ChankeyPathak - 我认为不需要使用apply函数,只需简单地使用df = df.fillna('Is Null value') - jezrael
不,我的意思是你的答案使用了 ffill 方法来填充值。apply 方法能否使用额外的逻辑来实现相同的功能呢?这只是为了学习目的。我只是在寻找 OP 问题的另一种替代方法,而不是使用 fillna - Chankey Pathak
@ChankeyPathak - 为什么不发问题?提供示例数据、您的代码和期望输出?因为不确定如何使用“apply”。 - jezrael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接