diff --git a/media.py b/media.py new file mode 100644 index 0000000000000000000000000000000000000000..fcafc5c44442cb163f46a6f3ef45cc288187c719 --- /dev/null +++ b/media.py @@ -0,0 +1,35 @@ +import csv +from collections import defaultdict + +def calculate_average_elapsed(csv_file): + # Diccionario para almacenar la suma y el recuento de "elapsed" para cada "threadName" + sums_and_counts = defaultdict(lambda: [0, 0]) + + # Leer el archivo CSV + with open(csv_file, 'r') as file: + reader = csv.DictReader(file) + + # Omitir la primera fila (encabezados) + next(reader) + + # Iterar sobre las filas restantes + for row in reader: + threadName = row['threadName'] + elapsed = int(row['elapsed']) + + # Actualizar la suma y el recuento para el "threadName" actual + sums_and_counts[threadName][0] += elapsed + sums_and_counts[threadName][1] += 1 + + # Calcular la media de "elapsed" para cada "threadName" + averages = {threadName: sums_and_counts[threadName][0] / sums_and_counts[threadName][1] for threadName in sums_and_counts} + + # Escribir los resultados en un nuevo archivo CSV + with open('medPeque.csv', 'w', newline='') as file: + writer = csv.writer(file) + writer.writerow(['threadName', 'average_elapsed']) + averages = sorted(averages.items(), key=lambda x: x[0]) + for threadName, average_elapsed in averages: + writer.writerow([threadName, average_elapsed]) + +calculate_average_elapsed('medidasPeque.csv') \ No newline at end of file