資料分析——以【豆瓣電影Top250】為例
一、確定分析場景,明確分析目的
首先提出問題後,明確我們想得到什麼結論和資訊。然後可以從什麼渠道獲取資料,運用什麼分析方法進行資料分析,最後得出結論輸出報告。
比如我想做一個優秀電影的資料分析,看看這些電影主要來自哪些國家、哪些演員主演、人們對電影的評價情況等等,豆瓣有電影的排行榜,以豆瓣電影Top250為例,先看看榜單上有哪些資料資訊:
來自豆瓣電影
可以看到,榜單上有電影名、導演、主演、上映年份、製片國家、電影型別、評分、評價人數等資訊,這些可以透過描述性統計、視覺化圖表來展開分析:哪些電影評分靠前、最受熱評?哪些型別、國家、導演、演員高產優質電影?上榜電影數量逐年變化趨勢怎樣?最後得出結論。理完整個資料分析的思路,我們就可以進行下一步。
二、獲取資料
利用python爬取資料,程式碼如下:
import requests, random, bs4, csv
#引用csv模組。
csv_file=open(‘movieTop250。csv’, ‘w’, newline=‘’,encoding=‘utf-8’)
writer = csv。writer(csv_file)
# 用csv。writer()函式建立一個writer物件。
writer。writerow([‘序號’, ‘電影名’, ‘評分’, ‘推薦語’, ‘連結’,‘a’,‘b’])
#呼叫writer物件的writerow()方法,可以在csv檔案裡寫入title:‘序號’, ‘電影名’, ‘評分’, ‘推薦語’, ‘連結’
for x in range(10):
url = ‘
豆瓣電影 Top 250
’ + str(x*25) + ‘&filter=’
res = requests。get(url)
bs = bs4。BeautifulSoup(res。text, ‘html。parser’)
bs = bs。find(‘ol’, class_=“grid_view”)
for titles in bs。find_all(‘li’):
num = titles。find(‘em’,class_=“”)。text
title = titles。find(‘span’, class_=“title”)。text
comment = titles。find(‘span’,class_=“rating_num”)。text
url_movie = titles。find(‘a’)[‘href’]
a=titles。find(‘p’,class_=“”)。text
b=titles。find(‘div’,class_=“star”)。text
if titles。find(‘span’,class_=“inq”) != None:
tes = titles。find(‘span’,class_=“inq”)。text
# 把num, title, comment, tes和url_movie寫成列表,用append函式多行寫入Excel
writer。writerow([num , title , comment , tes , url_movie,a,b[5:]])
else:
writer。writerow([num , title , comment , ‘’, url_movie,a,b[5:]])
print(num,b[5:],title,comment,url_movie,tes,a)
csv_file。close()
執行程式碼後,生成movieTop250。csv表。(推薦語和連結也一起爬下來了,請忽略。。)
三、資料預處理
獲取資料後,我們還需要對資料進行清洗才能使用。直接使用Excel的查詢—替換功能和資料—分列功能,缺失值異常值處理後,形成可使用資料。
四、資料分析
1、描述性統計
豆瓣電影Top250評分平均值為8。868(十分制),最高評分9。7(肖申克的救贖),最低評分8。3(驢得水)。最多電影評分8。8,有47部。評分主要集中在[8。7,8。8]。
2、哪些電影評分靠前、最受熱評?
將豆瓣電影Top250的評分和評論人數分別降序排序,得出評分前十和熱評前十的電影如下:
評分前十的電影
評論人數前十的電影
可以看出,這些作品基本都是廣大群眾心中的經典之作,其中美國有不少電影作品獲得人們的高度評價和關注度。
3、哪些型別、國家、導演、演員高產優質電影?
動畫、犯罪、劇情、喜劇、愛情題材型別的電影數量最多,佔比57。2%。其中,動畫類有33部,佔13。2%。紀錄片、音樂、兒童、歌舞這些較為小眾的題材則佔比較低,佔4。8%。
型別—數量分佈圖
美國、日本、中國產出高質電影數量靠前。其中,美國上榜的電影數量高達120部,佔48%。
國家/地區—數量分佈圖
高產優質電影的導演主要有宮崎駿(7部)、克里斯托弗·諾蘭(7部)、史蒂文·斯皮爾伯格(7部)、李安(5部)、王家衛(5部)。
高產優質電影的主演主要有湯姆·漢克斯(5部)、萊昂納多·迪卡普里奧(4部)、伊桑·霍克(4部),三位均是美國演員。
4、上榜電影數量逐年變化趨勢怎樣?
總的來看,1931-1983年都有穩步產出1-2部優質電影,1983年以後呈增長趨勢,其中1994-2015年是高產出期,直到2015年開始有下滑跡象。中國在1961年開始出現第一部上榜優質電影(大鬧天宮),1979年開始有優質電影陸續產出。
五、總結
豆瓣電影Top250是豆瓣根據每部影片看過的人數以及該影片所得的評價等綜合資料,透過演算法分析產生的排行榜。能在一定程度度上反映各部電影的影響力、關注度和觀眾喜愛程度。
以下將從個方面進行總結:
1、總體:
豆瓣電影Top250評分平均值為8。868(十分制),最高評分9。7(肖申克的救贖),最低評分8。3(驢得水)。最多電影評分8。8,有47部。評分主要集中在[8。7,8。8]。
2、Top10:
從豆瓣電影Top250的評分與熱評人數前十來看,不少都是廣大群眾心中的經典之作,其中美國有不少電影作品獲得人們的高度評價和關注度。
3、型別:
動畫、犯罪、劇情、喜劇、愛情題材型別的電影數量最多,合佔57。2%,型別均較為大眾。其中,動畫類在所有題材中數量最多,達33部,佔13。2%,在唯美可愛的風格下,卻蘊含著令人深思的道理。紀錄片、音樂、兒童、歌舞這些較為小眾的題材則佔比較低,合佔4。8%,只要用心,即使小眾,也能拍出優秀電影。
4、製片國家:
美國、日本、中國產出高質電影數量靠前。其中,美國上榜的電影數量高達120部,佔48%。美國電影既保證了場面的視覺效果,又融合了人性的感悟和現實的道理,加上眾多演員的精湛演技,容易使人們產生共鳴,不愧是優作產出大國。
5、導演、主演:
高產優質電影的導演主要有宮崎駿(7部)、克里斯托弗·諾蘭(7部)、史蒂文·斯皮爾伯格(7部)、李安(5部)、王家衛(5部)。高產優質電影的主演主要有湯姆·漢克斯(5部)、萊昂納多·迪卡普里奧(4部)、伊桑·霍克(4部),三位均是美國演員。
6、逐年變化趨勢:
總的來看,1931-1983年都有穩步產出1-2部優質電影,1983年以後呈增長趨勢,其中1994-2015年是高產出期,直到2015年開始有下滑跡象。中國在1961年開始出現第一部上榜優質電影(大鬧天宮),1979年開始有優質電影陸續產出,但數量不多。美國電影製作較為成熟,希望中國能穩住電影質量,繼續加油產出更多優質電影。