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

如何用Pandas比较各列求和结果并返回最值列名

Pandas 高效求列求和最值对应列名的实现方法

问题说明

现有如下结构的Pandas DataFrame:

date         mon       tue       wed       thu         fri       sat        sun
  01-01-2022       2         3         5         7           8         1          0
  02-01-2022       3         4         7         6           3         0          4
  03-01-2022       4         8         7         9           1         2          5
  04-01-2022       5         2         1         1           8         1          2
  05-01-2022       6         1         9         3           7         1          1

需求为:计算除date列外每一列的求和值,找出求和值最大与最小的列名,并返回如下格式的结果:

max number is seen on wed and min number is seen on sat.

高效实现方法

直接利用Pandas内置的矢量化操作完成,步骤如下:

  1. 排除日期列,计算其余数值列的求和值

    # 假设DataFrame变量名为df
    col_sums = df.drop('date', axis=1).sum()
    
  2. 获取求和最大、最小对应的列名

    max_col = col_sums.idxmax()
    min_col = col_sums.idxmin()
    
  3. 格式化输出结果

    print(f"max number is seen on {max_col} and min number is seen on {min_col}.")
    

效率说明

Pandas的sum()、idxmax()、idxmin()都是基于底层优化的矢量化操作,避免了Python层面的循环遍历,处理大规模数据时性能远优于手动循环计算,是最贴合Pandas设计理念的高效实现方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 00:54:33