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

pandas创建pivot table为不同值配置不同聚合函数及count未定义报错问题

报错原因

  • name 'count' not defined 报错是因为代码中使用的count没有被提前定义,Python无法识别该变量
  • 即使你定义了普通计数的count方法,也不符合你要求的去重计数需求

正确代码

pandas内置了nunique方法直接实现去重计数,无需自定义函数,修改后代码如下:

import numpy as np

df1.pivot_table(
    index=["Unit", "Grade"],
    values=["Cost", "Quantity", "Transaction_num", "Order_num"], 
    aggfunc={
        "Cost": np.sum,
        "Quantity": np.sum, 
        "Transaction_num": "nunique",
        "Order_num": "nunique"
    }
)

如果需要保留你原来写法里的多层列名结构(aggfunc值套列表),可以改成:

df1.pivot_table(
    index=["Unit", "Grade"],
    values=["Cost", "Quantity", "Transaction_num", "Order_num"], 
    aggfunc={
        "Cost": [np.sum],
        "Quantity": [np.sum], 
        "Transaction_num": ["nunique"],
        "Order_num": ["nunique"]
    }
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:42:02