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

如何用Python在Excel中基于ID识别名称变回原始值的记录

用Python筛选Excel中名称先修改后还原的ID

需求说明

给定包含ID、Name、Date三列的Excel数据,需筛选出ID对应的名称先从初始值修改,之后又变回初始值的记录,最终仅返回符合条件的ID(如示例中的999)。

实现步骤

1. 安装依赖

需要用到pandas处理数据,openpyxl读取Excel文件,执行以下命令安装:

pip install pandas openpyxl

2. 代码实现

import pandas as pd

# 读取Excel文件,替换为你的文件路径
df = pd.read_excel('your_data.xlsx')

# 将Date列转为日期类型,确保按时间顺序排序
df['Date'] = pd.to_datetime(df['Date'])
# 按ID分组,每组内按日期排序
grouped_data = df.sort_values('Date').groupby('ID')

# 判断单个ID组是否符合条件的函数
def check_reverted_name(group):
    name_sequence = group['Name'].tolist()
    original_name = name_sequence[0]
    modified_flag = False
    # 遍历后续名称,检查是否出现"初始值→修改值→初始值"的过程
    for name in name_sequence[1:]:
        if name != original_name:
            modified_flag = True
        # 一旦检测到修改后又回到初始值,立即返回True
        elif modified_flag and name == original_name:
            return True
    return False

# 筛选符合条件的ID并去重
qualified_ids = grouped_data.filter(check_reverted_name)['ID'].unique()

# 整理成结果DataFrame并输出
result = pd.DataFrame({'ID': qualified_ids})
print(result)
# 可选:将结果保存到Excel
# result.to_excel('qualified_ids.xlsx', index=False)

3. 示例运行结果

执行代码后,输出结果如下:

ID
999

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:40:25