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

Python实现Excel相邻行条件判断:生成0/1结果

Pandas实现相邻行条件判断生成新列

需求说明

  • 目标:在DataFrame的新列cycle中生成0/1值
  • 判断规则:当Kompressor_1_val列当前行值<1且下一行值>5时,对应行返回1,否则返回0
  • 结果对应关系:第1个结果对应第1、2行,第2个对应第2、3行,以此类推

原代码问题

原代码逻辑与语法均存在错误:

  • df3['cycle']=0&1是布尔运算,结果为0,无法正确初始化列
  • 条件表达式df3['Kompressor_1_val']<1&5语法错误,完全没实现相邻行的比较逻辑

正确代码实现

# 初始化cycle列为0
df3['cycle'] = 0

# 构建相邻行的判断条件
condition = (df3['Kompressor_1_val'] < 1) & (df3['Kompressor_1_val'].shift(-1) > 5)

# 将满足条件的行设置为1
df3.loc[condition, 'cycle'] = 1

# 查看结果
df3

代码解释

  • df3['Kompressor_1_val'].shift(-1):通过shift(-1)将列向上偏移一位,让当前行能直接获取到下一行的数值
  • 每个条件需用括号包裹,避免Python运算符优先级导致的逻辑错误
  • 最后一行因无下一行数据,保持初始值0,符合需求中“相邻两行比较”的规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:31:36