如何获取 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.loc
和 series.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
我有一个这样的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()
print(df)
count A
0 yes 2
1 yes 2
2 total 2
3 yes 2
4 yes 2
5 total 2