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

使用Pandas求多个Series均值的最大值并返回对应Series名称

更优雅的实现方式:摆脱硬编码,灵活获取均值最大的列

嘿,我太懂硬编码带来的尴尬了——现在只有三列还好,要是以后数据集里新增了别的运动项目列,你就得反复修改max()参数和一堆if-elif判断,简直是给自己挖坑。给你个更灵活的解决方案:

实现思路

  1. 把需要计算均值的目标列放进一个列表(后续改需求只动这里就行)
  2. 对这些列批量计算均值,得到一个以列名为索引、均值为值的Series
  3. 直接用idxmax()方法一键获取均值最大对应的列名

代码示例

# 定义要处理的目标列列表,以后加新列直接往这里加
target_columns = ['Cycle (seconds)', 'Run (seconds)', 'Swim (seconds)']

# 批量计算指定列的均值
column_means = DataTD[target_columns].mean()

# 获取均值最大的列名
max_mean_column_name = column_means.idxmax()

print(max_mean_column_name)

这个方法的优势

  • 可扩展性拉满:如果后续新增Walk (seconds)这类列,只需要把它加到target_columns里,剩下的代码完全不用改
  • 代码更简洁:省去了重复的DataTD['XXX'].mean()调用和冗长的条件判断
  • 可读性更高:逻辑一目了然,以后维护自己或者别人的代码都更轻松

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:28:17