如何使用Pandas去除数据列中的重复值?
Pandas清理CSV重复行解决方案
针对你要保留每组完整信息、去除后续重复/空值行的需求,提供两种实用方法:
方法一:分组提取非空首值
假设数据按某关键列(如ID)分组,每组仅首行有完整数据,后续行为空/重复值:
import pandas as pd # 读取原始CSV df = pd.read_csv("your_input.csv") # 按关键列分组,保留每列第一个非空值 cleaned_df = df.groupby("ID", as_index=False).first() # 导出清理后的数据 cleaned_df.to_csv("cleaned_output.csv", index=False)
方法二:填充空值后去重
如果数据是首行有值、后续行对应字段为空,可先向前填充空值再去重:
import pandas as pd df = pd.read_csv("your_input.csv") # 将空字符串转为NaN(如果原始空值是""的话) df.replace("", pd.NA, inplace=True) # 向前填充空值,用上一行的非空值填充当前行空缺 df_filled = df.ffill() # 移除完全重复的行 cleaned_df = df_filled.drop_duplicates() cleaned_df.to_csv("cleaned_output.csv", index=False)
适配提示
- 把代码中的
"ID"替换为你实际用来分组的列名(比如用户编号、订单ID等) - 如果原始CSV的空值标记不是空字符串,根据实际情况调整
replace的参数
内容的提问来源于stack exchange,提问作者JackD27
相关产品推荐
相关产品推荐

