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

Pandas统计DataFrame唯一值时忽略大小写及模糊匹配同类项的方法

Pandas同类值统计功能实现(大小写不敏感+包含关键词归类)

实现思路

  • 先定义所有标准分类的集合,覆盖你需要归并的所有目标类别
  • 编写映射函数:将value列的每个值统一转为小写,判断是否包含某标准分类的小写形式,匹配成功就返回对应标准分类名
  • 对映射后的分类字段做分组计数,得到最终统计结果

完整实现代码

import pandas as pd

d = {'host_id': [1, 1, 1, 2, 2, 3, 3, 3, 3],
     'value': ['Hot Water', 'Wifi', 'Kitchen',
               'Wifi', 'Hot Water',
               'Coffe Maker', 'wifi', 'hot Water', 'Wifi 230 mb/s']}
df = pd.DataFrame(data=d)

# 定义标准分类集合
standard_cats = ["Hot Water", "Wifi", "Kitchen", "Coffe Maker"]

# 自定义映射规则
def map_to_standard(val):
    val_lower = val.lower()
    for cat in standard_cats:
        if cat.lower() in val_lower:
            return cat
    # 未匹配到的分类保留原值,可根据需求调整逻辑
    return val

# 生成映射后的分类列
df['standard_value'] = df['value'].apply(map_to_standard)

# 分组统计
result = df.groupby('standard_value', as_index=False).size().rename(columns={'standard_value':'value', 'size':'count'})
print(result)

输出结果

value  count
0  Coffe Maker      1
1    Hot Water      3
2      Kitchen      1
3         Wifi      4

如果需要调整分类的展示顺序,可以自行对结果表做排序处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:36:03