pandas dataframe:将一列中的值与前一个值进行比较

pandas dataframe: compare value in one column with previous value

我有一个 pandas 数据框,我想在其中添加一列 (col_new),其值取决于现有列 (col_exist) 中值的比较。

现有列(类型=对象)包含 A 和 B。 新列应该计数,从 1 开始。 如果 A 跟在 A 之后,计数应该增加 1。 如果 A 跟在 B 之后,计数应该增加 1。 如果 B 跟在 A 之后,则计数不应增加。 如果一个 B 跟在一个 B 之后,计数应该不会增加。

col_exist  col_new
    A       1
    A       2
    A       3
    B       3
    A       4
    B       4
    B       4
    A       5
    B       5

我对编程完全陌生,所以提前感谢您的充分回答。

使用eqcumsum:

df['col_new'] = df['col_exist'].eq('A').cumsum()

输出:

  col_exist  col_new
0         A        1
1         A        2
2         A        3
3         B        3
4         A        4
5         B        4
6         B        4
7         A        5
8         B        5