我需要用前一行非零值 IF 和 ONLY IF 替换 Pandas 中的“0”行数据,“0”后面的行中的值非零。
IE。
101
92
78
0
107
0
0
会成为:
101
92
78
78
107
0
0
任何想法如何做到这一点将不胜感激:-)
谢谢!
最佳答案
使用 shift
你可以做
In [608]: df.loc[(df.val == 0) & (df.val.shift(-1) != 0), 'val'] = df.val.shift(1)
In [609]: df
Out[609]:
val
0 101.0
1 92.0
2 78.0
3 78.0
4 107.0
5 0.0
6 0.0
关于python - 如果后续值为非零,则用填充非零替换 Pandas 零值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45080403/