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

使用Pandas加载CSV后按用户ID分组、按时间及CampaignID整理数据

解决Pandas分组整理CSV数据的方案

嘿,我来帮你搞定这个数据整理需求!针对你给出的CSV结构和预期输出,咱们可以分几步用Pandas轻松实现:

1. 加载CSV并解析日期列

首先加载文件时,记得把date列解析成datetime类型,这样后续按时间排序才会准确:

import pandas as pd

# 加载CSV,自动将date列解析为datetime格式
df = pd.read_csv('your_data.csv', parse_dates=['date'])

2. 按用户分组并按时间排序

接下来先按user_id分组,同时在每个用户组内按date(时间)排序,确保数据是按时间顺序排列的:

# 先按user_id分组,再按date从小到大排序
df_sorted = df.sort_values(by=['user_id', 'date'])

3. 整理成预期格式(重复user_id仅显示一次)

为了让每个user_id只在第一行显示,后续行留空,咱们可以用where方法处理重复值,同时把campaign_id重命名为你想要的ad_campaign:

# 只保留每个user_id的首次出现值,其余行设为空字符串
df_sorted['user_id'] = df_sorted['user_id'].where(df_sorted['user_id'] != df_sorted['user_id'].shift(), '')

# 重命名列名匹配预期格式
df_final = df_sorted.rename(columns={'campaign_id': 'ad_campaign'})

4. 查看最终结果

最后输出整理好的数据,用to_string(index=False)去掉索引,就能得到你想要的格式:

print(df_final.to_string(index=False))

运行后输出的结果会是这样:

user_id                 date ad_campaign
151312395 2018-01-10 00:21:09       GOOGLE
          2018-01-10 00:21:19       GOOGLE
          2018-01-10 00:21:32       GOOGLE

如果你的CSV里有多个不同的user_id,这个方法也能自动处理每个用户组的独立排序和格式整理哦~

内容的提问来源于stack exchange,提问作者Laila Van Ments

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:47:13