Showing
2 changed files
with
27 additions
and
1 deletions
... | @@ -216,6 +216,7 @@ data = { | ... | @@ -216,6 +216,7 @@ data = { |
216 | # "몽타주": "", | 216 | # "몽타주": "", |
217 | # "명당": "", | 217 | # "명당": "", |
218 | } | 218 | } |
219 | +#500만 이상 + 스크린 수당 매출액 50위 이상 => 79개 영화, 730개 노드, 9348개 엣지 | ||
219 | 220 | ||
220 | def named_union(graph1, graph2): #두 그래프 합성 | 221 | def named_union(graph1, graph2): #두 그래프 합성 |
221 | A = graph1.copy() | 222 | A = graph1.copy() |
... | @@ -274,6 +275,7 @@ frequency[top[len(top) - 1]] = 1 | ... | @@ -274,6 +275,7 @@ frequency[top[len(top) - 1]] = 1 |
274 | G = Graph.Full(len(top)) | 275 | G = Graph.Full(len(top)) |
275 | G.vs["name"] = top[:] | 276 | G.vs["name"] = top[:] |
276 | G.vs["label"] = G.vs["name"][:] | 277 | G.vs["label"] = G.vs["name"][:] |
278 | +topTmp = data["명량"] | ||
277 | del data["명량"] | 279 | del data["명량"] |
278 | 280 | ||
279 | for movie in data: | 281 | for movie in data: |
... | @@ -302,6 +304,9 @@ for movie in data: | ... | @@ -302,6 +304,9 @@ for movie in data: |
302 | weight[join]["audiences"] += audiences[movie] | 304 | weight[join]["audiences"] += audiences[movie] |
303 | weight[join]["count"] += 1 | 305 | weight[join]["count"] += 1 |
304 | 306 | ||
307 | +for f in sorted(list(frequency.keys()), key=lambda x: frequency[x], reverse=True)[:10]: | ||
308 | + print(f, frequency[f]) | ||
309 | + | ||
305 | print("\n<같은 영화에 같이 출연한 빈도수>") | 310 | print("\n<같은 영화에 같이 출연한 빈도수>") |
306 | topten = sorted(keys, key=lambda n: weight[n]["count"], reverse=True)[:10] | 311 | topten = sorted(keys, key=lambda n: weight[n]["count"], reverse=True)[:10] |
307 | for t in topten: | 312 | for t in topten: |
... | @@ -343,6 +348,27 @@ egSorted = sorted(eg, reverse=True)[:10] | ... | @@ -343,6 +348,27 @@ egSorted = sorted(eg, reverse=True)[:10] |
343 | topEg = sorted(names1, key=lambda n: eg[names2.index(n)], reverse=True)[:10] | 348 | topEg = sorted(names1, key=lambda n: eg[names2.index(n)], reverse=True)[:10] |
344 | printResult(topEg, egSorted, 5, 8, 10) | 349 | printResult(topEg, egSorted, 5, 8, 10) |
345 | 350 | ||
351 | +avgOfBn = [] | ||
352 | +totalBn = 0 | ||
353 | +topActors = topTmp.split(",") | ||
354 | +for actor in topActors: | ||
355 | + i = names.index(actor) | ||
356 | + totalBn += bn[i] | ||
357 | +avgOfBn.append({"movie":"명량", "avgOfBn":totalBn / len(topActors)}) | ||
358 | + | ||
359 | +for movie in data: | ||
360 | + totalBn = 0 | ||
361 | + actors = data[movie].split(",") | ||
362 | + for actor in actors: | ||
363 | + i = names.index(actor) | ||
364 | + totalBn += bn[i] | ||
365 | + avgOfBn.append({"movie":movie, "avgOfBn":totalBn / len(actors)}) | ||
366 | + | ||
367 | +print("\n<average of betweenness>") | ||
368 | +avgOfBnSorted = sorted(avgOfBn, key=lambda n: n["avgOfBn"], reverse=True)[:10] | ||
369 | +for a in avgOfBnSorted: | ||
370 | + print(a["movie"], a["avgOfBn"]) | ||
371 | + | ||
346 | print("\n<total nodes>") | 372 | print("\n<total nodes>") |
347 | print(len(G.vs)) | 373 | print(len(G.vs)) |
348 | 374 | ||
... | @@ -362,4 +388,4 @@ out = plot(G, | ... | @@ -362,4 +388,4 @@ out = plot(G, |
362 | ) | 388 | ) |
363 | out.save("test.png") | 389 | out.save("test.png") |
364 | 390 | ||
365 | -#C:\Users\ghdms\2014104137\소스코드\movie.py | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
391 | +#C:\Users\ghdms\2014104137\소스코드\centrality.py | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
소스코드/movie.py
deleted
100644 → 0
This diff is collapsed. Click to expand it.
-
Please register or login to post a comment