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

基于Python pandas按列筛选开发Excel数据库时去除首列重复值

实现方案

核心逻辑

不需要逐组遍历拼接DataFrame,直接利用pandas的重复值标记功能,保留每个FromTo分组首行的取值,同组其余行的FromTo列置空即可,其余字段完全保留原始值和顺序,代码简洁且运行效率更高。

完整实现代码

import pandas as pd

# 读取原始Excel文件,替换为实际文件路径
raw_df = pd.read_excel("原始数据文件.xlsx")

# 标记FromTo列的重复值,每个分组仅保留第一行的取值,其余行置空
# 若需要按FromTo值排序分组,可替换为:raw_df = raw_df.sort_values(by="FromTo", ignore_index=True)
raw_df["FromTo"] = raw_df["FromTo"].where(~raw_df["FromTo"].duplicated(keep="first"), "")

# 按指定字段顺序输出结果文件,关闭行索引导出
output_columns = ["FromTo", "B#", "Bname", "Id", "Mend"]
raw_df[output_columns].to_excel("规范格式数据库.xlsx", index=False)

可选调整项

  • 若需要保持FromTo值在原始文件中的出现顺序,不需要额外排序,直接执行重复值置空逻辑即可
  • 若需要分组内按其他字段(如Id、Mend)排序,可在置空操作前添加排序代码,例如raw_df = raw_df.sort_values(by=["FromTo", "Id"], ignore_index=True),排序后依然能保证分组首行正确显示FromTo值
  • 若原始数据存在FromTo为空的异常行,建议在读取数据后先做过滤或填充处理,避免出现分组错乱

内容的提问来源于stack exchange,提问作者The P Guy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 23:51:22