【问题标题】:pandas dataframe: compare value in one column with previous value熊猫数据框:将一列中的值与前一个值进行比较
【发布时间】:2021-10-27 04:55:50
【问题描述】:

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

现有列 (type=objects) 包含 As 和 Bs。 新列应该计数,从 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

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

【问题讨论】:

    标签: python pandas dataframe compare rows


    【解决方案1】:

    使用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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-11
      相关资源
      最近更新 更多