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

如何使用pandas统计CSV/Excel中总费用最高、最低的岗位类别

工地运营CSV数据最高/最低费用岗位统计实现方案

前置修正

你现有代码里的路径拼接参数顺序有误,os.path.join第一个参数为父路径,第二个为文件名,否则会生成无效路径,修正如下:

# 原错误写法:file = os.path.join(filename, path)
file = os.path.join(path, filename)

实现逻辑

你只需要先按Qualification字段分组汇总每个岗位的总费用,再直接提取最大、最小值对应的岗位即可,完整代码如下:

import pandas as pd
import os

filename = "site_operation.csv"
path = "."
file = os.path.join(path, filename)
tscv1 = pd.read_csv(file, sep=";", thousands=".", decimal=",", encoding="ansi")

# 1. 统计总运营费用
total_cost = tscv1['costs'].sum()
print("所有运营总费用:", round(total_cost, 2))

# 2. 统计各Qualification对应总费用
qual_total_cost = tscv1.groupby('Qualification')['costs'].sum()
print("\n各岗位总费用:\n", qual_total_cost.round(2))

# 3. 统计总费用最高的Qualification
max_qual = qual_total_cost.idxmax()
max_cost = qual_total_cost.max()
print(f"\n总费用最高的岗位:{max_qual},对应总费用:{round(max_cost, 2)}")

# 4. 统计总费用最低的Qualification
min_qual = qual_total_cost.idxmin()
min_cost = qual_total_cost.min()
print(f"\n总费用最低的岗位:{min_qual},对应总费用:{round(min_cost, 2)}")

核心方法说明

  • groupby('Qualification')['costs'].sum():按照岗位字段分组,对费用字段求和,返回索引为岗位名称、值为对应总费用的Series结构
  • idxmax():返回Series中最大值对应的索引,也就是总费用最高的岗位名称,配套max()可获取对应费用数值
  • idxmin():返回Series中最小值对应的索引,也就是总费用最低的岗位名称,配套min()可获取对应费用数值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:36:00