Advertisement
Guest User

Untitled

a guest
Dec 13th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.45 KB | None | 0 0
  1. import json
  2.  
  3.  
  4. def print_json(json_data):
  5.     print(json.dumps(json_data, ensure_ascii=False, indent=4, sort_keys=False))
  6.  
  7.  
  8. def median(sorted_lst):
  9.     n = len(sorted_lst)
  10.     if n < 1:
  11.             return None
  12.     if n % 2 == 1:
  13.             return sorted_lst[n//2]
  14.     else:
  15.             return sum(sorted_lst[n//2-1:n//2+1])/2
  16.  
  17.  
  18. def get_data(filename):
  19.     file_data = dict()
  20.     fp = open(filename)
  21.     for i, line in enumerate(fp, 1):
  22.         if i > 3:
  23.             str_values = line.split('\t')
  24.             if len(str_values) == 16:
  25.                 event = str_values[1]
  26.                 avgtsmr = int(str_values[15])
  27.  
  28.                 if not file_data.get(event):
  29.                     file_data[event] = [avgtsmr]
  30.                 else:
  31.                     file_data[event].append(avgtsmr)
  32.     fp.close()
  33.     return file_data
  34.  
  35. # ---------------------------------------- Start ----------------------------------------
  36.  
  37. file_data = get_data('mini_stat.txt')
  38. results = dict()
  39. #print_json(file_data)
  40.  
  41. for key in file_data:
  42.     values_count = len(file_data[key])
  43.     file_data[key] == sorted(file_data[key])
  44.  
  45.     min_result = min(file_data[key])
  46.     median_result = median(file_data[key])
  47.     90_percents = values_count
  48.  
  49.  
  50.  
  51.     if results.get(key):
  52.         results[key]['min'] = min_result
  53.     else:
  54.         results[key] = dict()
  55.         results[key]['min'] = min_result
  56.         results[key]['50%'] = median_result
  57.  
  58. print_json(results)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement