繁体   English   中英

根据熊猫数据框中另一列的最后一个值填充列

[英]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

使用replaceffill

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM