基于两个CSV文件图片名匹配生成目标CSV文件的技术求助
匹配两个CSV文件生成目标文件
需求说明
现有两个CSV文件:
main_predicted.csv:4500+条记录,包含imgs(图片名称)和pred(预测结果)字段labels.csv:568条记录,包含imgs字段
需要匹配两者的imgs列,生成仅包含匹配成功的imgs和pred字段的新CSV文件。
修改后的代码实现
import pandas as pd # 读取两个源CSV文件,注意路径需与实际文件位置一致 main_predicted = pd.read_csv('main_predicted.csv') labels = pd.read_csv('labels.csv') # 筛选出main_predicted中imgs存在于labels中的记录 matched_data = main_predicted[main_predicted['imgs'].isin(labels['imgs'])] # 确保只保留需要的imgs和pred字段 matched_data = matched_data[['imgs', 'pred']] # 保存匹配后的结果到新CSV文件 matched_data.to_csv('evaluation/cls_ref/res/matched_iid.csv', index=False)
补充优化说明
- 如果
labels.csv的imgs列存在重复值,可先去重再匹配,避免重复筛选:# 对labels的imgs列去重 unique_labels_imgs = labels['imgs'].drop_duplicates() matched_data = main_predicted[main_predicted['imgs'].isin(unique_labels_imgs)] - 若需要更精确的匹配(比如处理字符串首尾空格、大小写差异),可先对
imgs列做清洗:# 去除字符串两端空格并统一转为小写 main_predicted['imgs'] = main_predicted['imgs'].str.strip().str.lower() labels['imgs'] = labels['imgs'].str.strip().str.lower()
内容的提问来源于stack exchange,提问作者Khawar Islam
相关产品推荐
相关产品推荐

