File size: 1,357 Bytes
f06f310
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import pandas as pd
import argparse

def calculate_metrics(file_path, start_row, end_row):
    # Read the Excel file
    df = pd.read_excel(file_path)
    
    # Select the rows within the given range (note: start_row and end_row are 1-based row numbers)
    data = df.iloc[start_row-1:end_row]
    
    # Calculate mean and standard deviation
    epe_mean = data['middleburyH-epe'].mean()
    epe_std = data['middleburyH-epe'].std()
    d1_mean = data['middleburyH-d1'].mean()
    d1_std = data['middleburyH-d1'].std()
    
    # Print the results
    print(f"middleburyH-epe Mean: {epe_mean:.2f}, Standard Deviation: {epe_std:.2f}")
    print(f"middleburyH-d1 Mean: {d1_mean:.2f}, Standard Deviation: {d1_std:.2f}")
    print(f"{epe_mean:.2f}+-{epe_std:.2f}    {d1_mean:.2f}+-{d1_std:.2f}")

if __name__ == "__main__":
    # Set up command-line arguments
    parser = argparse.ArgumentParser(description="Calculate metrics for specified rows in an Excel file.")
    parser.add_argument("file_path", type=str, help="Path to the Excel file")
    parser.add_argument("start_row", type=int, help="Start row (1-based index)")
    parser.add_argument("end_row", type=int, help="End row (1-based index)")
    
    args = parser.parse_args()
    
    # Call the function and pass the parameters
    calculate_metrics(args.file_path, args.start_row, args.end_row)