我有一个df,看起来像这样:
| 类别|人数|常数|
| - ------|- ------|- ------|
| 一个|141.2分|二百七十一点零一分|
| 一个|五十七点四|二百七十一点零一分|
| 一个|五十一点三|二百七十一点零一分|
| 两个|二十四点六九分|二十七点二十九分|
| 两个|十二点七二分|二十七点二十九分|
| 两个|十点三十七分|二十七点二十九分|
我想要的是一个可以遍历每一行,并在给定常量的前一个值的情况下计算常量的新值的东西,结果 Dataframe 应该看起来像这样:
| 类别|人数|常数|
| - ------|- ------|- ------|
| 一个|141.2分|一百二十九块九十九|
| 一个|五十七点四|七十二块五十九|
| 一个|五十一点三|二十一点二十九分|
| 两个|二十四点六九分|二、六|
| 两个|十二点七二分| -10.12 |
| 两个|十点三十七分| -20.49 |
更新:第一次计算为数值-常数,其余计算为常数[n-1] -数值[n]
有没有不使用for循环的方法?
1条答案
按热度按时间yk9xbfzb1#
使用
groupby.cumsum
计算累积和,并从“常数”中减去:或者,如果您不希望就地操作
输出: