Power Query:如何处理同状态不同日期数据并清空旧日期
数据去重与列处理方案
我有一组数据,其中存在状态重复但日期更早的记录,需要完成两个操作:
- 移除同状态下的较早日期记录
- 创建两个独立列,使同状态对应的较早日期显示为空值
数据示例结构
| ID | 状态 | 日期 |
|---|---|---|
| 1 | A | 2023-01-01 |
| 2 | A | 2023-01-03 |
| 3 | B | 2023-02-01 |
| 4 | B | 2023-02-05 |
| 5 | C | 2023-03-10 |
一、Excel操作步骤
- 筛选保留最新日期记录
- 选中数据区域,点击「数据」选项卡 → 「排序」,按「状态」升序、「日期」降序排序
- 选中「状态」列,点击「数据」→ 「删除重复值」,仅勾选「状态」列后确定,此时每个状态仅保留最新日期的记录
- 添加空值列
- 在数据右侧插入两列(命名如「较早日期1」「较早日期2」),对保留的最新记录行,直接在这两列留空即可
二、Python Pandas实现代码
import pandas as pd # 读取数据源(替换为你的数据路径) df = pd.read_csv('your_data.csv') # 按状态分组,保留每个状态下日期最新的记录 df_processed = df.sort_values(by='日期', ascending=False).drop_duplicates(subset='状态', keep='first') # 添加两个空值列 df_processed['较早日期1'] = pd.NA df_processed['较早日期2'] = pd.NA # 输出或保存结果 print(df_processed) df_processed.to_csv('processed_data.csv', index=False)
内容的提问来源于stack exchange,提问作者Newbie
相关产品推荐
相关产品推荐

