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

如何使用Pandas计算相同Prefix、FromMP行的TPCSpeed列平均值

你不需要自己写循环逐行处理,用Pandas自带的groupby+transform功能就能高效实现需求,核心逻辑是按指定字段分组后对TPCSpeed列求平均值,transform方法会自动把计算结果映射回原表的每一行,单元素分组的平均值就是原值,刚好匹配你的要求。

实现代码

import pandas as pd

# 读取原始数据
result = pd.read_csv("result.csv")

# 定义分组依据的四个字段
group_columns = ["Prefix", "Suffix", "FromMP", "ToMP"]
# 定义需要计算平均值的TPCSpeed列
tpc_columns = [f"TPCSpeed{i}" for i in range(1, 8)]

# 分组计算平均值,直接覆盖原TPCSpeed列的数值
result[tpc_columns] = result.groupby(group_columns)[tpc_columns].transform("mean")

# 如果你需要对相同分组的行去重只保留一行,可以加上下面这句
# result = result.drop_duplicates(subset=group_columns, keep="first")

补充说明

如果TPCSpeed列存在空值,默认mean会自动忽略空值计算平均值,如果你需要空值参与计算(即组内有空值时结果也为空),可以把计算逻辑改成:

result[tpc_columns] = result.groupby(group_columns)[tpc_columns].transform("mean", skipna=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:54:03