一、數據描述
1.數據解釋
電影數據共140502部,2019年之前的電影有139129,當前未上映的有1373部,包含21個字段,部分字段數據為空,字段說明如下:
MOVIE_ID: 電影ID,對應豆瓣的DOUBAN_ID
NAME: 電影名稱
ALIAS: 別名
ACTORS: 主演
COVER: 封面圖片地址
DIRECTORS: 導演
GENRES: 類型
OFFICIAL_SITE: 地址
REGIONS: 制片國家/地區
LANGUAGES: 語言
RELEASE_DATE: 上映日期
MINS: 片長
IMDB_ID: IMDbID
DOUBAN_SCORE: 豆瓣評分
DOUBAN_VOTES: 豆瓣投票數
TAGS: 標簽
STORYLINE: 電影描述
SLUG: 加密的url,可忽略
YEAR: 年份
ACTOR_IDS: 演員與PERSON_ID的對應關系,多個演員采用“|”符號分割,格式“演員A:ID|演員B:ID”;
DIRECTOR_IDS: 導演與PERSON_ID的對應關系,多個導演采用“|”符號分割,格式“導演A:ID|導演B:ID”;
2.導入數據
import pandas as pd df=pd.read_csv(r'C:\Users\蘇蘇\Desktop\seaborn-data\movies.csv',encoding='utf-8')
3.查看數據集信息
二、問題提出
1.主要比較世界電影和中國,以及中國大陸和中國港台電影之間的差別,分析各參數之間是否存在關聯性及對評分產生的影響
2.評分與其他屬性項的關系是什么,正負相關還是正態分布
三、數據清洗和預處理
查看缺失值
df.isnull().sum()
可以看出數據缺失的挺多,可進行刪除處理,為了節省后續操作的效率,刪去了不必要的字段。並且刪去了沒有評分的電影(評分為0)
#數據清洗 #去除無效列 df=df.drop(df.iloc[:,[0,4,9,12,15,19,20]],axis=1 ) #刪除重復值 df.drop_duplicates(inplace=True) #刪除缺失值 指定列有缺失值的行.dropna(subset = ['gender'],how ='any') df.dropna(inplace = True) #刪去沒有評分的電影(評分為0) df=df[~df['DOUBAN_SCORE'].isin([0])] df.head()
查看數據類型
df.info()
檢查數據類型無誤
四、各變量相關性數據分析與可視化
本數據使用探索性分析工具dtale進行探究
dtale.show(df,ignore_duplicate=True)
1.查看數據類型
2.豆瓣評分分布情況描述及直方圖
可以看出,25%,第1四分位數,50%,第2四分位數,75%,第3四分位數,百分位數各自評分,最高評分9.8,最低2.2,平均7分,評分主要積聚在6到8分之間
3.能從年份&評分中看出點什么?
豆瓣世界電影的評分均值趨勢:
世界電影的評分Box箱線圖趨勢:
皮爾遜關聯性(Pearson correlation)的可視化:評分與年份
4.利用詞雲顯示在某個階段時間內,哪部電影評分高低情況

可以看出1989年以前,“是,大臣 1984聖誕特輯“評分較高,89年到03年”霸王別姬“等受歡迎,清晰明了。
5.豆瓣電影評分與時長關系

發現大部分電影時長集中在100分鍾左右,符合人們的觀影舒適感,不過此時長的電影殘次不齊,好壞各分千秋,而且發現,超過150分鍾的電影,不僅沒有讓觀眾因為電影太長而不喜歡,相反,正因為電影時長足夠,能夠充分鋪墊,使得即使兩三個小時的電影評分居高不下,當然也不排除個別又爛又長讓人看了想睡覺毫無意義的電影。
6.電影類型與評分關系

劇情/喜劇、劇情/愛情、同性、喜劇/愛情等類型電影居多,但評分卻普遍不高,可能是為了迎合大眾但又拍出來的效果不佳,相反,西部,歌舞,音樂,兒童和動畫類型的電影評分很高,深受喜愛