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

如何从DataFrame中提取符合列条件的数据并计算分组均值?

直接提取符合条件行的方法

不用drop删行,直接用布尔索引就能提取符合条件的行,这是pandas里最常用的方式:

# 提取风向为360°的所有行
north_wind_rows = df[df['风向'] == 360]
# 单独提取对应的风速列
north_wind_speeds = df[df['风向'] == 360]['风速']

也可以用query()方法,写法更简洁:

north_wind_rows = df.query('风向 == 360')
north_wind_speeds = df.query('风向 == 360')['风速']
按各风向提取数据并计算平均风速

如果要批量处理所有风向,直接用groupby分组统计最省心,它会自动按风向分组,然后计算每组的平均风速:

# 按风向分组,计算每组风速的平均值
wind_direction_avg = df.groupby('风向')['风速'].mean()

这个结果是一个Series,索引是各个风向值,对应的值就是该方向的平均风速,不用自己手动算总和除以次数。

如果要手动验证单个风向的平均(比如北风),也可以这么算:

north_speeds = df[df['风向'] == 360]['风速']
north_avg_speed = north_speeds.sum() / len(north_speeds)
# 或者直接用pandas的mean方法,结果完全一致
north_avg_speed = north_speeds.mean()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 10:10:34