某列有三种可能的取值:1,0,-1,要求将0替换为其前非0的数值。
例如,对于pd.DataFrame({'A':[1,-1,0,0,1,0,-1]})的转换结果为:1,-1,-1,-1,1,1,-1。
我用iloc遍历的方法可以解决,但是速度极慢,请教有没有高效的答案。
某列有三种可能的取值:1,0,-1,要求将0替换为其前非0的数值。
例如,对于pd.DataFrame({'A':[1,-1,0,0,1,0,-1]})的转换结果为:1,-1,-1,-1,1,1,-1。
我用iloc遍历的方法可以解决,但是速度极慢,请教有没有高效的答案。
我的思路是先将所有0替换成NAN值,然后再用pandas.fillna()函数处理前向填充——该函数有一个“frill”参数,可以用前一个值填充NAN值,这几个函数都是批量执行的速度很快,应该能实现您要的效果