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

基于双字段匹配合并行:合并同源sessionSource的activeUsers数据

合并同源sessionSource的用户数据解决方案

核心思路

  1. 将同源的sessionSource统一命名(比如把l.instagram.com替换为instagram.com)
  2. 按sessionSource和dateRange分组,对activeUsers字段求和
  3. (可选)调整结果的显示顺序,匹配预期输出的排列

代码实现(基于Pandas)

先构造你的原始数据(如果是从文件读取,替换成pd.read_csv()等方法即可):

import pandas as pd

# 构造原始数据
data = {
    'sessionSource': ['snapchat.com', 'snapchat.com', 'l.instagram.com', 'l.instagram.com', 'instagram.com', 'instagram.com'],
    'dateRange': ['previous', 'current', 'previous', 'current', 'previous', 'current'],
    'activeUsers': [1, 1, 71, 23, 5, 0]
}
df = pd.DataFrame(data)

接下来执行合并操作:

# 定义同源来源的映射规则,可根据需求扩展
source_mapping = {
    'l.instagram.com': 'instagram.com'
}

# 替换sessionSource字段,未在映射中的值保持不变
df['sessionSource'] = df['sessionSource'].replace(source_mapping)

# 按来源和时段分组,求和活跃用户数
merged_df = df.groupby(['sessionSource', 'dateRange'], as_index=False)['activeUsers'].sum()

# 调整结果顺序,和示例输出一致
merged_df = merged_df.set_index('sessionSource').loc[['snapchat.com', 'instagram.com']].reset_index()

# 查看最终结果
print(merged_df)

输出结果

执行后会得到你期望的结果:

sessionSource dateRange  activeUsers
0  snapchat.com  previous            1
1  snapchat.com   current            1
2  instagram.com  previous           76
3  instagram.com   current           23

扩展说明

如果后续有更多同源来源需要合并(比如m.instagram.com),只需在source_mapping字典中添加对应关系即可,例如:

source_mapping = {
    'l.instagram.com': 'instagram.com',
    'm.instagram.com': 'instagram.com'
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:45:39