pandas如何计算表格中重复出现的技术对应的INCOME字段均值
Pandas按技术类别计算INCOME均值实现方案
前置操作
首先导入依赖并读取数据源:
import pandas as pd # 读取数据,excel格式可替换为pd.read_excel("你的文件路径.xlsx") df = pd.read_csv("你的数据文件路径.csv")
注:请将代码中的「技术字段名」替换为你表格中存储技术类别的列的实际名称
场景1:存在完全重复行(相同技术+相同INCOME重复录入)
先去重再分组计算均值,无重复行可跳过去重步骤:
# 按技术列和INCOME列去重,需要保留其他字段维度可调整subset参数 df_dedup = df.drop_duplicates(subset=["技术字段名", "INCOME"]) # 按技术分组计算INCOME均值,并重命名结果列 result = df_dedup.groupby("技术字段名", as_index=False)["INCOME"].mean().rename(columns={"INCOME": "INCOME_均值"})
场景2:单条记录存储多个技术(如技术列用逗号/顿号分隔多个技术值)
先拆分技术列转为单行单技术,再分组计算:
# 拆分技术列并转为多行,分隔符可根据实际情况替换为顿号、空格等 df_explode = df.assign(技术字段名=df["技术字段名"].str.split(",")).explode("技术字段名") # 去除技术名前后多余空格 df_explode["技术字段名"] = df_explode["技术字段名"].str.strip() # 分组计算均值 result = df_explode.groupby("技术字段名", as_index=False)["INCOME"].mean().rename(columns={"INCOME": "INCOME_均值"})
结果导出
需要将结果保存为文件可执行:
result.to_csv("技术类别收入均值结果.csv", index=False)
内容的提问来源于stack exchange,提问作者ALiCe P.
相关产品推荐
相关产品推荐

