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

如何基于对应数据限定符计算Pandas行内数值的条件平均值

解决方案

你可以通过Pandas的向量化操作实现需求,比逐行apply效率更高,且天然满足所有规则要求:

import pandas as pd
# 若数据已加载到df可跳过读取步骤
df = pd.read_csv("你的本地数据文件路径.csv")
# 1. 筛选所有风速列
wind_cols = [col for col in df.columns if col.endswith('_wind')]
# 2. 自动匹配对应质量校验列
qual_cols = [f"{col}_Q" for col in wind_cols]
# 3. 将校验结果为False的风速值替换为NaN
valid_wind = df[wind_cols].where(df[qual_cols].to_numpy())
# 4. 按行求平均,自动忽略NaN,全无效行自动返回NaN
df['Avg_WS'] = valid_wind.mean(axis=1)

逻辑说明

  • where方法会保留条件为True位置的原始风速值,条件为False的位置自动替换为NaN
  • mean(axis=1)计算行平均时默认跳过所有NaN值,正好符合仅统计有效数据的要求
  • 若某行所有风速值都被替换为NaN,计算结果自动为NaN,无需额外处理全无效的边界情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 20:24:01