import os import pandas as pd from glob import glob # 定义路径 targets_dir = r"D:\PythonProject\Model\output_20250329_140816_results\targets_all_True" csv_file = r"D:\PythonProject\Model\output_20250329_140816_results\detection_report.csv" output_csv = r"D:\PythonProject\Model\output_20250329_140816_results\detection_report_updated.csv" # 获取所有确认的阳性目标文件名 target_files = os.listdir(targets_dir) # 从目标文件名中提取原始图像名称 confirmed_positives = set() for target_file in target_files: # 提取原始图像名称(去掉时间戳和索引部分) parts = target_file.split('_') original_name = '_'.join(parts[:-2]) + '.jpg' # 移除最后的时间戳和索引 confirmed_positives.add(original_name) # 读取CSV文件 df = pd.read_csv(csv_file) # 添加新的标记列 df['Confirmed Positive'] = df['Image File'].apply(lambda x: os.path.basename(x) in confirmed_positives) # 保存更新后的CSV文件 df.to_csv(output_csv, index=False) print(f"处理完成!已更新 {len(confirmed_positives)} 个确认的阳性样本。") print(f"更新后的CSV文件已保存至:{output_csv}") # 显示统计信息 total_images = len(df) confirmed_positive_count = df['Confirmed Positive'].sum() print(f"\n统计信息:") print(f"总图像数:{total_images}") print(f"确认阳性数:{confirmed_positive_count}") print(f"确认阳性比例:{confirmed_positive_count/total_images*100:.2f}%")