Python 基于数据帧中另一列的最后一个值填充列

Python 基于数据帧中另一列的最后一个值填充列,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧: | col_1 | col_2 --------------------- 0 | 1 | NaN 1 | 0 | NaN 2 | 0 | NaN 3 | 0 | NaN 4 | 0 | NaN 5 | 0 | NaN 6 | 0 | NaN 7 | -1 | NaN 8 | 0 | NaN 9 | 0 | NaN 10| 0 | NaN 11| 0 |

我有一个数据帧:

   | col_1 | col_2
---------------------
 0 | 1     | NaN
 1 | 0     | NaN
 2 | 0     | NaN
 3 | 0     | NaN
 4 | 0     | NaN
 5 | 0     | NaN
 6 | 0     | NaN
 7 | -1    | NaN
 8 | 0     | NaN
 9 | 0     | NaN
 10| 0     | NaN
 11| 0     | NaN
现在,我试图根据col_1中最后一个数字的出现,用1或-1填充col_2

我正在尝试以这种格式获取它:

   | col_1 | col_2
---------------------
 0 | 1     | 1
 1 | 0     | 1
 2 | 0     | 1
 3 | 0     | 1
 4 | 0     | 1
 5 | 0     | 1
 6 | 0     | 1
 7 | -1    | -1
 8 | 0     | -1
 9 | 0     | -1
 10| 0     | -1
 11| 0     | -1
使用
replace
ffill
输出

    col_1  col_2
0       1    1.0
1       0    1.0
2       0    1.0
3       0    1.0
4       0    1.0
5       0    1.0
6       0    1.0
7      -1   -1.0
8       0   -1.0
9       0   -1.0
10      0   -1.0
11      0   -1.0
使用
replace
ffill
输出

    col_1  col_2
0       1    1.0
1       0    1.0
2       0    1.0
3       0    1.0
4       0    1.0
5       0    1.0
6       0    1.0
7      -1   -1.0
8       0   -1.0
9       0   -1.0
10      0   -1.0
11      0   -1.0

非常聪明的解决方案!非常聪明的解决方案!