Python 如何使列计数器在其他列中的值更改时显示
我在dataframe中有一列“status”,它具有以下值:Python 如何使列计数器在其他列中的值更改时显示,python,pandas,dataframe,Python,Pandas,Dataframe,我在dataframe中有一列“status”,它具有以下值: increase increase increase increase decline decline decline increase increase decline 我需要制作一个计数器,每当“状态”列中的值从下降变为增加时,计数器都会发生变化。 应该是这样的: "status" "counter" increase 1 increase
increase
increase
increase
increase
decline
decline
decline
increase
increase
decline
我需要制作一个计数器,每当“状态”列中的值从下降变为增加时,计数器都会发生变化。
应该是这样的:
"status" "counter"
increase 1
increase 1
increase 1
increase 1
decline 2
decline 2
decline 2
increase 3
increase 3
decline 4
在python中,什么是合适的方法呢?您可以创建一个布尔值,然后应用一个累积和
df['counter'] = df['status'].ne(df['status'].shift()).cumsum()
status counter
0 increase 1
1 increase 1
2 increase 1
3 increase 1
4 decline 2
5 decline 2
6 decline 2
7 increase 3
8 increase 3
9 decline 4
谢谢你的回答!它起作用了@KaterynaLubyk没问题,我没有添加太多的解释,因为代码非常简单,但是如果您需要任何额外的细节,请告诉我。别忘了接受答案:)