-
Notifications
You must be signed in to change notification settings - Fork 0
/
proportions.py
56 lines (45 loc) · 1.53 KB
/
proportions.py
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
import pandas as pd
import csv
import sys
def process_df(path):
stamps = {}
with open(path, "rU") as input:
reader = csv.reader(input)
reader.next()
for row in reader:
if row[1]:
temp_stamps = [x.strip() for x in row[1].split("--")]
temp_stamps.sort(key = lambda x: int(x.split("_")[0]))
stamps[row[0]] = temp_stamps
else:
stamps[row[0]] = []
return stamps
if __name__ == "__main__":
df1 = sys.argv[1]
df2 = sys.argv[2]
stamps1 = process_df(df1)
stamps2 = process_df(df2)
stamps1_count = sum([len(x) for k, x in stamps1.items()])
stamps2_count = sum([len(x) for k, x in stamps2.items()])
end9_count1 = 0
for k, v in stamps2.items():
for x in v:
if x[-1] == "9" or x.split("_")[0][-1] == "9":
end9_count1 += 1
end_not09_count = 0
for k, v in stamps2.items():
for x in v:
if x[-1] not in ["9", "0"] or x.split("_")[0][-1] not in ["9", "0"]:
end_not09_count += 1
end_0_count = 0
for k, v in stamps2.items():
for x in v:
if x[-1] == "0" and x.split("_")[0][-1] == "0":
end_0_count += 1
end_9_and_other_count = 0
for k, v in stamps2.items():
for x in v:
if (x[-1] == "9" and x.split("_")[0][-1] not in ["9", "0"]) or \
(x[-1] not in ["9", "0"] and x.split("_")[0][-1] == "9"):
end_9_and_other_count += 1
print