|
| 1 | +import statistics |
| 2 | +import math |
| 3 | +import decimal |
| 4 | +from decimal import * |
| 5 | +getcontext().prec = 6 |
| 6 | + |
| 7 | +def GetBasicStatVal(array): |
| 8 | + if(len(array) == 0): |
| 9 | + return ("Oops! There is no data pass into array, Hava A Check!") |
| 10 | + mean = statistics.mean(array) |
| 11 | + median = statistics.mean(array) |
| 12 | + try: |
| 13 | + mode = statistics.mode(array) |
| 14 | + except statistics.StatisticsError: |
| 15 | + mode = None |
| 16 | + stdev = statistics.stdev(array) |
| 17 | + deviation = stdev/mean |
| 18 | + return [mean,median,mode,stdev,deviation] |
| 19 | + |
| 20 | +def TransToNormalData(array, interval_num): |
| 21 | + max_val = max(array) |
| 22 | + min_val = min(array) |
| 23 | + new_array = [] |
| 24 | + if(max_val == min_val): |
| 25 | + return array |
| 26 | + else: |
| 27 | + interval_val = (max_val - min_val)/interval_num |
| 28 | + plot_min_val = min_val - interval_val/2 |
| 29 | + print(interval_val) |
| 30 | + print(plot_min_val) |
| 31 | + for i in range(0,interval_num): |
| 32 | + start_val.append(plot_min_val + i*interval_val) |
| 33 | + print(start_val) |
| 34 | + for data in array: |
| 35 | + interval_index = math.floor((data - plot_min_val)/interval_val) |
| 36 | + print(interval_index) |
| 37 | + data_normal = plot_min_val + interval_index*interval_val + interval_val/2 |
| 38 | + new_array.append(data_normal) |
| 39 | + return new_array |
| 40 | + |
| 41 | +if __name__ == "__main__": |
| 42 | + test = [1,2,3,4,5,6,7,8,9,10] |
| 43 | + test2 = [n*10 for n in test] |
| 44 | + print(GetBasicStatVal(test)) |
| 45 | + print(GetBasicStatVal(test2)) |
| 46 | + #print([i/10 for i in range(1,101)]) |
| 47 | + print(TransToNormalData([i/10 for i in range(1,101)], 100)) |
0 commit comments