如何用Python的pandas库基于公共索引匹配两个CSV文件并筛选数据
筛选匹配默认索引行的实现方案
以下操作基于Python的pandas库完成:
- 第一步:读取两个CSV文件为DataFrame,读取时pandas会自动生成默认整数行索引,无需额外设置
import pandas as pd df_clean = pd.read_csv("CSV_Cleaned.csv") df_unclean = pd.read_csv("CSV_Uncleaned.csv")
- 第二步:执行索引匹配筛选
# 常规情况:两个DataFrame均未手动修改过默认索引,直接按clean的索引取值即可 df_matched = df_unclean.loc[df_clean.index]
特殊场景处理:如果两个DataFrame曾被手动修改过索引,导致默认索引不是从0开始的连续整数,可以先重置索引再筛选,避免匹配错误:
# 重置两个DataFrame的索引为默认的0开头连续整数,drop=True避免生成额外的index列 df_clean = df_clean.reset_index(drop=True) df_unclean = df_unclean.reset_index(drop=True) # 再执行筛选 df_matched = df_unclean.loc[df_clean.index]
- 第三步:可选,导出筛选后的结果为新CSV
# index=False设置不导出pandas默认索引为单独列,符合你的使用需求 df_matched.to_csv("matched_unclean_rows.csv", index=False)
内容的提问来源于stack exchange,提问作者Abhinav Pipil
相关产品推荐
相关产品推荐

