Pandas GroupBy实现列去重且不移动单元格位置的解决方案
首列重复值保留首个、其余置空的实现方案
核心逻辑为仅保留每组重复值的第一个展示项,同组后续行的对应位置替换为空字符串,全程不会改动其他列内容和所有行的排列顺序,3000行数据处理无性能压力。
Python(pandas)实现方案
适合批量处理、需要重复执行的场景:
- 首先安装pandas依赖(已安装可跳过)
pip install pandas
- 处理代码示例:
import pandas as pd # 1. 读取数据,可根据文件格式替换为read_excel等方法 df = pd.read_csv("你的数据文件路径.csv") # 2. 可选步骤:若原数据中同值的row/rack已经连续排列,可跳过该排序步骤 df = df.sort_values(by="row/rack", keep="first").reset_index(drop=True) # 3. 核心处理:当前行和上一行row/rack值重复时,替换为空字符串 df.loc[df["row/rack"] == df["row/rack"].shift(), "row/rack"] = "" # 4. 导出结果,sep参数用制表符可匹配你示例的分隔格式 df.to_csv("处理后结果.csv", index=False, sep="\t")
Excel 手动实现方案
适合临时处理、不想写代码的场景:
- 先将整个数据集按
row/rack列排序,保证相同值的行连续排列 - 在
row/rack列旁插入临时空白列,假设原row/rack为A列,临时列为B列 - 表头下第一行(即第二行)的B2单元格直接输入公式
=A2 - B3单元格输入公式
=IF(A3=A2,"",A3),将公式下拉填充到所有行 - 复制整列B的内容,右键选择性粘贴为「值」到A列,删除临时B列即可得到目标效果
内容的提问来源于stack exchange,提问作者Nathaniel
相关产品推荐
相关产品推荐

