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

如何用Python循环从Pandas DataFrame生成多份透视表?

批量生成透视表进行调查数据统计分析问题整理

需求说明

  • 从大型数据集中筛选出特定组织的记录集,需批量生成透视表,对比5个多分类人口统计列与17个调查问题的作答情况
  • 每个调查问题要生成5份按不同人口统计列分组的透视表,将结果保存为DataFrame后堆叠,用于后续用Matplotlib制作发散堆叠条形图

手动生成透视表的代码实现

有两种可行的手动实现方式:

  1. 使用pd.pivot_table:
table18 = pd.pivot_table(org1_df, values='Business size?', index=['Business type?'], 
                              columns=['Survey Question 1'], 
                              aggfunc=['count'], fill_value=0)
  1. 使用pd.crosstab:
cross = pd.crosstab(org1_df["Business type?"], org1_df["Survey Question 2"])
cross

遇到的问题

  1. 循环生成报错:将人口统计列名存入列表column_names = ["Business type?", "Business size?"],尝试用字典推导式循环生成透视表时,触发错误:AttributeError: 'str' object has no attribute 'columns'
  2. 参数作用疑惑:在pd.pivot_table中设置values='Business type?'后,最终透视表结果和Excel输出一致,该参数未对结果产生影响,不清楚原因

预期生成的透视表示例(基于样本数据)

  • 按「Business type?」统计Survey Question 1的作答数量
  • 按「Business size?」统计Survey Question 1的作答数量
  • 按「Business type?」统计Survey Question 2的作答数量
  • 按「Business size?」统计Survey Question 4的作答数量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 19:42:34