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

Python Pandas透视表无法计算总计,遇TypeError报错求助

解决Pandas透视表添加总计时报错的问题

错误原因

你碰到的TypeError: 'str' object is not callable是因为开启margins=True后,Pandas需要可调用的聚合函数来计算总计行/列,但你传入的aggfunc='size'是字符串类型,没法被直接调用执行总计计算。

解决方案

把字符串形式的'size'换成可调用的len函数就行,len和size在这里的统计效果完全一致,都是用来计算每组的元素数量:

import pandas as pd

# 创建DataFrame
data = {'Kolonne1': ['A', 'B', 'A', 'C', 'B'],
        'Kolonne2': ['X', 'Y', 'X', 'Z', 'Z']}
df = pd.DataFrame(data)
    
# 替换aggfunc为len,开启总计
pivot_table = df.pivot_table(
    index='Kolonne1',
    columns='Kolonne2',
    aggfunc=len,  # 这里把'size'换成len
    fill_value=0,
    margins=True,
    margins_name='Totaler'
)

print(pivot_table)

运行结果

执行后会生成带行/列总计的透视表:

Kolonne2  X  Y  Z  Totaler
Kolonne1                  
A         2  0  0        2
B         0  1  1        2
C         0  0  1        1
Totaler   2  1  2        5

内容的提问来源于stack exchange,提问作者Sten B. Rasmussen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:55:00