Pandas Pivot_Table仅显示索引值,列与计数不显示问题求助
问题解决方法
原因分析
你当前的pivot_table代码未指定values参数,aggfunc="count"会尝试统计所有非索引/列的字段,但你的DataFrame仅包含Date和Status两列——前者被设为索引、后者被设为列,没有剩余字段可供统计,因此结果仅显示索引列。
正确写法
方法1:补全values参数
指定values为任意一列(比如Status),让count有明确的统计对象:
dfPivot = pd.pivot_table(data=df, index=['Date'], columns=['Status'], values=['Status'], aggfunc="count")
也可以简化为:
dfPivot = pd.pivot_table(data=df, index='Date', columns='Status', values='Status', aggfunc='count')
方法2:用pd.crosstab更高效
针对这种"按两个字段交叉计数"的场景,crosstab是更适配的工具,无需额外参数配置:
dfPivot = pd.crosstab(index=df['Date'], columns=df['Status'])
结果说明
运行上述代码后,会生成和Excel透视表结构一致的结果:行是日期,列是不同的Status值,单元格对应该日期下对应状态的计数。空值可通过.fillna(0)统一转为0,确保格式规整。
以你的示例数据为例,2024-02-20行的结果会是:
- Awaiting Bank Account: 1
- Credit Pulled: 4
- Pre Credit Pull: 1
- Won: 1
内容的提问来源于stack exchange,提问作者Kash
相关产品推荐
相关产品推荐

