-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathexample26.py
More file actions
81 lines (66 loc) · 2.29 KB
/
example26.py
File metadata and controls
81 lines (66 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
def read_file(file_name):
with open(f"{file_name}.txt") as f:
lines = f.readlines()
for i, line in enumerate(lines):
lines[i] = line.replace("\n", "").split("\t")
return lines
"""
count = 0
total = 0
for i in range(1, len(diabetes_data)):
if int(diabetes_data[i][4]) > 55 and diabetes_data[i][3] != "NA":
total += float(diabetes_data[i][3])
count += 1
average = total / count
print(average)
"""
def gen_dict(file_name):
data = read_file(file_name)
column_num = len(data[0])
dictionary = {}
for i in range(column_num):
sutun = []
for j in range(1, len(data)):
sutun.append(data[j][i])
dictionary.update({data[0][i]: sutun})
return dictionary
def find_na(dicti):
dicti_na = {}
for key in dicti.keys():
count_key = 0
for val in dicti[key]:
if val == "NA":
count_key += 1
dicti_na.update({key: count_key})
return dicti_na
def find_min_max(lookup, minim, maxim, target, dicti):
target_min = 99999
target_max = 0
for i, val in enumerate(dicti[lookup]):
if val != "NA" and dicti[target][i] != "NA":
if maxim >= float(val) >= minim:
if float(dicti[target][i]) < target_min:
target_min = float(dicti[target][i])
if float(dicti[target][i]) > target_max:
target_max = float(dicti[target][i])
return (target_min, target_max)
def filter_dict(lookup, minim, maxim, dicti):
f_dict = dicti.copy()
for key in f_dict.keys():
f_dict.update({key: []})
for i, val in enumerate(dicti[lookup]):
if val != "NA":
if maxim >= float(val) >= minim:
for key in f_dict.keys():
f_dict[key].append(dicti[key][i])
return f_dict
if __name__ == "__main__":
diabetes_data = read_file("diabetes_data")
diabetes_dict = gen_dict("diabetes_data")
filtered = filter_dict("Age", 26, 28, diabetes_dict)
print(diabetes_dict.keys())
print(find_na(diabetes_dict))
print(find_min_max("Age", 20, 30, "blood_pressure", diabetes_dict))
print(find_min_max("Age", 20, 30, "serum_insulin", diabetes_dict))
print(find_min_max("serum_insulin", 20, 50, "Age", diabetes_dict))
print(filtered)