-
Notifications
You must be signed in to change notification settings - Fork 0
/
run_stats.py
187 lines (184 loc) · 8.38 KB
/
run_stats.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
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
import math
# The list of corresponding countries is generated by ChatGPT3
university_countries = {
'Yerevan State Medical University': 'Armenia',
'University of California': 'United States',
'University of California, Berkeley': 'United States',
'Armenian State University of Economics': 'Armenia',
'University of Bari': 'Italy',
'University of California, Los Angeles': 'United States',
'University of Manchester': 'United Kingdom',
'University of Wisconsin–Madison': 'United States',
'University of Edinburgh': 'United Kingdom',
'Gavar State University': 'Armenia',
'University of Arizona': 'United States',
'Rutgers University - Newark': 'United States',
'University of Vienna': 'Austria',
'Paris-Saclay University': 'France',
'University of Cambridge': 'United Kingdom',
'Sapienza University of Rome': 'Italy',
'Politecnico di Milano': 'Italy',
'Duke University': 'United States',
'Moscow Technical University of Communications and Informatics': 'Russia',
'University of Colorado Boulder': 'United States',
'Concordia University': 'Canada',
'Princeton University': 'United States',
'St. Petersburg State University': 'Russia',
'KU Leuven': 'Belgium',
'Utrecht University': 'Netherlands',
'Shanghai Jiao Tong University': 'China',
'City, University of London': 'United Kingdom',
'Stony Brook University': 'United States',
'Université Laval': 'Canada',
'American University of Armenia': 'Armenia',
'Georgetown University in Qatar': 'Qatar',
'Cardiff University': 'United Kingdom',
'Vrije Universiteit Amsterdam': 'Netherlands',
'Paris Dauphine University': 'France',
'National University of Architecture and Construction of Armenia': 'Armenia',
'Massachusetts Institute of Technology': 'United States',
'University of Bath': 'United Kingdom',
'University of British Columbia': 'Canada',
'Ludwig Maximilian University of Munich': 'Germany',
'Northwestern University': 'United States',
'RWTH Aachen University': 'Germany',
'University of Southern California': 'United States',
'Tsinghua University': 'China',
'Purdue University': 'United States',
'National Polytechnic University of Armenia': 'Armenia',
'University of Copenhagen': 'Denmark',
'New York University Shanghai': 'China',
'European University of Armenia': 'Armenia',
'University of Bern': 'Switzerland',
'Arizona State University': 'United States',
'University of Amsterdam': 'Netherlands',
'The Chinese University of Hong Kong': 'Hong Kong',
'Columbia University': 'United States',
'Armenian National Academy of Sciences': 'Armenia',
'University of Bucharest': 'Romania',
'Cornell University': 'United States',
'Russian State University of Management': 'Russia',
'National Research Nuclear University "MEPhI"': 'Russia',
'Russian-Armenian University': 'Armenia',
'Moscow Institute of Physics and Technology': 'Russia',
'University Of California, Berkeley': 'United States',
'Armenian Genocide Museum-Institute': 'Armenia',
'Public Administration Academy of RA': 'Armenia',
'École polytechnique': 'France',
'Sorbonne University': 'France',
'University of Michigan': 'United States',
'Central European University': 'Hungary',
'Armenian National Agrarian University': 'Armenia',
'Academy of Public Administration of the Republic of Armenia': 'Armenia',
'University College London': 'United Kingdom',
'University of Texas at Austin': 'United States',
'Yerevan State University': 'Armenia',
'Georgia Institute of Technology': 'United States',
'Grenoble Institute of Technology': 'France',
'CANDLE: Synchrotron Research Institute': 'Armenia',
'University of Oxford': 'United Kingdom',
'The University of Queensland': 'Australia',
'Erasmus University Rotterdam': 'Netherlands',
'Harbin Institute of Technology': 'China',
'University of Florida': 'United States',
'University of Melbourne': 'Australia',
'RA Academy of State Management': 'Armenia',
'Weizmann Institute of Science': 'Israel',
'French-German Higher Engineering Institute in Armenia': 'Armenia',
'ENSAE Paris': 'France',
'Georgetown University': 'United States',
'Yale University': 'United States',
"King's College London": 'United Kingdom',
'Université Jean Moulin Lyon 3': 'France',
'Technical University of Munich': 'Germany',
'University of Waterloo': 'Canada',
'University of California, San Diego': 'United States',
'University of Toronto': 'Canada',
'Gubkin Russian State University of Oil and Gas': 'Russia',
'A.I. Alikhanyan National Science Laboratory': 'Armenia',
'Brown University': 'United States',
'Zhejiang University': 'China',
'University of North Carolina at Chapel Hill': 'United States',
'ETH Zurich': 'Switzerland',
'Warsaw University': 'Poland',
'D. Mendeleev University of Chemical Technology of Russia': 'Russia',
'Heidelberg University': 'Germany',
'University of Washington': 'United States',
'Palacký University Olomouc': 'Czech Republic',
'Delft University of Technology': 'Netherlands',
'State Academy of Fine Arts of Armenia': 'Armenia',
'Hong Kong Polytechnic University': 'Hong Kong',
'Higher School of Economics (Russia)': 'Russia',
'University of Chicago': 'United States',
'University of Liverpool': 'United Kingdom',
'New York University': 'United States',
'Moscow State University Branch in Yerevan': 'Armenia',
'Paris 1 Panthéon-Sorbonne University': 'France',
'University of Bonn': 'Germany',
'University of Maryland, College Park': 'United States',
'University of Lisbon': 'Portugal',
'University of Zurich': 'Switzerland',
'Aix-Marseille University': 'France',
'French University in Armenia': 'Armenia',
'Tilburg University': 'Netherlands',
'University of Electronic Science and Technology of China': 'China',
'Johns Hopkins University': 'United States',
'Armenian State Pedagogical University': 'Armenia',
'École Polytechnique Fédérale de Lausanne': 'Switzerland',
'Vanadzor State University': 'Armenia',
'Harvard University': 'United States',
'University of Pennsylvania': 'United States',
'Bocconi University': 'Italy',
'University of Minnesota, Twin Cities': 'United States',
'Peking University': 'China',
'University of Illinois Urbana-Champaign': 'United States'
}
def read(path):
with open(path, 'r', encoding='utf-8') as f:
temp = []
lines = f.readlines()
for x in lines:
temp.append(x.strip())
return temp
years = [2018, 2019, 2020, 2021, 2022, 2023]
for year in years:
print(f"############## YEAR {year} ##############")
datasets = [f'./{year}/b.txt', f'./{year}/m.txt', f'./{year}/p.txt']
names = ["Bachelor's Degree", "Master's Degree", "PhD"]
for (index, x) in enumerate(datasets):
name = names[index]
degree = read(x)
unique = list(set(degree))
counts_by_university = []
for x in unique:
count_by_university = degree.count(x)
counts_by_university.append(count_by_university)
print("------------------------------------------------")
print(f"{year} {name} students")
print("# Count by university\n")
for (index, x) in enumerate(unique):
print(x,";", counts_by_university[index])
counts_by_country = {}
for (index, x) in enumerate(unique):
country = university_countries.get(x)
if counts_by_country.get(country):
counts_by_country[country] += counts_by_university[index]
else:
counts_by_country[country] = counts_by_university[index]
print("---------------")
print("# Count by Country\n")
for x in counts_by_country.keys():
print(x,";", counts_by_country.get(x))
total = sum(counts_by_university)
print(f"TOTAL {name} STUDENTS: {total}")
ARM_count = counts_by_country.get("Armenia")
percentage = 100
if ARM_count != 0:
percentage = math.ceil((1 - ARM_count/total) * 100)
print(f"Percentage of foreign universities: {percentage}%")
print("#"*60)
print("YEARLY STATISTICS")
# TODO implement yearly statistics
print("#"*60)
print("LIFETIME STATISTICS")
# TODO implement Lifetime statistics