查看原文
其他

数据分析奥斯卡女神们,谁是你心中的No.1?

数据森麟 Python大本营 2019-03-31


作者 | 徐麟,目前就职于互联网公司数据部,哥大统计数据狗,从事数据挖掘&分析工作,喜欢用R&Python玩一些不一样的数据

来源 | 数据森麟(公众号id:shujusenlin)

责编 | Jane 


前言


在开始今天的正文前,首先带来一首经典的由奥黛丽·赫本演唱的《Moon River》,也是电影《蒂凡尼的早餐》中的主题曲。


友情提示:在阅读今天文章的过程中,用这段音乐作为BGM,会有不一样的感受。同时为了提高大家的阅读体验,我们只在文章中只展示了部分代码,可以在公众号后台回复“女神”获取完整代码。




一年一度的奥斯卡奖于上月落下了帷幕,截止到今年,奥斯卡已经走过了91年的历程。奥斯卡奖在为我们带来一次又一次的视觉盛宴同时,也为我们提供了更进一步了解活跃在影坛的女神们的机会。


女神节将至,我们首先主要祝愿广大的女性同胞美丽永驻。同时我们来为大家盘点一下那些在奥斯卡闪耀过的女神们,她们“惊艳了时光,温柔了岁月”,带给喜爱她们的人们一段段美好的回忆。


数据来源

要先感谢小F(Python大本营作者)之前的一篇文章( 奥斯卡,究竟谁一直在陪跑 )的启发,让我们找到了能够全面地获取女神们奥斯卡相关数据网站 - 时光网,首先我们获取的是时光网上历届奥斯卡最佳女主角的入围及获奖信息,我们从中确定了此次数说的女神们:


  

获得了历届获奖以及提名名单后,我们就要进入女神们的主页:



女神们的主页信息还是很丰富的,主要是两个部分(a)上图左下角女神们的身高,星座以及出生年份 (b)上图中间网友对女神的喜爱度评分。有了这两部分的信息,我们就可以开始在后面的部分对女神们进行一系列的分析了。


部分的爬取代码如下:


driver = webdriver.Chrome()
driver.maximize_window() 
driver.close() 
driver.switch_to_window(driver.window_handles[0]) 

for i in range(queens_name.shape[0]):
    url = queens_name['profile'][i]
    js='window.open("'+url+'")'
    driver.execute_script(js)
    driver.close() 
    driver.switch_to_window(driver.window_handles[0])
    try:
        queens_name['photo'][i] = driver.find_element_by_xpath('//*[@id="personDetailRegion"]/div[1]/span/a').get_attribute('href')
        queens_name['height_star'][i] = driver.find_element_by_xpath('//*[@id="personDetailRegion"]/dl[1]').text
        queens_name['born_home'][i] = driver.find_element_by_xpath('//*[@id="personDetailRegion"]/dl[2]').text
        queens_name['count_score'][i] = driver.find_element_by_xpath('//*[@id="personRating"]/div[2]').text
    except:
    err_list=err_list+[i]


数说女神 -- 欢迎度

在开始数说女神与奥斯卡直接的故事前,我们先来看一下女神在大家心中的受欢迎程度,主要看的就是时光网上女神的喜爱度和投票人数两项指标:



奥黛丽·赫本在榜单中的位置体现了她在观众心中无可替代的地位,赫本年轻时用出众的容貌和演技一次次在电影中惊艳这个世界,随着岁月的流逝,她选择了优雅地老去,致力于慈善事业,用一颗善良的心带给这个世界一份温柔。


费雯·丽在榜单中仅次于赫本,塑造的郝思嘉这一经典形象也是影响了一代又一代的观众。同时在榜单中我们也看到了娜塔莉·波特曼和凯特·温斯莱特这些年轻观众更为熟知的女神身影。


数说女神 -- 关注度

下面我们要看的就是女神们的受关注度,主要看的是有多少人在网站中为女神们进行评价:



这份榜单,相对于之前的受欢迎度,可能出场的女神更为被年轻观众所熟知。同时在两份榜单中出现的只有奥黛丽·赫本和凯特·温斯莱特,她们也分别代表着经典和现代。


值得一提的是,榜单中排名前四的女神们,目前只有娜塔莉·波特曼染指过最佳女主角的奖项。其它三位高人气女神海瑟薇、朱莉和奈特莉,我们希望她们能够在未来拍出更多经典的作品,捧起奥斯卡最佳女主角的小金人奖杯。


数说女神 -- 提名&获奖

看完了女神的受欢迎度和关注度,我们来看一个大家都会比较关注的问题,那就是究竟哪位女神最受奥斯卡奖的青睐,获得最多次的奥斯卡最佳女主角奖:



可以看到凯瑟琳·赫本以四次获奖的成绩在这个榜单中独占鳌头,说起赫本,可能奥黛丽·赫本的名字要更加熟悉一些,但实际上,在奥斯卡奖的认可度方面,凯瑟琳·赫本要更胜一筹。同时也看到了有13位女神两次获得奥斯卡奖最佳女主角,其中就有大名鼎鼎的费雯·丽、希拉里·斯万克以及 “奥斯卡常青树“ 梅丽尔·斯特里普


只要是和奖项相关的,就总是会“几家欢喜几家愁”,下面我们就来看一下各位女神入围最佳女主角奖的次数:



梅丽尔斯·特里普以17次入围的表现毫无争议地在这项对比中遥遥领先,更加值得注意的是,这项数据可能在未来被继续刷新,我们也拭目以待。通过这份数据,我们也可以感受到奖项竞争的激烈情况,奥黛丽·赫本和葛利亚·嘉逊这种世界巨星也仅仅分在在5次和7次入围中有1次的获奖记录


同时我们也看到黛博拉·寇儿和艾琳·邓恩分别入围6次和5次最佳女主角,最终都与奖项无缘,我们一方面可能会感觉评委会有些不近人情,另一方面也更加体现出了奖项的含金量。


数说女神 -- 年龄

有人说“年龄是女人的秘密”,但是对于女神们来说,年龄只是一个符号。真正的女神会在不同的年龄去散发不同的光芒,每一束光芒都足以照亮这个世界。首先看一下那些入围时较为年长的女神:



可以看到在这些女神面前,年龄真的只是一个标记,无碍她们散发自己的光芒。朱迪·丹奇更是在自己 72、73、80 岁的时候三次入围最佳女主角的提名。在10次最年长的提名中,杰西卡·坦迪和凯瑟琳·赫本分别在自己 81、75岁的时候最终摘得桂冠。


我们同时也来看一下,那些年少成名,入围时最为年轻的女神们:



有两位都是在自己15岁前就入围最佳女主角的提名,想想大家的 15 岁,真的是要惊叹于她们把握机遇的能力。在10次最年轻的入围提名中,只有玛丽·玛特琳在1987年最终赢得桂冠,也成为了迄今为止最年轻的影后


我们看一下各个年份入围者的平均年龄



大家可以会从中看到一些有趣的事情,我们就加上一条线性拟合的趋势线来让大家更清晰地去解读这些数据:



这条趋势线是可以通过我们的线性检验,也说明了奥斯卡愈发的看重演员的资历,年龄真的越来越成为了一种符号,真正的女神就是可以在不同的年龄都展现属于自己的光芒。


数说女神 -- 身高

”年龄不是问题,身高也不是差距“。下面我们就来说说身高,有些人会比较武断地对女神的标准身高下一些定义,然而通过我们的数据分析,会发现女神们的身高实际上是很多元化的。利用好自己身材上的优势,展现出属于自己的魅力,才是最为重要的。


首先看一下身材高挑的女神们:



女神中不乏有许多超过180cm的模特身材,身高其实真的并不能代表所有。榜单中排名前茅的妮可·基德曼身高180cm,然而其前夫汤姆·克鲁斯身高仅仅是173cm,虽然现在已是劳燕分飞,但也不失为一段佳话。


特别值得一提的是榜单中的裴淳华是《消失的爱人》女主角罗莎曼德·派克为自己起的中文名,未来也希望越来越多的女神们为自己起上一个好听的中文名。下面我们来看一下那些身材娇小的女神们:



榜单中出现了许多熟悉的身影,比如伊丽莎白·泰勒、朱迪·福斯特 ,她们的身高都没有超过160cm,但并不妨碍她们成为大家记忆中永恒的女神。


下面我们仿照之前的入围年龄分析,看一下历年入围的影后平均身高



可以看到整体趋势与入围的年龄整体上涨趋势有所不同,所呈现的趋势更像是一个抛物线,我们不妨进行一下二次项拟合:



这条曲线也通过了参数的显著性检验,我们可以看到在1980、90年代的入围名单中,身高趋势线达到了一个峰值,之后有所下降。我们结合着不同时期出生的女神身高情况来进行对比:



1950-1970之间出生的女神身高确实相对比较高,这样可以解释了上面入围者身高趋势的变化情况。我们也希望通过这部分的分析让大家能够尽量不要那么去看重一个人的身高,女神们的成功也证明了成功与否与身高无关


数说女神 -- 遗珠

纵使我们将奥斯卡最佳女主角所有的提名者放在一起,也会发现有很多留给我们经典回忆的女神们,并没有出现在榜单。下面我们就选取了部分未被提名过的女神们,为大家列出:



名单中有许多我们耳熟能详的女神名字,比如苏菲·玛索、玛丽莲·梦露以及在《肖申克的救赎》中海报中出现的丽塔·海华丝。希望未来奥斯卡能够让更多的女神们得以入围。


部分分析代码如下:


k <- lm(age~year,data = reward)
reward$smooth_age <- predict(k,year = reward$year)
ggplot(reward,aes(x=year))+geom_line(aes(y=age),size=1.5)+
    theme_bw()+
    ggtitle('各年度入围者平均年龄')+
    theme(axis.text.x = element_text(size=18),
    axis.text.y = element_text(size=18),
    plot.title = element_text(hjust=0.5,size=35,face='bold'),
    panel.grid = element_blank(),
    legend.position = 'none',
    axis.title = element_text(size=25)
    )+geom_line(aes(y=smooth_age),col='darkblue',size=1.5)


结语

盘点完这些“惊艳了时光,温柔的岁月”的女神们,我们不妨静下心来,花上一点时间,找个安静的地方,选上一部电影佳作。静静地品味女神们为我们塑造过的经典角色。


本文的完整代码:

https://github.com/shujusenlin/oscar


欢迎大家留言与我们一起聊聊你心中的女神~


(本文为Python大本营转载文章,转载请联系作者)


福利

扫码添加小助手,回复:1,加入Python技术交流群,共享Python学习资料,定时更新。

推荐阅读:

                      


Python大本营“号内搜”功能全新升级

搜索功能更强大,请在公众号菜单栏体验

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存