如何在Pandas DataFrame中基于两列提取唯一值并导出为CSV?
解决DataFrame多列组合去重并保存为CSV的方案
别担心,处理多列组合去重其实比你想的简单,Pandas里有专门的方法可以直接搞定你的需求,完全不用纠结unique()只适用于单Series的问题。这里给你最直接的解决方案:
核心方法:使用drop_duplicates()
drop_duplicates()是Pandas DataFrame的内置方法,专门用来处理重复行,你可以通过subset参数指定要基于哪几列的组合判断重复,完美匹配你的需求。
代码示例
import pandas as pd # 假设你的df1已经创建完成 # 针对PL和IN列的组合去重,默认保留每组唯一组合的第一行 unique_df = df1.drop_duplicates(subset=['PL', 'IN']) # 将去重后的结果保存为CSV,index=False避免把索引列也写入文件 unique_df.to_csv('unique_pl_in_combinations.csv', index=False)
参数细节说明
subset=['PL', 'IN']:明确告诉Pandas,只根据这两列的组合来判断是否重复,其他列(如果存在)不会干扰去重逻辑- 如果你想保留每组重复组合的最后一行,可以添加
keep='last'参数;如果想删除所有出现过重复的行(只留完全无重复的记录),用keep=False,不过你的需求用默认的keep='first'就足够了
验证去重结果
如果你想提前确认去重后的内容,直接打印unique_df就能看到你期望的结果:
PL IN 0 22 NE22 1 33 DE33 2 66 NL66
内容的提问来源于stack exchange,提问作者martin
相关产品推荐
相关产品推荐

