ghdms

파일명 수정, 데이터셋 수정, 추가 분석 진헹

...@@ -12,7 +12,7 @@ for c in cur: ...@@ -12,7 +12,7 @@ for c in cur:
12 salesPerScreens.append({"name": c["name"], "value": c["sales"] / c["screens"]}) 12 salesPerScreens.append({"name": c["name"], "value": c["sales"] / c["screens"]})
13 13
14 salesPerScreensTmp = salesPerScreens[:] 14 salesPerScreensTmp = salesPerScreens[:]
15 -salesPerScreensSorted = sorted(salesPerScreensTmp, key=lambda n: salesPerScreens[salesPerScreens.index(n)]["value"], reverse=True)[:100] 15 +salesPerScreensSorted = sorted(salesPerScreensTmp, key=lambda n: salesPerScreens[salesPerScreens.index(n)]["value"], reverse=True)[:50]
16 16
17 data = { 17 data = {
18 "명량": "최민식,류승룡,조진웅,김명곤,진구,이정현,권율,노민우,이승준,박보검,김원해,이해영,장준녕,김길동,김강일,강태영,박노식,최덕문,조복래,문영동,이주실,주석태,고경표,김태훈,한이진,최창균,신창수,김현태,정재우,김구택,이재구,조하석", 18 "명량": "최민식,류승룡,조진웅,김명곤,진구,이정현,권율,노민우,이승준,박보검,김원해,이해영,장준녕,김길동,김강일,강태영,박노식,최덕문,조복래,문영동,이주실,주석태,고경표,김태훈,한이진,최창균,신창수,김현태,정재우,김구택,이재구,조하석",
...@@ -82,67 +82,67 @@ data = { ...@@ -82,67 +82,67 @@ data = {
82 "타워": "설경구,손예진,김상경,김인권,안성기,송재호,이주실,이한위,권태원,전국향,정인기,차인표,전배수,박준혁,김성오,민영,이주하,조민아,도지한,이현조,권현상,이창용,김수진,박호영,박재웅", 82 "타워": "설경구,손예진,김상경,김인권,안성기,송재호,이주실,이한위,권태원,전국향,정인기,차인표,전배수,박준혁,김성오,민영,이주하,조민아,도지한,이현조,권현상,이창용,김수진,박호영,박재웅",
83 "투사부일체": "정준호,정웅인,김상중,정운택,강성필,최윤영,한효주,박용기,임세호,박용식,이기열,전창걸", 83 "투사부일체": "정준호,정웅인,김상중,정운택,강성필,최윤영,한효주,박용기,임세호,박용식,이기열,전창걸",
84 "독전": "조진웅,류준열,김주혁,김성령,박해준,남문철,서현우,강승현,정준원,정가람,진서연,이주영,김동영,금새록", 84 "독전": "조진웅,류준열,김주혁,김성령,박해준,남문철,서현우,강승현,정준원,정가람,진서연,이주영,김동영,금새록",
85 - "추격자": "김윤석,하정우,서영희,박효주,김유정,최정우,정인기,구본웅,민경진", 85 + "추격자": "김윤석,하정우,서영희,박효주,김유정,최정우,정인기,구본웅,민경진", #68위. 500만 이상
86 - "공작": "황정민,이성민,조진웅,주지훈,김홍파,정소리,기주봉,김응수,채용,박진영,남문철,최병모,김인우,정기섭,이승준,양현민,허승,엄지만,백승익,권범택,최정인,김소진,박혜영,김지나,곽자형,조주희", 86 + # "공작": "황정민,이성민,조진웅,주지훈,김홍파,정소리,기주봉,김응수,채용,박진영,남문철,최병모,김인우,정기섭,이승준,양현민,허승,엄지만,백승익,권범택,최정인,김소진,박혜영,김지나,곽자형,조주희",
87 - "바람과 함께 사라지다": "차태현,오지호,민효린,성동일,신정근,고창석,송종호,이채영,김길동,김향기,천보근,김구택,독고준", 87 + # "바람과 함께 사라지다": "차태현,오지호,민효린,성동일,신정근,고창석,송종호,이채영,김길동,김향기,천보근,김구택,독고준",
88 - #"님아, 그 강을 건너지 마오": "", #영화배우가 아님 88 + # #"님아, 그 강을 건너지 마오": "", #영화배우가 아님
89 - "봉오동 전투": "유해진,류준열,조우진,박지환,최유화,성유빈,이재인,홍상표,원풍연,양현민", 89 + # "봉오동 전투": "유해진,류준열,조우진,박지환,최유화,성유빈,이재인,홍상표,원풍연,양현민",
90 - "조선명탐정 : 각시투구꽃의 비밀": "김명민,한지민,오달수,최무성,우현,이재용,예수정,정인기", 90 + "조선명탐정 : 각시투구꽃의 비밀": "김명민,한지민,오달수,최무성,우현,이재용,예수정,정인기", #salesPerScreensSorted 43위
91 - "군도: 민란의 시대": "하정우,강동원,조진웅,마동석,정만식,김성균,주진모,이경영,이성민,윤지혜,김재영,송영창,김병옥,임현성,강현중", 91 + # "군도: 민란의 시대": "하정우,강동원,조진웅,마동석,정만식,김성균,주진모,이경영,이성민,윤지혜,김재영,송영창,김병옥,임현성,강현중",
92 - "남산의 부장들": "이병헌,이성민,곽도원,이희준,김소진,서현우,김승훈,박성근,지현준,박지일,이태형,주석태,이도국,김민상", 92 + # "남산의 부장들": "이병헌,이성민,곽도원,이희준,김소진,서현우,김승훈,박성근,지현준,박지일,이태형,주석태,이도국,김민상",
93 - "범죄와의 전쟁: 나쁜놈들 전성시대": "최민식,하정우,조진웅,마동석,곽도원,김성균,송영창,김종수,권태원,김종구,김혜은,김영선", 93 + # "범죄와의 전쟁: 나쁜놈들 전성시대": "최민식,하정우,조진웅,마동석,곽도원,김성균,송영창,김종수,권태원,김종구,김혜은,김영선",
94 - "신세계": "이정재,최민식,황정민,박성웅,송지효,김홍파,장광,김윤성,최일화,권태원,나광훈,박로사,주진모", 94 + # "신세계": "이정재,최민식,황정민,박성웅,송지효,김홍파,장광,김윤성,최일화,권태원,나광훈,박로사,주진모",
95 - "도가니": "정유미,공유,김현수,정인서,백승환,임현성,김주령,최진호,장광,전국환,엄효섭,권홍석,김지영,엄지성,남명렬,박혜진,김민상,장유", 95 + # "도가니": "정유미,공유,김현수,정인서,백승환,임현성,김주령,최진호,장광,전국환,엄효섭,권홍석,김지영,엄지성,남명렬,박혜진,김민상,장유",
96 - "내 아내의 모든 것": "임수정,이선균,류승룡,이광수,김효준,이도아,김은경,염해란,이새로미,이진희,하복음", 96 + # "내 아내의 모든 것": "임수정,이선균,류승룡,이광수,김효준,이도아,김은경,염해란,이새로미,이진희,하복음",
97 - "판도라": "김남길,김영애,문정희,정진영,이경영,강신일,김대명,유승목,김주현,박선희,공정환,주석태,송철호,김영웅,김태훈2,주진모,송영창,배강유,김세동,김한종,박대원,심성효,박팔영,최효상,권홍석,허선행,심영민,조덕현,손종학,김종구,장준녕,조한철,임승대,송영규,강석원,곽민석,정인기,백도빈,최명진,강태식,이승준,어성욱,형원,김태현,박용,이태형,강지원,오예설", 97 + # "판도라": "김남길,김영애,문정희,정진영,이경영,강신일,김대명,유승목,김주현,박선희,공정환,주석태,송철호,김영웅,김태훈2,주진모,송영창,배강유,김세동,김한종,박대원,심성효,박팔영,최효상,권홍석,허선행,심영민,조덕현,손종학,김종구,장준녕,조한철,임승대,송영규,강석원,곽민석,정인기,백도빈,최명진,강태식,이승준,어성욱,형원,김태현,박용,이태형,강지원,오예설",
98 - "나쁜 녀석들: 더 무비": "마동석,김상중,김아중,장기용,박효준,김인우,이재윤,박원상,조영진,박형수,박상욱,한정현,전익령,김형묵,윤병희,지승현,강영묵", 98 + # "나쁜 녀석들: 더 무비": "마동석,김상중,김아중,장기용,박효준,김인우,이재윤,박원상,조영진,박형수,박상욱,한정현,전익령,김형묵,윤병희,지승현,강영묵",
99 - "가문의 위기(가문의 영광2)": "신현준,김수미,김원희,정준하,임형준,공형진,탁재훈,정호빈,김해곤", 99 + "가문의 위기(가문의 영광2)": "신현준,김수미,김원희,정준하,임형준,공형진,탁재훈,정호빈,김해곤", #salesPerScreensSorted 21위
100 - "연가시": "김명민,문정희,김동완,이하늬,엄지성,염현서,강신일,송영창,조덕현,최정우,전국환,이형철,정인기,김세동,조한철,민경진", 100 + # "연가시": "김명민,문정희,김동완,이하늬,엄지성,염현서,강신일,송영창,조덕현,최정우,전국환,이형철,정인기,김세동,조한철,민경진",
101 - "강철비": "정우성,곽도원,김갑수,김의성,이경영,조우진,정원중,김명곤,박은혜,장현성,박선영,안미나,원진아,이재용,이윤건,김형종", 101 + # "강철비": "정우성,곽도원,김갑수,김의성,이경영,조우진,정원중,김명곤,박은혜,장현성,박선영,안미나,원진아,이재용,이윤건,김형종",
102 - "강철중: 공공의 적 1-1": "설경구,정재영,문성근,강신일,유해진,이문식,김남길,연제욱,정원중", 102 + # "강철중: 공공의 적 1-1": "설경구,정재영,문성근,강신일,유해진,이문식,김남길,연제욱,정원중",
103 - "아가씨": "김민희,김태리,하정우,조진웅,김해숙,이용녀,이동휘,곽은진,조은형", 103 + # "아가씨": "김민희,김태리,하정우,조진웅,김해숙,이용녀,이동휘,곽은진,조은형",
104 - "말아톤": "조승우,김미숙,이기영,백성현,안내상", 104 + "말아톤": "조승우,김미숙,이기영,백성현,안내상", #salesPerScreensSorted 5위
105 - "용의자": "공유,박희순,조성하,유다인,김성균,조재윤,김민재,김의성,원풍연,원진,송재림,최종률,남보라,기주봉,조석현,이용직,최태환,박지일", 105 + # "용의자": "공유,박희순,조성하,유다인,김성균,조재윤,김민재,김의성,원풍연,원진,송재림,최종률,남보라,기주봉,조석현,이용직,최태환,박지일",
106 - "건축학개론": "엄태웅,한가인,이제훈,배수지,조정석,유연석,조현철,김의성,이승호,박수영,김동주", 106 + # "건축학개론": "엄태웅,한가인,이제훈,배수지,조정석,유연석,조현철,김의성,이승호,박수영,김동주",
107 - "댄싱퀸": "황정민,엄정화,정성화,정규수,오나라,한수아,이아린,박정민,박사랑,여무영,성병숙,라미란,이대연,이한위,최우리,권병길,서동원", 107 + "댄싱퀸": "황정민,엄정화,정성화,정규수,오나라,한수아,이아린,박정민,박사랑,여무영,성병숙,라미란,이대연,이한위,최우리,권병길,서동원", #salesPerScreensSorted 46위
108 - "7급 공무원": "김하늘,강지환,류승룡,유승목,강신일,장남열,김형범,장영남,김정팔,김형종,박성민", 108 + "7급 공무원": "김하늘,강지환,류승룡,유승목,강신일,장남열,김형범,장영남,김정팔,김형종,박성민", #salesPerScreensSorted 45위
109 - "우리 생애 최고의 순간": "문소리,김정은,엄태웅,김지영2,조은지,차민지,남궁,이미도,조영진,이봉규,정석용,하정우,정세형,김강민,김종언,최욱", 109 + "우리 생애 최고의 순간": "문소리,김정은,엄태웅,김지영2,조은지,차민지,남궁,이미도,조영진,이봉규,정석용,하정우,정세형,김강민,김종언,최욱", #salesPerScreensSorted 34위
110 - "꾼": "현빈,유지태,배성우,박성웅,나나,안세하,최덕문,허성태,최일화,김태훈3", 110 + # "꾼": "현빈,유지태,배성우,박성웅,나나,안세하,최덕문,허성태,최일화,김태훈3",
111 - "타짜-신의 손": "최승현,신세경,곽도원,유해진,김윤석,이하늬,김인권,이경영,고수희,오정세,박효주,이준혁,이동휘,김원해,고준,조경현,박수영,김민상,손상경,임정은,정윤석", 111 + # "타짜-신의 손": "최승현,신세경,곽도원,유해진,김윤석,이하늬,김인권,이경영,고수희,오정세,박효주,이준혁,이동휘,김원해,고준,조경현,박수영,김민상,손상경,임정은,정윤석", #94위, 400만 이상
112 - "박수건달": "박신양,김정태,엄지원,정혜영,김성균,최일화,최지호,김형범,박정자,윤송이", 112 + # "박수건달": "박신양,김정태,엄지원,정혜영,김성균,최일화,최지호,김형범,박정자,윤송이",
113 - "조선명탐정 : 사라진 놉의 딸": "김명민,오달수,이연희,조관우,정원중,이채은,황채원,최무성,우현,황정민2", 113 + # "조선명탐정 : 사라진 놉의 딸": "김명민,오달수,이연희,조관우,정원중,이채은,황채원,최무성,우현,황정민2",
114 - "역린": "현빈,정재영,조정석,한지민,조재현,박성웅,김성령,정은채,송영창,이도경,김민재,김대명,김주완,유은미,천보근,구승현,이재희,문지현,김창회,서이숙,성유빈,전국향", 114 + # "역린": "현빈,정재영,조정석,한지민,조재현,박성웅,김성령,정은채,송영창,이도경,김민재,김대명,김주완,유은미,천보근,구승현,이재희,문지현,김창회,서이숙,성유빈,전국향",
115 - "남한산성": "이병헌,김윤석,박해일,고수,박희순,송영창,조우진,이다윗,허성태,김법래,조아인,진선규,유순웅,최종률,문창길,김서현,김중기,윤세웅,신기준,곽자형,박지일", 115 + # "남한산성": "이병헌,김윤석,박해일,고수,박희순,송영창,조우진,이다윗,허성태,김법래,조아인,진선규,유순웅,최종률,문창길,김서현,김중기,윤세웅,신기준,곽자형,박지일",
116 - "암수살인": "김윤석,주지훈,진선규,정종준,허진,김중기,김영웅,전국환,김종수,배해선,이봉련,정기섭,원현준,권소현", 116 + # "암수살인": "김윤석,주지훈,진선규,정종준,허진,김중기,김영웅,전국환,김종수,배해선,이봉련,정기섭,원현준,권소현",
117 - "국가부도의 날": "김혜수,유아인,허준호,조우진,김홍파,엄효섭,송영창,권해효,조한철,류덕환,박진주,장성범,전배수,염혜란,김형묵,동하,김민상,정규수", #100위 117 + # "국가부도의 날": "김혜수,유아인,허준호,조우진,김홍파,엄효섭,송영창,권해효,조한철,류덕환,박진주,장성범,전배수,염혜란,김형묵,동하,김민상,정규수", #100위
118 - "쌍화점": "조인성,주진모2,송지효,임주환,여욱환,심지호,송중기,장지원,김춘기,이종구,권태원,도용구,고인범,함건수,노민우,도예성,박종수", 118 + # "쌍화점": "조인성,주진모2,송지효,임주환,여욱환,심지호,송중기,장지원,김춘기,이종구,권태원,도용구,고인범,함건수,노민우,도예성,박종수",
119 - "신기전": "정재영,한은정,허준호,안성기,정성모,김명수,이도경,인교진,류현경,서주성,조원희,오순태,신정근,이승근,이창직,최승일,강지은,방수형", 119 + # "신기전": "정재영,한은정,허준호,안성기,정성모,김명수,이도경,인교진,류현경,서주성,조원희,오순태,신정근,이승근,이창직,최승일,강지은,방수형",
120 - "82년생 김지영": "정유미,공유,김미경,공민정,박성연,이봉련,김성철,이얼,손성찬,강애심,김정영,류아영", 120 + # "82년생 김지영": "정유미,공유,김미경,공민정,박성연,이봉련,김성철,이얼,손성찬,강애심,김정영,류아영",
121 - "귀향": "손숙,강하나,최리,임성철,정무성,황화순,류신,서미지,정인기,오지혜,김민수,이승현,김시은,박근수,홍세나,남상지,차순형,박충환,지윤재,노지용,윤정로", 121 + # "귀향": "손숙,강하나,최리,임성철,정무성,황화순,류신,서미지,정인기,오지혜,김민수,이승현,김시은,박근수,홍세나,남상지,차순형,박충환,지윤재,노지용,윤정로",
122 - "신의 한 수": "정우성,안성기,이범수,김인권,이시영,안길강,이도경,최진혁,정해균,안서현,김명수,황춘하,이일섭,김세동,김주명,이용녀,유순철,홍성덕,박지훈,윤희철,김소진,유재상", 122 + # "신의 한 수": "정우성,안성기,이범수,김인권,이시영,안길강,이도경,최진혁,정해균,안서현,김명수,황춘하,이일섭,김세동,김주명,이용녀,유순철,홍성덕,박지훈,윤희철,김소진,유재상",
123 - "태풍": "이정재,이미연,장동건,김갑수,허욱,선호진,강신성일,박찬영,김란흔,민지환", 123 + # "태풍": "이정재,이미연,장동건,김갑수,허욱,선호진,강신성일,박찬영,김란흔,민지환",
124 - "부러진 화살": "안성기,박원상,나영희,김지호,문성근,이경영,진경,박수일,김준배,김응수", 124 + # "부러진 화살": "안성기,박원상,나영희,김지호,문성근,이경영,진경,박수일,김준배,김응수",
125 - "끝까지 간다": "이선균,조진웅,신정근,정만식,신동미,김동영,박보검,주석태,허정은,이재원", 125 + # "끝까지 간다": "이선균,조진웅,신정근,정만식,신동미,김동영,박보검,주석태,허정은,이재원",
126 - "스파이": "설경구,문소리,고창석,한예리,정인기,라미란,송재호,김지영", 126 + # "스파이": "설경구,문소리,고창석,한예리,정인기,라미란,송재호,김지영",
127 - "그것만이 내 세상": "이병헌,윤여정,박정민,문숙,최리,황석정,백현진,조관우,박지훈,김서원,홍석연", 127 + # "그것만이 내 세상": "이병헌,윤여정,박정민,문숙,최리,황석정,백현진,조관우,박지훈,김서원,홍석연",
128 - "돈": "류준열,유지태,조우진,손종학,원진아,정만식,임세미,김민재,김재영,김종수,진선규", 128 + # "돈": "류준열,유지태,조우진,손종학,원진아,정만식,임세미,김민재,김재영,김종수,진선규",
129 - "악인전": "마동석,김무열,김성규,유승목,최민철,김윤성,허동원,김승현,오희준,문동혁", 129 + # "악인전": "마동석,김무열,김성규,유승목,최민철,김윤성,허동원,김승현,오희준,문동혁",
130 - "이끼": "정재영,박해일,유준상,유선,허준호,유해진,김상호,김준배,강신일,임승대,정규수,이철민,윤아름,오순태", 130 + # "이끼": "정재영,박해일,유준상,유선,허준호,유해진,김상호,김준배,강신일,임승대,정규수,이철민,윤아름,오순태",
131 - "한반도": "조재현,안성기,차인표,문성근,강신일,김상중,강수연,독고영재,백일섭,최일화,박용수,이도련,이한위,박길수", 131 + # "한반도": "조재현,안성기,차인표,문성근,강신일,김상중,강수연,독고영재,백일섭,최일화,박용수,이도련,이한위,박길수",
132 - "포화속으로": "차승원,권상우,최승현,김승우,문재원,김혜성,신현탁,구성환,김동범,김윤성,탁트인,윤승훈,김호원,김한준,조중휘,박태주,조원희,라경덕,황준영,김태환", 132 + # "포화속으로": "차승원,권상우,최승현,김승우,문재원,김혜성,신현탁,구성환,김동범,김윤성,탁트인,윤승훈,김호원,김한준,조중휘,박태주,조원희,라경덕,황준영,김태환",
133 - "시동": "마동석,박정민,정해인,염정아,최성은,김종수,윤경호,김경덕", 133 + # "시동": "마동석,박정민,정해인,염정아,최성은,김종수,윤경호,김경덕",
134 - "아이 캔 스피크": "나문희,이제훈,박철민,염혜란,이상희,이지훈,정연주,김소진,김일웅,성유빈,최수인,이재인", 134 + # "아이 캔 스피크": "나문희,이제훈,박철민,염혜란,이상희,이지훈,정연주,김소진,김일웅,성유빈,최수인,이재인",
135 - "마녀": "김다미,조민수,박희순,최우식,고민시,최정우,오미희,다은,김병옥,이주원,김하나,이시우", 135 + # "마녀": "김다미,조민수,박희순,최우식,고민시,최정우,오미희,다은,김병옥,이주원,김하나,이시우",
136 - "탐정: 리턴즈": "권상우,성동일,이광수,서영희,이일화,남명렬,손담비,최덕문,최성원,박성일,오희준,정연주,김성규,김중기,이청희,김용준,박성연,홍서백,홍은택", 136 + # "탐정: 리턴즈": "권상우,성동일,이광수,서영희,이일화,남명렬,손담비,최덕문,최성원,박성일,오희준,정연주,김성규,김중기,이청희,김용준,박성연,홍서백,홍은택",
137 - "공공의 적 2": "설경구,정준호,강신일,박근형,변희봉,임승대,박상욱,엄태웅,정규수", 137 + "공공의 적 2": "설경구,정준호,강신일,박근형,변희봉,임승대,박상욱,엄태웅,정규수", #salesPerScreensSorted 32위
138 - "퀵": "고창석,강예원,이민기,김인권,주진모,김병철,김은옥,유승목,윤제문,마동석,송재호,전국환,오정세", 138 + # "퀵": "고창석,강예원,이민기,김인권,주진모,김병철,김은옥,유승목,윤제문,마동석,송재호,전국환,오정세",
139 - "친절한 금자씨": "이영애,최민식,권예영,김시후,남일우,김병옥,오달수,이승신,김부선,라미란", 139 + "친절한 금자씨": "이영애,최민식,권예영,김시후,남일우,김병옥,오달수,이승신,김부선,라미란", #salesPerScreensSorted 50위
140 - "감기": "장혁,수애,박민하,유해진,이희준,김기현,이상엽,박효주,박정민,최병모,김문수,장경업", 140 + # "감기": "장혁,수애,박민하,유해진,이희준,김기현,이상엽,박효주,박정민,최병모,김문수,장경업",
141 - "스물": "김우빈,이준호,강하늘,정소민,이유비,민효린,정주연", 141 + # "스물": "김우빈,이준호,강하늘,정소민,이유비,민효린,정주연",
142 - "거북이 달린다": "김윤석,정경호,견미리,선우선,김지나,신정근,최권,차은재,주진모,이무생,유하복,임형택,김희원", 142 + # "거북이 달린다": "김윤석,정경호,견미리,선우선,김지나,신정근,최권,차은재,주진모,이무생,유하복,임형택,김희원",
143 - "헬로우 고스트": "차태현,강예원,이문수,고창석,장영남,천보근,공호석,정규수,김진성,구승현", 143 + # "헬로우 고스트": "차태현,강예원,이문수,고창석,장영남,천보근,공호석,정규수,김진성,구승현",
144 - "하모니": "김윤진,나문희,강예원,이다희,장영남,박준면,정수영,이태경,문경민,도용구,지성원,차진혁,박혜진", 144 + "하모니": "김윤진,나문희,강예원,이다희,장영남,박준면,정수영,이태경,문경민,도용구,지성원,차진혁,박혜진", #salesPerScreensSorted 44위
145 - "오싹한 연애": "손예진,이민기,박철민,김현숙,이미도,신성훈,윤지민,황승언,이현진", #128위. 300만 이상 145 + # "오싹한 연애": "손예진,이민기,박철민,김현숙,이미도,신성훈,윤지민,황승언,이현진", #128위. 300만 이상
146 # "방자전": "", 146 # "방자전": "",
147 # "형": "", 147 # "형": "",
148 # "마더": "", 148 # "마더": "",
...@@ -151,7 +151,7 @@ data = { ...@@ -151,7 +151,7 @@ data = {
151 # "식객": "", 151 # "식객": "",
152 # "26년": "", 152 # "26년": "",
153 # "고지전": "", 153 # "고지전": "",
154 - "워낭소리": "", 154 + # "워낭소리": "", #salesPerScreensSorted 30위
155 # "프리즌": "", 155 # "프리즌": "",
156 # "가장 보통의 연애": "", 156 # "가장 보통의 연애": "",
157 # "말모이": "", 157 # "말모이": "",
...@@ -161,11 +161,11 @@ data = { ...@@ -161,11 +161,11 @@ data = {
161 # "내가 살인범이다": "", 161 # "내가 살인범이다": "",
162 # "부당거래": "", 162 # "부당거래": "",
163 # "소원": "", 163 # "소원": "",
164 - "너는 내 운명": "", 164 + "너는 내 운명": "전도연,황정민,나문희,정유석,서주희,윤제문,임종윤,김상호,고수희,김부선,김광규", #salesPerScreensSorted 42위
165 # "시라노; 연애조작단": "", 165 # "시라노; 연애조작단": "",
166 # "곤지암": "", 166 # "곤지암": "",
167 # "살인자의 기억법": "", 167 # "살인자의 기억법": "",
168 - "마파도": "이정진,이문식,여운계,김수미,김을동,김형자,길해연,오달수,서영희", 168 + "마파도": "이정진,이문식,여운계,김수미,김을동,김형자,길해연,오달수,서영희", #salesPerScreensSorted 13위
169 # "후궁 : 제왕의 첩": "", 169 # "후궁 : 제왕의 첩": "",
170 # "탐정 : 더 비기닝": "", 170 # "탐정 : 더 비기닝": "",
171 # "지금 만나러 갑니다": "", 171 # "지금 만나러 갑니다": "",
...@@ -175,7 +175,7 @@ data = { ...@@ -175,7 +175,7 @@ data = {
175 # "보안관": "", 175 # "보안관": "",
176 # "기술자들": "", 176 # "기술자들": "",
177 # "굿모닝 프레지던트": "", 177 # "굿모닝 프레지던트": "",
178 - "태극기 휘날리며": "장동건,원빈,이은주,공형진,장민호,이영란", 178 + "태극기 휘날리며": "장동건,원빈,이은주,공형진,장민호,이영란", #salesPerScreensSorted 2위
179 # "라스트 갓파더": "", 179 # "라스트 갓파더": "",
180 # "1번가의 기적": "", 180 # "1번가의 기적": "",
181 # "증인": "", 181 # "증인": "",
...@@ -238,16 +238,39 @@ def named_union(graph1, graph2): #두 그래프 합성 ...@@ -238,16 +238,39 @@ def named_union(graph1, graph2): #두 그래프 합성
238 Z.vs["label"] = Z.vs["name"][:] 238 Z.vs["label"] = Z.vs["name"][:]
239 return Z 239 return Z
240 240
241 -for i in range(0, 100): 241 +def printResult(names, values, x, y, n):
242 - if(salesPerScreensSorted[i]["name"] not in data): 242 + for i in range(0, n):
243 - print(i, salesPerScreensSorted[i]) 243 + text = names[i][:]
244 + for r in [" ", "-", ":", "(", ")", ",", "1", "2", "3", "4", "6", "7", "8", "9"]:
245 + text = text.replace(r, "")
246 + name = names[i].rjust(x - len(text))
247 + value = str(round(values[i], 5))
248 + value = value.rjust(y)
249 + print(i, name, value)
250 +
251 +print("<스크린수 당 매출액 1~50위>")
252 +# nnn = 0
253 +# for s in salesPerScreensSorted:
254 +# if(s["name"] not in data):
255 +# print(nnn, s)
256 +# nnn += 1
257 +printResult(list(map(lambda x:x["name"], salesPerScreensSorted)), list(map(lambda x:x["value"], salesPerScreensSorted)), 30, 16, 50)
244 258
245 frequency = {} 259 frequency = {}
246 weight = {} 260 weight = {}
247 keys = [] 261 keys = []
248 top = data["명량"].split(",") 262 top = data["명량"].split(",")
249 -for t in top: 263 +for i in range(0, len(top)-1):
250 - frequency[t] = 1 264 + frequency[top[i]] = 1
265 + for j in range(i+1, len(top)):
266 + join = sorted([top[i], top[j]])
267 + join = join[0]+","+join[1]
268 + weight[join] = {
269 + "audiences": audiences["명량"],
270 + "count": 1
271 + }
272 + keys.append(join)
273 +frequency[top[len(top) - 1]] = 1
251 G = Graph.Full(len(top)) 274 G = Graph.Full(len(top))
252 G.vs["name"] = top[:] 275 G.vs["name"] = top[:]
253 G.vs["label"] = G.vs["name"][:] 276 G.vs["label"] = G.vs["name"][:]
...@@ -267,8 +290,6 @@ for movie in data: ...@@ -267,8 +290,6 @@ for movie in data:
267 290
268 for i in range(0, len(actors)-1): 291 for i in range(0, len(actors)-1):
269 for j in range(i+1, len(actors)): 292 for j in range(i+1, len(actors)):
270 - if(actors[i] == actors[j]):
271 - print(movie, actors[i])
272 join = sorted([actors[i], actors[j]]) 293 join = sorted([actors[i], actors[j]])
273 join = join[0]+","+join[1] 294 join = join[0]+","+join[1]
274 if(join not in weight): 295 if(join not in weight):
...@@ -281,39 +302,53 @@ for movie in data: ...@@ -281,39 +302,53 @@ for movie in data:
281 weight[join]["audiences"] += audiences[movie] 302 weight[join]["audiences"] += audiences[movie]
282 weight[join]["count"] += 1 303 weight[join]["count"] += 1
283 304
305 +print("\n<같은 영화에 같이 출연한 빈도수>")
284 topten = sorted(keys, key=lambda n: weight[n]["count"], reverse=True)[:10] 306 topten = sorted(keys, key=lambda n: weight[n]["count"], reverse=True)[:10]
285 for t in topten: 307 for t in topten:
286 - print(t, weight[t]) 308 + print(t, ":", weight[t]["count"])
287 309
288 names, names1, names2 = G.vs["name"][:], G.vs["name"][:], G.vs["name"][:] 310 names, names1, names2 = G.vs["name"][:], G.vs["name"][:], G.vs["name"][:]
289 311
312 +print("\n<degree>")
290 degree = G.degree() 313 degree = G.degree()
291 -print(sorted(degree, reverse=True)[:10]) 314 +degreeSorted = sorted(degree, reverse=True)[:10]
292 topDegree = sorted(names1, key=lambda n: degree[names2.index(n)], reverse=True)[:10] 315 topDegree = sorted(names1, key=lambda n: degree[names2.index(n)], reverse=True)[:10]
293 -for td in topDegree: 316 +printResult(topDegree, degreeSorted, 5, 4, 10)
294 - print(td + "(" + str(frequency[td]) + ")")
295 -print("정인기(" + str(frequency["정인기"]) + ")")
296 317
297 edge_weight = [1] * len(G.es) 318 edge_weight = [1] * len(G.es)
298 for k in keys: 319 for k in keys:
299 - # if(weight[k]["count"] == 1): 320 + if(weight[k]["count"] == 1):
300 - # continue 321 + continue
301 [s, e] = k.split(",") 322 [s, e] = k.split(",")
302 sIdx, eIdx = names.index(s), names.index(e) 323 sIdx, eIdx = names.index(s), names.index(e)
303 edges = G.es.select(_between = ([sIdx], [eIdx])) 324 edges = G.es.select(_between = ([sIdx], [eIdx]))
304 for e in edges: 325 for e in edges:
305 edge_weight[e.index] = weight[k]["count"] 326 edge_weight[e.index] = weight[k]["count"]
306 327
328 +print("\n<betweenness>")
307 bn = G.betweenness(weights=edge_weight) 329 bn = G.betweenness(weights=edge_weight)
308 -print(sorted(bn, reverse=True)[:10]) 330 +bnSorted = sorted(bn, reverse=True)[:10]
309 -print(sorted(names1, key=lambda n: bn[names2.index(n)], reverse=True)[:10]) 331 +topBn = sorted(names1, key=lambda n: bn[names2.index(n)], reverse=True)[:10]
332 +printResult(topBn, bnSorted, 5, 12, 10)
310 333
334 +print("\n<closeness>")
311 cn = G.closeness(weights=edge_weight) 335 cn = G.closeness(weights=edge_weight)
312 -print(sorted(cn, reverse=True)[:10]) 336 +cnSorted = sorted(cn, reverse=True)[:10]
313 -print(sorted(names1, key=lambda n: cn[names2.index(n)], reverse=True)[:10]) 337 +topCn = sorted(names1, key=lambda n: cn[names2.index(n)], reverse=True)[:10]
338 +printResult(topCn, cnSorted, 5, 8, 10)
339 +
340 +print("\n<eigen>")
341 +eg = G.eigenvector_centrality(weights=edge_weight)
342 +egSorted = sorted(eg, reverse=True)[:10]
343 +topEg = sorted(names1, key=lambda n: eg[names2.index(n)], reverse=True)[:10]
344 +printResult(topEg, egSorted, 5, 8, 10)
314 345
346 +print("\n<total nodes>")
315 print(len(G.vs)) 347 print(len(G.vs))
348 +
349 +print("\n<total edges>")
316 print(len(G.es)) 350 print(len(G.es))
351 +
317 out = plot(G, 352 out = plot(G,
318 bbox = (2000, 2000), 353 bbox = (2000, 2000),
319 vertex_size = [int((float(i)/max(bn)) * 20) + 5 for i in bn], 354 vertex_size = [int((float(i)/max(bn)) * 20) + 5 for i in bn],
...@@ -327,4 +362,4 @@ out = plot(G, ...@@ -327,4 +362,4 @@ out = plot(G,
327 ) 362 )
328 out.save("test.png") 363 out.save("test.png")
329 364
330 -#C:\Users\ghdms\2014104137\소스코드\movie_full.py
...\ No newline at end of file ...\ No newline at end of file
365 +#C:\Users\ghdms\2014104137\소스코드\movie.py
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -6,7 +6,7 @@ db = conn.test ...@@ -6,7 +6,7 @@ db = conn.test
6 MOVIE = db.movie 6 MOVIE = db.movie
7 MOVIE.delete_many({}) #reset 7 MOVIE.delete_many({}) #reset
8 8
9 -csvfile = open('C:\\Users\\ghdms\\2014104137\\소스코드\\kobis1.csv', mode='r') 9 +csvfile = open('C:\\Users\\ghdms\\2014104137\\소스코드\\kobis.csv', mode='r')
10 reader = list(csv.reader(csvfile)) 10 reader = list(csv.reader(csvfile))
11 for row in reader: 11 for row in reader:
12 name = row[1] 12 name = row[1]
......