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

使用Pandas按party_b分组统计不同usage_type出现次数的实现方法

实现步骤

1. 数据预处理

首先导入pandas库,从原始嵌套数据中提取_source层的有效字段构造DataFrame:

import pandas as pd

# 原始数据集
raw_data = [{
    '_score': 1.220763,
    '_source': {'response_id': '8801756091550_1633620760',
     'usage_type': 'SMSMT',
     'party_b': '8801810107222',
     'party_a': '8801756091550',
     'additionalProperties': {},
     'event_time': '20211007093240'}},
   {'_score': 1.220763,
    '_source': {'response_id': '8801756091550_1633625609',
     'usage_type': 'MOC',
     'party_b': '8801736636044',
     'party_a': '8801756091550',
     'partya_original': None,
     'additionalProperties': {},
     'event_time': '20211007105329'}},
   {'_score': 1.220763,
    '_source': {'response_id': '8801756091550_1633625851',
     'usage_type': 'MOC',
     'party_b': '8801777701826',
     'party_a': '8801756091550',
     'partya_original': None,
     'additionalProperties': {},
     'event_time': '20211007105731'}},
   {'_score': 1.220763,
    '_source': {'response_id': '8801756091550_1633626326',
     'usage_type': 'SMSMO',
     'party_b': '8801736636044',
     'party_a': '8801756091550',
     'partya_original': None,
     'additionalProperties': {},
     'event_time': '20211007110526'}}]

# 提取有效数据生成DataFrame
df = pd.DataFrame([item['_source'] for item in raw_data])

2. 分组统计指定类型的出现次数

两种常用实现方法,均支持自动补全无记录的类型统计值为0:

方法1:groupby + value_counts 实现

# 按party_b分组统计各usage_type出现次数,转成宽表格式
result = df.groupby('party_b')['usage_type'].value_counts().unstack(fill_value=0)
# 仅保留需要统计的三个类型,过滤其他无关类型
result = result.reindex(columns=['SMSMT', 'MOC', 'SMSMO'], fill_value=0)

方法2:crosstab 交叉表实现

# 直接生成交叉表并过滤指定列
result = pd.crosstab(df['party_b'], df['usage_type']).reindex(columns=['SMSMT', 'MOC', 'SMSMO'], fill_value=0)

输出结果

两种方法得到的结果格式一致:

party_bSMSMTMOCSMSMO
8801736636044011
8801777701826010
8801810107222100

如果需要把索引列party_b转为普通列,执行result = result.reset_index()即可。

内容的提问来源于stack exchange,提问作者Md.Shams Araf Shovon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:06:07