使用pandas对比两个CSV文件,找出第一个CSV独有的code值
用Pandas筛选CSV指定记录的实现方案
需求说明
从第一个包含Code、Aid列的CSV中,筛选出Code值未出现在第二个CSV的com_code列中的记录。
代码实现
import pandas as pd # 读取两个CSV文件(替换为你的实际文件路径) df1 = pd.read_csv('first_file.csv') df2 = pd.read_csv('second_file.csv') # 提取第二个文件中所有唯一的com_code值集合 valid_codes = set(df2['com_code'].unique()) # 筛选df1中Code不在参照集合内的记录,并去重(匹配期望输出格式) filtered_result = df1[~df1['Code'].isin(valid_codes)].drop_duplicates() # 重置索引让输出更整洁 filtered_result = filtered_result.reset_index(drop=True) # 打印结果或保存到CSV print(filtered_result) # filtered_result.to_csv('output.csv', index=False)
关键逻辑解释
df1['Code'].isin(valid_codes):判断df1的Code值是否存在于参照集合中~:对判断结果取反,保留不在参照集合内的记录drop_duplicates():因为原df1中存在重复的78909记录,而期望输出仅保留一条,所以添加此步骤;若需保留所有重复记录,可直接移除该方法
内容的提问来源于stack exchange,提问作者BHUVANESHWARAN D
相关产品推荐
相关产品推荐

