You need to enable JavaScript to run this app. Pandas如何对DataFrame按行统计大于等于5的数值的条件平均值
优惠活动
大模型
产品
解决方案
定价
更多

Pandas如何对DataFrame按行统计大于等于5的数值的条件平均值

解决方案

构造测试数据

import pandas as pd
import numpy as np

x = pd.DataFrame({
    '1': [1,2,3,2,5,6,7,8,9],
    '2': [2,5,6,8,10,np.nan,6,np.nan,np.nan],
    '3': [10,10,10,np.nan,np.nan,np.nan,np.nan,np.nan,np.nan]
})

实现逐行计算≥5数值的平均值

该计算逻辑等价于Excel中=AVERAGEIF(行范围,">=5"),优先推荐向量化运算方案,性能远高于逐行循环:

# 计算结果保存为新列 avg_ge5
x['avg_ge5'] = x.where(x >= 5).mean(axis=1)

如果需要自定义扩展逻辑,也可以用apply逐行处理:

x['avg_ge5'] = x.apply(lambda row: row[row >= 5].mean(), axis=1)

说明

两种方案都会自动忽略小于5的数值以及原数据中的空值(NaN),计算结果完全符合需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 01:15:02