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

计算dataframe两列偏移量且排除单列异常值的实现方法

解决方法

你可以通过pandas的布尔索引过滤异常值后,基于剩余有效样本计算全局偏移量,再应用到全量数据完成校正,完整实现流程如下:

1. 核心逻辑说明

  • 先过滤掉CO2_LICOR大于350的异常峰值样本,避免异常值干扰偏移量计算精度
  • 偏移量默认取有效样本中CO2_LICOR与baseline_CO2差值的均值(如果需要更抗噪,可以替换为中位数)
  • 校正公式为:校正后CO₂ = 原始CO₂_LICOR - 偏移量

2. 完整代码实现

import pandas as pd

# 假设你的原始DataFrame名为df
# 步骤1:过滤异常值,得到有效样本子集
valid_df = df[df['CO2_LICOR'] <= 350].copy()

# 步骤2:计算全局偏移量
# 用均值计算偏移
offset = (valid_df['CO2_LICOR'] - valid_df['baseline_CO2']).mean()
# 若需要抗噪可替换为中位数:offset = (valid_df['CO2_LICOR'] - valid_df['baseline_CO2']).median()

# 步骤3:校正全量原始CO2_LICOR数据
df['corrected_CO2'] = df['CO2_LICOR'] - offset

3. 结果说明

运行后你会在原始DataFrame中得到新列corrected_CO2,即为校正后的CO₂测量数据。如果你的偏移是随时间动态变化的,可以将上述逻辑适配到滑动时间窗口中计算逐段偏移量。

数据样例参考如下:
数据样例展示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:54:03