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

如何基于DataFrame中B列的指定范围计算A列的平均值

实现方法

基于Pandas库可以快速完成这个需求,核心思路是先按海拔区间过滤行,再对速度列求平均值,以下是具体实现:

单区间计算(匹配示例需求)

核心代码如下:

import pandas as pd

# 假设你的原始DataFrame名为df
# 筛选elevation介于-0.5到0.8之间的行,计算对应Speed的平均值
target_avg_speed = df[(df['elevation'] >= -0.5) & (df['elevation'] <= 0.8)]['Speed'].mean()

注意事项:多个布尔条件组合时,每个条件必须用括号包裹,且逻辑与运算符要使用&,不能用Python原生的and,否则会触发语法报错

多区间批量计算

如果你需要同时计算多个不同海拔区间对应的平均速度,可以用pd.cut结合分组聚合实现:

# 自定义海拔区间边界,可根据实际需求调整
elevation_bins = [-float('inf'), -0.5, 0.8, float('inf')]
# 自定义区间名称
bin_labels = ['低于-0.5', '-0.5~0.8', '高于0.8']

# 为每行数据标记所属的海拔区间
df['elevation_group'] = pd.cut(df['elevation'], bins=elevation_bins, labels=bin_labels)
# 按区间分组,计算每个区间的平均速度
grouped_avg_speed = df.groupby('elevation_group')['Speed'].mean()

运行后grouped_avg_speed会输出所有区间对应的平均速度结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:24:01