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

Python DataFrame中设备型号分组汇总方案咨询

解决方案:基于品牌关键词匹配的快速分组汇总

针对百万行设备型号数据的分组需求,最直接高效的方案是基于品牌关键词的规则匹配——因为设备型号几乎都包含明确的品牌标识(iPhone、Galaxy等),无需复杂的NLP模型就能实现精准分组。

步骤1:构建品牌映射规则

先整理常见品牌的关键词(含变体写法),映射到统一的分组名称:

import pandas as pd
import numpy as np

# 定义品牌关键词与目标分组的映射,可根据实际数据补充
brand_mapping = {
    'iphone': 'iPhone',
    'ipad': 'iPad',
    'galaxy|samsung': 'Galaxy',  # 正则匹配Galaxy或Samsung相关型号
    'playstation|ps': 'PlayStation',
    'nintendo|switch': 'Nintendo'
}

步骤2:批量匹配品牌(矢量化操作,适配百万行)

利用pandas的矢量化字符串方法+np.select实现高速匹配,避免逐行apply的性能瓶颈:

# 生成匹配条件:检查设备型号是否包含对应品牌关键词(忽略大小写)
conditions = [
    df['设备型号'].str.lower().str.contains(keyword, regex=True)
    for keyword in brand_mapping.keys()
]
# 对应的分组名称
choices = list(brand_mapping.values())

# 为每一行匹配所属品牌,未匹配的归为"其他"
df['品牌'] = np.select(conditions, choices, default='其他')

步骤3:分组求和生成汇总统计

# 按品牌分组,计算总请求量
summary = df.groupby('品牌')['请求量(单位:十万)'].sum().reset_index()
# 重命名列名匹配期望输出
summary.columns = ['设备型号', '总请求量(单位:十万)']

print(summary)

效果验证

针对你提供的示例数据,运行后会得到完全符合期望的结果:

设备型号总请求量(单位:十万)
iPhone4.8248
iPad2.2726
Galaxy13.967
其他0.0

优势说明

  • 速度快:矢量化操作处理百万行数据仅需数秒,远快于Spacy/Gensim等NLP模型
  • 可扩展性:新增品牌只需在brand_mapping中补充关键词即可
  • 稳定性高:规则匹配不受短文本歧义影响,结果可预测

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 15:50:39