Python 如何使列计数器在其他列中的值更改时显示

Python 如何使列计数器在其他列中的值更改时显示,python,pandas,dataframe,Python,Pandas,Dataframe,我在dataframe中有一列“status”,它具有以下值: increase increase increase increase decline decline decline increase increase decline 我需要制作一个计数器,每当“状态”列中的值从下降变为增加时,计数器都会发生变化。 应该是这样的: "status" "counter" increase 1 increase

我在dataframe中有一列“status”,它具有以下值:

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没问题,我没有添加太多的解释,因为代码非常简单,但是如果您需要任何额外的细节,请告诉我。别忘了接受答案:)