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

如何合并DataFrame同日期数据:生成EVENT_TYPE集合并聚合时长

Pandas 按日期合并数据并生成事件编码解决方案

步骤1:解析日期列

先确保日期列被正确识别为日期类型,提取纯日期部分(若原日期包含时间信息):

import pandas as pd

# 替换为你的实际数据加载方式
df = pd.read_csv('your_data_source.csv')

# 将含时间的日期列转为纯日期格式
df['date'] = pd.to_datetime(df['datetime_column']).dt.date

步骤2:按日期分组聚合

用groupby结合agg方法,直接对同一天的EVENT_TYPE生成集合,同时聚合时长:

# 分组聚合:按日期分组,事件转集合,时长求和
daily_agg = df.groupby('date').agg(
    daily_event_set=('EVENT_TYPE', lambda x: set(x)),
    total_duration=('duration_column', 'sum')
).reset_index()

步骤3:生成事件类型编码

为所有唯一事件类型分配编码,再将每日事件集合转为编码列表:

# 生成事件-编码映射表
unique_events = df['EVENT_TYPE'].unique()
event_code_map = {event: idx + 1 for idx, event in enumerate(unique_events)}

# 将每日事件集合转换为对应编码列表
daily_agg['event_codes'] = daily_agg['daily_event_set'].apply(
    lambda s: [event_code_map[event] for event in s]
)

最终结果示例

处理后的数据结构如下:

datedaily_event_settotal_durationevent_codes
2024-05-01{'login', 'logout'}150[1, 2]
2024-05-02{'login'}60[1]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 23:42:42