final_df 완성하기


In [1]:
import pandas as pd

In [2]:
df1 = pd.read_csv('../resource/raw_df1.csv')
df2 = pd.read_csv('../resource/raw_df2.csv')
df3 = pd.read_csv('../resource/lee_df.csv')

In [3]:
df1.tail(1)


Out[3]:
영화 내 별점(y) 평균별점 평가자수 등급 장르 국가 상영시간 년도
543 내 아내의 모든 것 4 3.65453 460534 15세 관람가 로맨틱 코미디 한국 121 2012

In [4]:
df2.tail(1)


Out[4]:
DESC 감독 배우 평가자수 보고싶어요수 코멘트수 별점분포
543 All About My Wife, 2012, 한국, 로맨틱 코미디, 15세 관람가,... 민규동 [임수정, 이선균, 류승룡] 461,916 8,540 1,931 {"1":1717,"2":7827,"3":3095,"4":25019,"5":1403...

In [5]:
df3.tail(1)


Out[5]:
name 이동진 별점 이동진 코멘트
543 이알미 5 당시 커플이 이영화 같이보면\r\n남잔 막 웃으면서 재밌다고 하며 극장 나오고 \r...

1. 이동진 평점 및 코멘트만 불러오기 (new_df3)


In [6]:
lee = df3['name'] == '이동진 평론가'
lee


Out[6]:
0       True
1      False
2      False
3      False
4      False
5      False
6      False
7      False
8      False
9      False
10     False
11     False
12      True
13     False
14     False
15     False
16      True
17     False
18     False
19     False
20     False
21     False
22      True
23     False
24     False
25     False
26     False
27     False
28     False
29     False
       ...  
514    False
515    False
516    False
517    False
518     True
519    False
520    False
521    False
522    False
523    False
524    False
525    False
526    False
527    False
528     True
529     True
530     True
531    False
532     True
533    False
534    False
535     True
536    False
537    False
538    False
539    False
540    False
541    False
542    False
543    False
Name: name, dtype: bool

In [7]:
lee_df = df3[lee]

In [8]:
new_df3 = pd.concat([df3, lee_df], axis=1).ix[:,4:]
new_df3


Out[8]:
이동진 별점 이동진 코멘트
0 4.5 '모두가 대통령의 사람들'과 함께 오래도록 거론될 모범적 언론영화.
1 NaN NaN
2 NaN NaN
3 NaN NaN
4 NaN NaN
5 NaN NaN
6 NaN NaN
7 NaN NaN
8 NaN NaN
9 NaN NaN
10 NaN NaN
11 NaN NaN
12 4.0 하나를 위한 전체. 세상에서 가장 낙천적인 (SF)재난영화.
13 NaN NaN
14 NaN NaN
15 NaN NaN
16 3.5 두 주인공이 처음 직접 대면하게 될 때의 굉장한 박력.
17 NaN NaN
18 NaN NaN
19 NaN NaN
20 NaN NaN
21 NaN NaN
22 3.5 심플하고 힘있게 치고 달리는 영화가 선사하는 통쾌함.
23 NaN NaN
24 NaN NaN
25 NaN NaN
26 NaN NaN
27 NaN NaN
28 NaN NaN
29 NaN NaN
... ... ...
514 NaN NaN
515 NaN NaN
516 NaN NaN
517 NaN NaN
518 1.5 갓 제대한 학도병들이 만든 영화 같다.
519 NaN NaN
520 NaN NaN
521 NaN NaN
522 NaN NaN
523 NaN NaN
524 NaN NaN
525 NaN NaN
526 NaN NaN
527 NaN NaN
528 3.0 캐릭터의 약점을 영화의 장점으로 바꾸는 솜씨.
529 3.5 한바탕의 신나는 난장을 만들어내는 유희정신.
530 4.5 사랑은 꼭 그 사람일 필요가 없는 우연을 반드시 그 사람이어야만 하는 운명으로 바꾸...
531 NaN NaN
532 4.5 눈의 잔상과 편지의 이명, 끝내 남아 있는 사랑의 흔적들.
533 NaN NaN
534 NaN NaN
535 3.5 158분을 달리고도 소진되지 않는 에너지.
536 NaN NaN
537 NaN NaN
538 NaN NaN
539 NaN NaN
540 NaN NaN
541 NaN NaN
542 NaN NaN
543 NaN NaN

544 rows × 2 columns


In [9]:
new_df3.describe()


Out[9]:
이동진 별점
count 79.000000
mean 3.550633
std 0.939159
min 1.500000
25% 3.000000
50% 4.000000
75% 4.500000
max 5.000000

최종적으로 뽑고 싶은 features(dataframe보여주기위한)

  1. y값 : 내 별점(y)
  2. X값 : 영화, 평균별점, 이동진 별점, 평가자수, 보고싶어요수, 코멘트수, 감독, 배우, 등급, 장르, 국가, 상영시간, 년도, 별점분포, 이동진 코멘트

In [10]:
preprocess_df1 = pd.concat([df1.ix[:,:3], new_df3.ix[:,:1], df2.ix[:,3:6], df2.ix[:,1:3], 
                      df1.ix[:,4:], df2.ix[:,6:], new_df3.ix[:,1:]], axis=1)

In [11]:
preprocess_df1.tail(1)


Out[11]:
영화 내 별점(y) 평균별점 이동진 별점 평가자수 보고싶어요수 코멘트수 감독 배우 등급 장르 국가 상영시간 년도 별점분포 이동진 코멘트
543 내 아내의 모든 것 4 3.65453 NaN 461,916 8,540 1,931 민규동 [임수정, 이선균, 류승룡] 15세 관람가 로맨틱 코미디 한국 121 2012 {"1":1717,"2":7827,"3":3095,"4":25019,"5":1403... NaN

In [12]:
preprocess_df1.to_csv('../resource/preprocess_df1.csv', index=False, encoding='utf8')