[英]Conditionally fill column values based on another columns value in pandas
[英]Fill columns based on the last value of another column in a 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 | NaN
现在,我试图根据col_1中该数字的最后一次出现为col_2填充1或-1。
我正在尝试以以下格式获取它:
| 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
: df['col_2'] = df['col_1'].replace(0, np.NaN).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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.