熊猫:使用最后可用的填充缺失值
Posted
技术标签:
【中文标题】熊猫:使用最后可用的填充缺失值【英文标题】:Pandas: Fill missing values using last available 【发布时间】:2018-01-01 10:05:41 【问题描述】:我有一个如下的数据框:
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】:使用ffill
函数,与fillna
和ffill
方法相同:
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
【讨论】:
完美答案。我只是想知道您可以使用应用功能实现相同的功能吗?例如,这个 sn-p 将用“Is Null value”替换 NaN。我无法想出一个逻辑来使用以前的值。 pastebin.com/raw/n384ba1q @ChankeyPathak - 我认为申请不是必需的,简单使用df = df.fillna('Is Null value')
不,我的意思是您的答案使用ffill
方法填充值。 apply
可以用额外的逻辑做同样的事情吗?这只是为了学习目的。我只是在为 OP 的问题寻找 fillna
的替代方案。
@ChankeyPathak - 为什么不发布问题?示例数据、您的代码、所需的输出?因为不知道你觉得如何使用apply
。以上是关于熊猫:使用最后可用的填充缺失值的主要内容,如果未能解决你的问题,请参考以下文章