Python 如何获取列中的上一行值

Python 如何获取列中的上一行值,python,pandas,dataframe,row,Python,Pandas,Dataframe,Row,我有一个像这样的df | count | A | |---------|---| | yes |2 | | yes |2 | | total | | | yes |2 | | yes |2 | | total | | 我想要一个如下的输出 | count | A | |---------|---| | yes |2 | | yes |2 | | total | 2 | |

我有一个像这样的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.loc
series.mask
ffill

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


你尝试了什么?你的尝试出了什么问题?非常感谢anky,挽救了我的生命time@PriyaChauhan很高兴能帮上忙。。!!我相信你可能尝试了一些不符合你意图的东西。如果您能在将来发布,我们将不胜感激,因为这有助于用户纠正您的错误,而不是为您解决问题。。这是一个双赢的局面当然@anky,,我试着用pandas shift函数来做这个,但没有达成一致solution@PriyaChauhanN:我相信你将来会考虑这个问题。快乐编码!!
print(df)

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