为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用Python根据当前值填充缺失值?

如何使用Python根据当前值填充缺失值?

倚天杖 2023-12-26 15:12:50
我的数据是这样的:a=pd.DataFrame({'id':[0,1,2,3,4,5,6,7,8,9],                'value':[np.nan,np.nan,0,np.nan,np.nan,1,2,np.nan,3,np.nan]})我想根据之前的已知值来填充缺失值。如果没有之前的值,则填充-1。所以,结果应该是这样的:id    value0     -11     -12     03     04     05     16     27     28     39     3我当前的方法是找到所有已知值及其位置,然后扫描整个表。但应该有更好的方法,我不知道。我在这里可以尝试什么?
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

使用df.ffill()和fillna():


In [1587]: a.ffill().fillna(-1)

Out[1587]: 

   id  value

0   0   -1.0

1   1   -1.0

2   2    0.0

3   3    0.0

4   4    0.0

5   5    1.0

6   6    2.0

7   7    2.0

8   8    3.0

9   9    3.0


查看完整回答
反对 回复 2023-12-26
?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

你需要一个ffill和一个fillna


a['value'] = a.value.ffill().fillna(-1)


Out[935]:

   id  value

0   0   -1.0

1   1   -1.0

2   2    0.0

3   3    0.0

4   4    0.0

5   5    1.0

6   6    2.0

7   7    2.0

8   8    3.0

9   9    3.0


查看完整回答
反对 回复 2023-12-26
  • 2 回答
  • 0 关注
  • 47 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信