根据条件增加数据框列

Ale*_*ini 2 python dataframe pandas

我有一个数据框,我想根据其他列上的条件创建一个新列。创建带有1的新列“ ans”,并基于列“ ix”递增。在“ ix”列中,如果该值与下一个相同,则使“ ans”列保持相同,并且其增量“ ans”不同

感谢您的回答,我是Python的新手,所以我不确定该怎么做

      index   ix  
        1     pa 
        2     pa
        3     pa
        4     pe
        5     fc
        6     pb
        7     pb
        8     df
Run Code Online (Sandbox Code Playgroud)

应导致:-

      index   ix  ans
        1     pa   1
        2     pa   1
        3     pa   1
        4     pe   2
        5     fc   3
        6     pb   4
        7     pb   4
        8     df   5
Run Code Online (Sandbox Code Playgroud)

unu*_*tbu 7

In [47]: df['ans'] = (df['ix'] != df['ix'].shift(1)).cumsum()

In [48]: df
Out[48]: 
   index  ix  ans
0      1  pa    1
1      2  pa    1
2      3  pa    1
3      4  pe    2
4      5  fc    3
5      6  pb    4
6      7  pb    4
7      8  df    5
Run Code Online (Sandbox Code Playgroud)