繁体   English   中英

如何获取 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  |   |  

我想要一个 output 如下所示

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

那就是用前一行值填充总计的A列值知道如何实现这一点

您可以尝试使用df.locseries.maskffill

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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