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

Pandas如何用单行代码完成差分比较及布尔列逻辑与运算

Pandas单行实现差分校验列计算

完全可以通过单行代码完成你描述的全流程计算,无需单独定义bs、fs中间变量。

实现代码

基于NumPy的版本(和原有分步逻辑100%对齐)

import numpy as np
df['validation'] = np.logical_and(df['data'].diff(1).abs() <= 1, df['data'].diff(-1).abs() <= 1)

纯Pandas实现版本(无需额外调用NumPy逻辑运算方法)

df['validation'] = (df['data'].diff(1).abs() <= 1) & (df['data'].diff(-1).abs() <= 1)

逻辑说明

  • 两种写法的计算逻辑和原有分步流程完全一致:
    • 对data列分别执行1步向后差分、1步向前差分计算
    • 对差分结果取绝对值后判断是否小于等于1,直接生成对应布尔序列,跳过中间变量赋值步骤
    • 对两个布尔序列执行逻辑与运算,结果直接赋值为validation列

注意:使用&运算符做布尔逻辑运算时,两个判断条件必须单独用括号包裹,否则会因Python运算符优先级规则触发计算错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 11:09:28