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

基于ID提取并拼接唯一fix_timestamps的Pandas脚本问题

解决方法

核心思路是先按id分组聚合所有唯一的fix_timestamps,再将聚合结果映射回原数据的每一行,具体代码如下:

import pandas as pd

# 读取文件,根据实际格式调整sep、header等参数
df = pd.read_csv('your_large_file.csv')

# 按id分组,聚合每个id对应的唯一fix_timestamps,用';'拼接成字符串
# 如果fix_timestamps是数值类型,需添加.astype(str)转成字符串后拼接
id_time_mapping = df.groupby('id')['fix_timestamps'].agg(
    lambda x: ';'.join(x.unique())
)

# 将原数据的fix_timestamps列替换为对应id的完整拼接串
df['fix_timestamps'] = df['id'].map(id_time_mapping)

# 保存处理后的文件
df.to_csv('processed_file.csv', index=False)

关键说明

  • 原脚本问题在于没有做分组聚合,仅处理单行数据,所以只会重复当前行的时间戳。而groupby('id')['fix_timestamps'].agg(...)会为每个id收集所有出现过的唯一时间戳,完成拼接。
  • 若处理超大型文件(内存不足),可以添加sort=False参数提升groupby效率:df.groupby('id', sort=False)['fix_timestamps'].agg(...)
  • 如果fix_timestamps是数值型时间戳,需要修改聚合逻辑为lambda x: ';'.join(x.unique().astype(str)),避免拼接时出现类型错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 14:39:57