Skip to content

Commit 76747d8

Browse files
committed
Create data_analysis
1 parent bcdb8df commit 76747d8

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

data_analysis

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
def CalPercent(initial_value,result_value):
2+
import math
3+
raw_result_value = (result_value - initial_value)/initial_value * 100
4+
return math.floor(100*round(raw_result_value,4))/100
5+
6+
def CheckListData(single_data_array):
7+
for i in range(len(single_data_array)):
8+
try:
9+
float(single_data_array[i]);
10+
except(ValueError):
11+
print("pass-in paramter list contains non-digit element\n")
12+
13+
def GetPercentageFluctuation(single_data_array,day_gap = 1):
14+
CheckListData(single_data_array)
15+
result_array = []
16+
for i in range(len(single_data_array)):
17+
if i < day_gap:
18+
result_array.append("----")
19+
else:
20+
result_array.append\
21+
(CalPercent(single_data_array[i-day_gap],single_data_array[i]))
22+
return result_array
23+
24+
def GetAverageValue(single_data_array):
25+
CheckListData(single_data_array)
26+
data_sum = 0
27+
for i in range(len(single_data_array)):
28+
data_sum += single_data_array[i]
29+
return data_sum/len(single_data_array)
30+
31+
def GetMedianValue(single_data_array):
32+
CheckListData(single_data_array)
33+
data_array_tmp = []
34+
data_array_tmp = single_data_array
35+
data_array_tmp.sort()
36+
if(len(data_array_tmp)%2):
37+
return data_array_tmp[int((len(data_array_tmp)-1)/2)]
38+
else:
39+
return (data_array_tmp[int(len(data_array_tmp)/2)-1]\
40+
+data_array_tmp[int(len(data_array_tmp)/2)])/2
41+
42+
43+
44+
### test code
45+
import random
46+
data = []
47+
for i in range(10):
48+
data.append(round(random.uniform(1,10),2))
49+
print(data)
50+
print(GetPercentageFluctuation(data,2))
51+
print(data)
52+
print(GetAverageValue(data))
53+
54+
print(GetMedianValue(data))
55+
56+
print(data)
57+
58+
#CheckListData(data)
59+
#print(data)
60+
#data.append("abc")
61+
#print(data)
62+
#CheckListData(data)
63+
#print(data)

0 commit comments

Comments
 (0)