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

Python Pandas汽车表格分组统计与排序实现求助

解决思路与Pandas实现方案

我来帮你搞定这个统计排序的需求,其实把步骤拆解开来就很清晰了,咱们直接上代码再一步步解释:

import pandas as pd

# 原始数据
data = {
    'Car Model': [
        'Chevy Suburban', 'Buick Skyhawk', 'Mercedes C300',
        'Chevy Impala', 'Chevy Traverse', 'Mercedes C300',
        'Buick Enclave', 'Chevy Suburban', 'Buick Skyhawk'
    ]
}
df = pd.DataFrame(data)

# 1. 拆分厂商(Manufacturer)和型号(Model)列
df[['Manufacturer', 'Model']] = df['Car Model'].str.split(n=1, expand=True)

# 2. 统计每个厂商+型号的数量
count_df = df.groupby(['Manufacturer', 'Model']).size().reset_index(name='Count')

# 3. 按要求排序:先按厂商升序,同厂商下按数量降序
sorted_df = count_df.sort_values(by=['Manufacturer', 'Count'], ascending=[True, False])

# 输出目标格式的表格
print(sorted_df.to_markdown(index=False))

步骤拆解:

  • 拆分列:用str.split(n=1, expand=True)把Car Model拆成两列,n=1确保只按第一个空格拆分,避免像"Mercedes C300"这种型号带空格的情况被拆错。
  • 统计数量:通过groupby(['Manufacturer', 'Model']).size()分组统计每组的行数(也就是对应型号的出现次数),再用reset_index把分组后的索引转成列,并重命名计数列为Count。
  • 排序:sort_values里指定排序依据的列,ascending=[True, False]表示厂商按升序排,同厂商下的数量按降序排,完美匹配你的需求。

运行后输出的Markdown表格就是你要的格式:

ManufacturerModelCount
ChevySuburban2
ChevyImpala1
ChevyTraverse1
BuickSkyhawk2
BuickEnclave1
MercedesC3002

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 10:47:48