基于pandas的Python多维度数据集分析:营销活动响应率计算需求
实现方案
直接使用pandas自带的分组聚合能力即可,不需要手写多层循环,该方法天然适配不同维度的取值数量,底层为优化过的向量化运算,运行效率远高于Python层的循环逻辑。
完整代码示例
import pandas as pd # 1. 读取CSV数据 df = pd.read_csv("你的营销活动数据集路径.csv") # 2. 将响应情况转化为数值:Y对应1,N对应0,平均值即为响应率 Y/(Y+N) df["响应数值"] = df["响应情况"].map({"Y": 1, "N": 0}) # 3. 按年龄、性别、所在地分组计算平均响应率 result = df.groupby( ["年龄", "性别", "所在地"], as_index=False )["响应数值"].mean().rename(columns={"响应数值": "平均响应率"}) # 可选:保留4位小数方便查看 result["平均响应率"] = result["平均响应率"].round(4) # 输出结果查看 print(result)
方案说明
- 动态适配性:
groupby会自动识别所有存在的维度组合,不管年龄维度是20种还是100种取值,都不需要修改代码逻辑 - 效率优势:pandas运算底层为C实现,避免了Python多层循环的解释器开销,即使是十万级以上的数据量也能在秒级完成计算
- 结果验证:可以手动抽样几个组合的计算结果和代码输出对比,确认计算逻辑符合预期
内容的提问来源于stack exchange,提问作者HFLeft
相关产品推荐
相关产品推荐

