如何实现DataFrame首列重复单元格合并仅留首个值不删除行
实现方法
核心逻辑为通过pandas的duplicated()方法识别首列非首次出现的重复值,将对应位置赋值为空字符串即可,全程不改动其他列内容和总行数。
完整代码示例
import pandas as pd # 构造示例DataFrame df = pd.DataFrame({ 'COL 1': ['Mike', 'Mike', 'Mike'], 'COL 2': ['Test 1', 'Test 2', 'Test 3'] }) # 首列重复值仅保留第一个,其余置空 df.loc[df['COL 1'].duplicated(keep='first'), 'COL 1'] = '' # 输出结果 print(df)
输出效果
COL 1 COL 2 0 Mike Test 1 1 Test 2 2 Test 3
该方法同样适用于首列存在多组不同重复值的场景,比如首列取值为['Mike','Mike','Bob','Bob']时,处理后会保留第一个Mike和第一个Bob,其余重复位置自动置空。如果需要保留原始DataFrame不被修改,可提前复制副本再操作:
df_processed = df.copy() df_processed.loc[df_processed['COL 1'].duplicated(keep='first'), 'COL 1'] = ''
内容的提问来源于stack exchange,提问作者SMS
相关产品推荐
相关产品推荐

