如何获取 pandas 列中的前一行值

how can I get a previous row value in pandas column

我有一个这样的df

|  count  | A |  
|---------|---|
|  yes    |2  |
|  yes    |2  |  
|  total  |   |  
|  yes    |2  |  
|  yes    |2  | 
|  total  |   |  

我想要如下输出

|  count  | A |  
|---------|---|
|  yes    |2  |
|  yes    |2  |  
|  total  | 2  |  
|  yes    |2  |  
|  yes    |2  | 
|  total  | 2  |  

也就是用上一行的值填充有合计的A列值 知道我怎样才能做到这一点

您可以尝试使用 df.locseries.mask 以及 ffill

df.loc[df['count'].eq("total"),"A"] = df['A'].mask(df['A'].eq('')).ffill()

print(df)

   count  A
0    yes  2
1    yes  2
2  total  2
3    yes  2
4    yes  2
5  total  2