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

Pandas按品牌车型分组,将车龄分类转为列统计各分类计数

报错原因

df.groupby()方法要求多个分组键必须放在同一个列表中传入,你原代码直接用逗号分隔三个列名作为参数,pandas会将第二个参数'Model'识别为axis参数,因此抛出找不到对应轴的错误。

实现代码

有两种常用方式可以实现你需要的分组计数+列转行效果:

方式1:使用pd.crosstab(更简便,专门适配交叉计数场景)

import pandas as pd
# 以Brand和Model为行索引,car_age分类为列,统计计数,空缺值填0
output_count = pd.crosstab(
    index=[df['Brand'], df['Model']],
    columns=df['car_age'],
    fill_value=0
).reset_index()

方式2:修改你原来的groupby逻辑

# 多个分组键放入列表,统计每组大小
grouped_count = df.groupby(['Brand', 'Model', 'car_age']).size()
# 将car_age从索引转为列,空缺值填充为0
output_count = grouped_count.unstack(fill_value=0).reset_index()

两种方法得到的输出结果都会和你期望的格式完全一致,且car_age列会按你预设的编号顺序自动排序。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:54:03