module.py
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 ini={}
00012 cm_kernel=None
00013
00014
00015 import math
00016 import numpy as np
00017
00018
00019 def init(i):
00020 return {'cm_return':0}
00021
00022
00023 def process(i):
00024 """
00025 Analyze variation of variables
00026
00027 Input: {
00028 array - dictionary of format
00029 {
00030 "varA":[valueA1, valueA2, ...],
00031 "varB":[valueB1, valueB2, ...],
00032 ...
00033 }
00034 }
00035
00036 Output: {
00037 cm_return - if =0, success
00038 array - dictionary of format
00039 {
00040 "varA":{
00041 "min" - min value
00042 "max" - max value
00043 "delta" - max-min
00044 "percent_delta_to_min" - delta/min
00045 "mean" - mean
00046 "std" - standard deviation
00047 "percent_std_to_min" - standard deviation/min
00048 }
00049 ...
00050 }
00051 }
00052 """
00053
00054 a=i.get('array',{})
00055 b={}
00056
00057 for var in a:
00058
00059 aa=a[var]
00060
00061 fa=[]
00062 for v in aa:
00063 fa.append(float(v))
00064 nfa=np.array(fa)
00065
00066 dmin=np.min(nfa)
00067 dmax=np.max(nfa)
00068 delta=dmax-dmin
00069 dmean=np.mean(nfa)
00070 dstd=np.std(nfa)
00071
00072
00073 b[var]={'min':str(dmin),
00074 'max':str(dmax),
00075 'delta':str(delta),
00076 'percent_delta_to_min':str(delta/dmin),
00077 'mean':str(dmean),
00078 'std':str(dstd),
00079 'percent_std_to_min':str(dstd/dmin)}
00080
00081 return {'cm_return':0, 'array':b}