如何在Palantir Foundry Contour中删除WORKORDER_ID重复行并保留首个实例
解决WORKORDER_ID列去重并保留首个实例的方法
Python Pandas 处理方案
适合处理200万+的大数据量,步骤如下:
- 读取数据(以CSV为例,根据实际格式调整):
import pandas as pd df = pd.read_csv('你的数据文件.csv') - 执行去重(已按修改时间排序的前提下,直接保留首个唯一行):
# subset指定去重的列,keep='first'保留第一次出现的记录 df.drop_duplicates(subset='WORKORDER_ID', keep='first', inplace=True) - 导出处理后的数据:
df.to_csv('去重后的数据.csv', index=False)
SQL 处理方案
如果数据存在数据库中,用窗口函数快速筛选:
SELECT * FROM ( SELECT *, -- 按WORKORDER_ID分组,每组内按修改时间升序排,标记行号 ROW_NUMBER() OVER (PARTITION BY WORKORDER_ID ORDER BY modified_time ASC) AS row_num FROM 你的数据表名 ) temp WHERE row_num = 1;
这样就能直接提取每个WORKORDER_ID对应的最早修改记录。
Alteryx 处理方案
如果用Alteryx做Contour分析,操作更直观:
- 确认数据已经通过Sort工具按修改时间完成排序。
- 添加Unique工具,配置时:
- 选
WORKORDER_ID作为唯一判断字段 - 勾选「Keep First Record」选项
- 选
- 运行流程,输出结果就是去重后保留首个实例的数据。
之前写表达式失败大概率是绕远路了,Alteryx内置的Unique工具专门干这个,不用写复杂表达式。
内容的提问来源于stack exchange,提问作者ThePicMan
相关产品推荐
相关产品推荐

