如何遍历数据集分组,计算各组占社会人口特征组合的百分比
解决方案:计算各Group在社会人口特征组合中的占比
假设你的数据集已加载为Pandas DataFrame(命名为df),包含Merged_char、Group、Sum三列(每行对应一个特征组合+Group的数量统计),可以通过以下步骤自动计算占比:
第一步:导入依赖库并加载数据
import pandas as pd # 替换为你的数据集路径,比如CSV/Excel文件 df = pd.read_csv("your_dataset.csv")第二步:按特征组合计算总数量
使用groupby+transform方法,自动为每个Merged_char分组计算Sum列的总和,并将结果作为新列Total_Sum添加到原数据中,无需手动处理144种组合:df["Total_Sum"] = df.groupby("Merged_char")["Sum"].transform("sum")第三步:计算Group占比
用每行的Sum除以对应分组的Total_Sum,乘以100得到百分比,可通过round()控制小数位数:# 保留1位小数,可根据需求调整 df["Percentage"] = (df["Sum"] / df["Total_Sum"] * 100).round(1)第四步:生成汇总表
整理需要的列并排序,得到最终的汇总结果:summary_table = df[["Merged_char", "Group", "Sum", "Total_Sum", "Percentage"]] # 按特征组合和Group排序,便于查看 summary_table = summary_table.sort_values(by=["Merged_char", "Group"]) # 可选:导出为CSV文件 summary_table.to_csv("group_percentage_summary.csv", index=False)
这个方法会自动遍历所有Merged_char组合,无需手动创建筛选列表,完全适配144种特征组合的场景。
内容的提问来源于stack exchange,提问作者Fendi
相关产品推荐
相关产品推荐

