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

基于旧DataFrame创建新表时遇TypeError:类别类型不支持加法操作

解决TypeError: category type does not support add operations问题

错误原因

你的days_since_prior_order列数据类型是Category,Pandas的Category类型默认不支持sum、mean这类算术运算,因此执行聚合操作时触发报错。

解决方案

先将该列转换为数值类型,再执行聚合关联操作:

  1. 转换days_since_prior_order列的类型为数值型,同时将无法转换的异常值转为NaN:
import pandas as pd

# 转换列类型,coerce参数处理无效值
users['days_since_prior_order'] = pd.to_numeric(users['days_since_prior_order'], errors='coerce')
  1. 计算用户聚合指标并关联回原DataFrame:
# 先单独计算聚合结果,避免原地修改冲突
user_agg = users.groupby('user_id').agg(
    user_orders=('order_number', 'max'),
    user_period=('days_since_prior_order', 'sum'),
    user_mean_days_since_prior=('days_since_prior_order', 'mean')
)

# 将聚合结果关联到原DataFrame
users = users.join(user_agg, on='user_id')

验证结果

执行后会得到你期望的聚合列,示例输出如下:

user_orders  user_period  user_mean_days_since_prior
user_id         
1            10        176.0                    19.562500
2            14        198.0                    15.234375
3            12        133.0                    12.093750
4             5         55.0                    13.750000
5             4         40.0                    13.335938

内容的提问来源于stack exchange,提问作者Don K.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 22:30:09