Commit 0bc24b09 authored by Joaquin Torres's avatar Joaquin Torres

Fixed cv metrics

parent 66555965
import pandas as pd
def swap_fp_fn_rows(excel_path, output_path):
# Load the Excel file
excel_data = pd.ExcelFile(excel_path)
# Create a Pandas ExcelWriter using the xlsxwriter engine
with pd.ExcelWriter(output_path, engine='xlsxwriter') as writer:
# Iterate through each sheet in the Excel file
for sheet_name in excel_data.sheet_names:
# Read the current sheet into a DataFrame, setting the first column as the index
df = excel_data.parse(sheet_name, index_col=0)
# Convert index to string if it's not already to handle string operations
df.index = df.index.map(str)
# Identify all rows containing 'FP' and 'FN' for swapping
fp_rows = df.filter(like='_FP', axis=0)
fn_rows = df.filter(like='_FN', axis=0)
# Swap values between FP and FN rows for each corresponding pair
for fp_index, fn_index in zip(fp_rows.index, fn_rows.index):
# Temporary store FN row
temp = df.loc[fn_index].copy()
# Swap rows
df.loc[fn_index] = df.loc[fp_index]
df.loc[fp_index] = temp
# Write the modified DataFrame back to the Excel file without adding an index column
df.to_excel(writer, sheet_name=sheet_name, index=True, index_label=None)
print(f"Swapped FP and FN rows in '{excel_path}' and saved to '{output_path}'.")
# Path to your existing Excel file
input_excel_path = '../output_cv_metrics/metrics.xlsx'
# Path where the modified Excel file will be saved
output_excel_path = '../output_cv_metrics/metrics_fixed.xlsx'
# Call the function
swap_fp_fn_rows(input_excel_path, output_excel_path)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment