123456789101112131415161718192021222324252627282930313233343536373839 |
- 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}%")
|