You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas dataframe如何通过比较列与前值新增计数列col_new

实现方案

核心逻辑是对col_exist列中等于'A'的结果做累加,刚好匹配你的计数规则,一行代码就能实现:

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

代码说明

  • df['col_exist'].eq('A') 逐行判断col_exist的值是否为'A',返回布尔序列(是'A'则为True,否则为False)
  • cumsum() 是累加函数,布尔值参与数值计算时True会被识别为1,False识别为0,刚好实现遇到'A'计数加1、遇到'B'计数不变的要求

完整测试代码

你可以直接运行下面的代码验证示例效果:

import pandas as pd

# 构造示例DataFrame,替换为你自己的df即可
df = pd.DataFrame({
    'col_exist': ['A', 'A', 'A', 'B', 'A', 'B', 'B', 'A', 'B']
})

# 新增col_new列
df['col_new'] = df['col_exist'].eq('A').cumsum()

# 打印结果
print(df)

运行后输出结果和你给出的示例完全一致。


内容的提问来源于stack exchange,提问作者konstantin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 11:39:01