我有一个dataframe,我想基于不同列上的条件创建一个新列。使用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

应导致:-
      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

最佳答案

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

关于python - 根据条件增加数据框列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57146963/

10-12 17:55