Python分析101位《創造營2020》小姐姐,誰是你心中的顏值擔當?

2020-12-09 CDA數據分析師

最近可以追的綜藝真是太多了,特別是女團選秀節目。之前我們剛聊過《青春有你2》,現在隔壁鵝廠的《創造營2020》又火熱開播了。除了數不清的漂亮小姐姐,導師團除了黃子韜、鹿晗,最新一期中吳亦凡更是作為特約教練登場,「歸國三子」一下子就引爆了話題度。

01、《創造營2020》到底好看嗎?

那麼《創造營2020》到底好看嗎?先讓我們看到豆瓣,目前已經有25129人打分,分數為6.6分。

對比起隔壁的《青你2》5.2分,創造營還略勝一籌,不過剛更新3期,還可以在觀望一下。

總體評分分布

具體看到總體評分分布,其中11.8%的人給了5星,19.6%的人給了4星,其中打1星的最多佔到39.8%。

其中給出1分2分算評分較差的,4分5分算比較好的推薦分數。我們分布看到這兩部分評分的詞雲圖。

在評分較低的觀眾看來,主要的吐槽點有關於"賽制"、"導師"、"剪輯"方面。直接表達"不好看"、"勸退"、"吊打"的評論也有不少。

在給出分數較高,推薦的觀眾看來,《創造營2020》的亮點在於"選手小姐姐"、"導師陣容"、"話題"。鵝廠的"財大氣粗"、"燃燒的經費"也令人印象深刻。其次也有認為比《青你2》要更好看的。

02、教你用Python分析101位選手小姐姐

之前看到 菜鳥學Python 寫了一篇「我用Python分析了《青春有你2》109位漂亮小姐姐,真香!」這次C君也受到了點啟發,打算也用Python來盤一盤《創造營2020》的小姐姐們。

下面讓我們來通過Python為大家介紹一下這101位美麗的小姐姐吧。

數據獲取數據預處理:數據合併和欄位提取數據可視化分析

1、數據獲取

此次我們主要獲取了以下部分的數據:

從騰訊的官方助力網站,來獲取選手的姓名和照片信息從維基百科獲取選手的籍貫、年齡、身高、所在經濟公司信息調用百度智能雲的AI人臉識別接口,輸入選手照片,獲取選手顏值等信息。

下面看到具體步驟和部分關鍵代碼:

獲取騰訊撐腰榜數據

我們獲取數據的頁面地址如下:

https://m.v.qq.com/activity/h5/303_index/index.html?ovscroll=0&autoplay=1&actityId=107015

這是一個動態js加載的網站,使用chrome瀏覽器簡單的抓包分析,得到真實的數據傳輸接口,通過修改其中的pageSize參數即可得到所有的數據。

代碼如下:

# 導入庫import pandas as pdimport requestsimport jsondef get_tx_actors(): """ 功能:獲取創造營2020撐腰榜數據。 """ # 獲取URL url = 'https://zbaccess.video.qq.com/fcgi/getVoteActityRankList?raw=1&vappid=51902973&vsecret=14816bd3d3bb7c03d6fd123b47541a77d0c7ff859fb85f21&actityId=107015&pageSize=101&vplatform=3&listFlag=0&pageContext=&ver=1&_t=1589598410618&_=1589598410619' # 添加headers headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36' } # 發起請求 response = requests.get(url, headers=headers) # 解析數據 json_data = json.loads(response.text) # 提取選手信息 player_infos = json_data['data']['itemList'] # 提取詳細信息 names = [i['itemInfo'].get('name') for i in player_infos] rank_num = [i['rankInfo'].get('rank') for i in player_infos] images = [i['itemInfo']['mapData'].get('poster_pic') for i in player_infos] # 保存信息 df = pd.DataFrame({ 'names': names, 'rank_num': rank_num, 'images': images }) return df

通過以上程序,獲取到101位選手的姓名、排名和照片信息,並將選手的照片保存到本地。獲取數據如下所示:

df1.head()

獲取維基百科數據

此處使用selenium獲取,需要電腦可以登錄外網,代碼較為簡單,暫時省略。

這裡主要獲取了選手的籍貫、年齡、身高、所在經濟公司信息,如下所示:

df2.head()

調用百度AI接口獲取顏值數據

百度AI人臉詳細的識別文檔地址如下:

https://ai.baidu.com/ai-doc/FACE/yk37c1u4t

首先需要在官網申請個人的token信息,然後下面的程序中,get_face_score函數首先構造請求URL,然後構造請求的params表單數據,包括base64編碼的圖片信息,圖片類型和想要獲取的人臉信息。通過POST方法獲取返回的json數據,返回的json數據裡就包含著我們需要的顏值得分和年齡估計等信息,具體代碼如下:

def get_file_content(file_path): """ 功能:使用base64轉換路徑編碼 """ with open(file_path, 'rb') as fp: content = base64.b64encode(fp.read()) return content.decode('utf-8')def get_face_score(file_path): """ 功能:調用api,實現一個百度的顏值分析器 """ # 調用函數,獲取image_code image_code = get_file_content(file_path=file_path) # 請求base_url request_url = "https://aip.baidubce.com/rest/2.0/face/v3/detect" # 表單數據 params = { 'image':'{}'.format(image_code), 'image_type': 'BASE64', 'face_field': 'age,gender,beauty' } # 調用函數,獲取token my_access_token = "官網獲取的個人的token信息" # 獲取access_token access_token = my_access_token # 構建請求URL request_url = request_url + "?access_token=" + access_token # 請求頭 headers = {'content-type': 'json'} # 發起請求 response = requests.post(request_url, data=params, headers=headers) if response: print(response.json()) age = response.json()['result']['face_list'][0]['age'] gender = response.json()['result']['face_list'][0]['gender']['type'] gender_prob = response.json()['result']['face_list'][0]['gender']['probability'] beauty = response.json()['result']['face_list'][0]['beauty'] all_results = [age, gender, gender_prob, beauty] return all_results

通過以上程序,獲取到101位選手通過百度AI預測的年齡、性別、性別預測概率、顏值等信息。

df3.head()

2、數據預處理

此處我們主要對以上獲取的數據集進行整理和清洗,清洗後的數據如下所示:

df.head()

3、數據可視化

獲取和整理數據之後,接下來我們使用數據可視化庫pyecharts進行以下的數據可視化分析。

選手的年齡分布

首先在年齡上,選手最小年齡是18歲,最大年齡是25歲。我們對年齡進行了分箱,具體分析發現20-22歲的選手最多,佔比達到35.87%。其次是22-24歲,佔比29.35%,緊隨其後是18-20歲,佔比28.26%。最後是24-26歲,僅佔比6.52%。看來想要出道真的需要趁早啊!

代碼如下:

# 分箱age_bins = [18,20,22,24,26] age_labels = ['18-20', '20-22', '22-24', '24-26']age_cut = pd.cut(df.age, bins=age_bins, labels=age_labels)age_cut = age_cut.value_counts()# 產生數據對data_pair = [list(z) for z in zip(age_cut.index.tolist(), age_cut.values.tolist())]# 繪製餅圖# {a}(系列名稱),{b}(數據項名稱),{c}(數值), {d}(百分比)pie1 = Pie(init_opts=opts.InitOpts(width='1350px', height='750px'))pie1.add('', data_pair=data_pair, radius=['35%', '60%'])pie1.set_global_opts(title_opts=opts.TitleOpts(title='選手年齡分布'), legend_opts=opts.LegendOpts(orient='vertical', pos_top='15%', pos_left='2%'))pie1.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}%"))pie1.render()

選手的真實年齡和百度AI預測對比

我們將百度AI預測的年齡和真實年齡進行了對比,可以看出模型預測的方差較小,由計算可知平均預測的絕對誤差在1.67歲,預測結果還是比較準確的。

代碼如下:

# 產生數據x1_line2 = df.names.values.tolist()y1_line2 = df.age.values.tolist()y2_line2 = df.pred_age.values.tolist()# 繪製折線圖line2 = Line(init_opts=opts.InitOpts(width='1350px', height='750px'))line2.add_xaxis(x1_line2)line2.add_yaxis('真實年齡', y1_line2)line2.add_yaxis('預測年齡', y2_line2) line2.set_global_opts(title_opts=opts.TitleOpts('選手的真實年齡和百度AI預測對比'), xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate='30')), yaxis_opts=opts.AxisOpts(min_=15, max_=30), ) line2.set_series_opts(label_opts=opts.LabelOpts(is_show=False))line2.render()

選手的身高分布

通過上圖可以看出,選手的身高基本符合正態分布。身高方面小姐姐們都在160以上,最高的是175cm,令人意外的是身高167cm的最多,共有34名。看來女團對身高的要求還挺高的。

選手籍貫分布

那麼小姐姐們都來自哪些地區呢?

這裡我們只是關注了國內的情況,馬來西亞和俄羅斯等其他國家,並不在我們的統計範圍內。經過分析整理可以發現,來自四川的人數是最多的,看來四川當之無愧是個盛產美女之地,然後是廣東和湖南。

代碼如下:

city_num = df.region.value_counts()# 數據對data_pair2 = [list(z) for z in zip(city_num.index.tolist(), city_num.values.tolist())]# 繪製地圖map1 = Map(init_opts=opts.InitOpts(width='1350px', height='750px'))map1.add('', data_pair2, maptype='china')map1.set_global_opts(title_opts=opts.TitleOpts(title='選手的籍貫分布'), visualmap_opts=opts.VisualMapOpts(max_=9))map1.render()

選手所在經濟公司分布

同時再看到選手的經濟公司。可以看到,其中絲芭傳媒推出的選手人數位居第一,最多共有7人,絲芭傳媒是中國大型女子偶像團體SNH48的運營公司,值得注意的是它在青春有你2中選送的選手數量也是最多的。

代碼如下:

company_num = df.company.value_counts(ascending=False) # 柱形圖bar1 = Bar(init_opts=opts.InitOpts(width='1350px', height='750px'))bar1.add_xaxis(company_num.index.tolist())bar1.add_yaxis('', company_num.values.tolist())bar1.set_global_opts(title_opts=opts.TitleOpts(title='選手所在經濟公司分布'), visualmap_opts=opts.VisualMapOpts(max_=7), xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate='60')), )bar1.render()

選手的顏值分布

最後再看到大家最最的顏值問題啦,這次我們還調用百度智能雲的AI人臉識別接口,輸入選手照片,獲取選手顏值等信息。

通過AI接口,可以看到由百度AI預測的顏值最低為57分,最高為89分,我們對顏值進行了分箱操作,其中55-60對應低,60-70對應中,70-80對應較高,80以上對應高。可以計算,較高和高佔比76%,小姐姐們的顏值都是非常高的。

其中百度AI預測顏值最高的小姐姐是誰呢?她就是崔文美秀,很靈動清秀的一位小姐姐呢。

誰是你心中《創造營2020》中的顏值擔當呢?我們也製作成了視頻版,有興趣的朋友可以關注我們發布的視頻哦!

相關焦點

  • 《創造營2020》發布練習生名單,三位《創造101》的學員赫然在列
    《創造營2020》也發布了自己的練習生名單,看著一大串的頭像和名字,說實話多少有些眼花了。但在這些練習生當中,還是看到了一些熟悉的面孔,而且還是《創造101》的學員。第一位林君怡,林君怡應該算是《創造101》中被淘汰最可惜的練習生了。
  • 【創造營-ROCO】票選出你心中的寵物吧!
    創造營-ROCO 最近我鵝廠的《創造營2020》正在騰訊視頻獨家播出,不知道有沒有小夥伴關注到~你們票選了那幾位小姐姐呢! sEan從《創造101》一直到《創造營2020》一路追《創》系列,特別喜歡那種為夢想出發,為之努力的精神,今年從101回來復讀的兩位plmm:林君怡和蘇芮琪更是勇氣可嘉,而且實力不容小覷,就是票數不高,真心的希望努力且有實力的人可以高位出道!
  • 《創造營2》躲過《青你2》卻躲不過《乘風破浪的姐姐》
    而隨著「青你2」播出的完畢,「優愛騰」賽場上只剩兩名選手:熱度上不去的《創造營2020》和開播遙遙無期的《少年之名》。鵝廠:《創造營2020》緊隨其後的《創造營2020》,被評為「無感」,「皇族當道」。所謂「皇族「,就是實力平平,卻被公司公然寵愛,給了超多鏡頭、服裝、道具,甚至超高排名的選手。
  • 火箭少女101女團位置不保,被創造營2020首發成團隊完虐
    《創造101》出來的時候,我們喜歡的山支大哥孟美岐,舞技一枝獨秀,無人可敵。唯一可以和她爭一爭c位的吳宣儀,還是個富婆,心態比較佛系,沒那麼大的事業心。第三名楊超越則完全是個流量擔當,不會唱歌不會舞,硬是憑著超強的人氣出道了。
  • 《創造101》遺憾落選的小姐姐,有望出現在2020年的選秀綜藝
    在《創造101》的舞臺上,最終憑藉節目出道的選手只有11位,她們以組合火箭少女的身份在娛樂圈發展,然而當初參加這檔節目的選手可是高達101位,幾乎是10:1的比例進行挑選。完成出道的選手值得恭喜,而那些沒有進入前11位卻依然擁有人氣的選手依然可以以個人身份出道,只是在影響力方面無法和火箭少女相比。
  • 創造營地2020小組之夜倒計時,你的小姐姐在起始位置嗎
    #創造營地之夜倒計時!創造營2020總決賽嘉賓陣容官宣!何炅將扮演主持人的角色,上海彩虹室內合唱團,李雲迪,薇婭將成為見證人,姐姐孟美岐和高年級R1SE也將參加。誰是你最期待嘉賓表現的人?明天是創造營地的決賽,從創造101到創造營2019,創造camp 2020從啟動到現在的受歡迎程度似乎並不理想,很多人甚至不知道明天是決賽的團隊之夜,創造陣營的人氣不如《隔壁的愛奇藝完成的青春有你2熱度,話題也不如播出的姐姐熱,讓人對小姐姐的未來發展感到擔憂。
  • 創造營2020崔文美秀是誰 創3崔文美秀個人資料介紹
    在《青春有你2》即將開啟109進60的第一輪淘汰賽時,姍姍來遲的《創造營2020》終於在8日官宣學員。101位練習生正式入住夢幻城堡,果然是"富養女兒",隨即學員的制服公式照也一一曝光!據了解,這次嘉興新悅將會有五位練習生,讓我們來看一下吧!
  • 創造營2020,顏值與才華的高能反應
    《創造營2020》是由騰訊視頻出品的能量女團成長綜藝,致力於充分展現女孩們自信勇敢、拼搏向上的元氣能量和青春態度。節目的主線就是召集百位學員,通過任務、訓練、考核,讓她們在四位明星教練的帶領和引導下成長進步,最終成團。
  • 《創造營2020》公式照出爐!被diss魔鬼p圖,謝安然、劉夢都變醜
    在《青春有你2》即將開啟109進60的第一輪淘汰賽時,姍姍來遲的《創造營2020》終於在8日官宣學員。101位練習生正式入住夢幻城堡,果然是"富養女兒"。隨即學員的制服公式照也一一曝光,只是與城堡的夢幻不同的是,這次的公式照依舊擺脫不了被diss的命運。
  • 最新出爐的《創造營2020》選手名單!有你們pick的嗎?
    《創造營2020》明天就要播出了,是不是已經迫不及待了呢?「超豪華」的導師陣容加上101位各懷絕技的學員,我也超期待的呀!前兩季《創造101》到《創造營2019》的收視都不錯,估計這次也不會差到哪。光看導師陣容就知道了。
  • 《創造營2020》即將來襲!鹿晗黃子韜、毛不易、宋茜大秀個人技!
    不過,《創造營2020》和《青春有你2》還是有很大差別的。《創造營2020》選手之間的競爭和廝殺可能會更加激烈一些。因為該節目組的監製邱越在發布會上透露,這次的賽制會有所調整,出道成員也不像之前的我11人,而是縮小到7人成團。
  • 創造101 & 創造營2020 學員對對碰 第一期
    陳卓璇作為第一期三大最強聲樂擔當之一,在參加創造營以前參加過超級女聲並且獲得西安賽區冠軍,全國十五強,加入了超級女團。第一期陳卓璇因唱《無羈》被說蹭熱度,怎麼說呢?人家畢竟演過,而且上去要是自己拿手的,可能原本練習就是這首,一首歌而已,也不能一概而論吧。兩個人都可以做組合裡的歌擔,而且唱跳實力比較平均都還不錯。
  • 《創造營2020》首發成團位第七席懸念揭曉
    由騰訊視頻出品的能量女團成長綜藝《創造營2020》第二期將在本周六、日晚八點上線。上周開播後,節目豆瓣開分7.1分,位列國內同類綜藝之首;全網收穫237個熱搜,實現了節目口碑與熱度的雙豐收。節目中,101位學員亮相初評級舞臺,進行了最強舞擔、最強vocal、團隊考核三輪激烈的battle。
  • 《創造營2020》到底輸在哪?
    興致勃勃地看了幾期《創造營2020》後,不少觀眾得出了這個讓人心情複雜的結論。從5月2日開播至今,《創造營2020》(下稱《創3》)已經播出了三期,到本周六即將播出第四期,繼續與已經進入後半程的《青春有你2》(下稱《青你2》)打擂。開播時《創3》獲得了2.3億播放量的好成績。
  • 顏值實力並存,創造營同款的耳機你也可以擁有
    在最新的《創造營2020》節目中,不少學員都意外的收穫了節目組的驚喜,一款私人定製的耳返,而其他學員也紛紛羨慕不已。"有了全新的耳返,一定能在後面的比賽中有不錯的表現"。這個私人定製的耳返便來自大名鼎鼎的耳機企業qdc。
  • 創造營2020劉念是誰 劉念個人資料詳細介紹
    千呼萬喚始出來,《創造營2020》終於要來了!選秀組團出道這一模式近些年在國內漸漸興起,無論是《偶像練習生》選出來的NPC,還是之後《創造101》選出來的火箭少女等,都標誌著我國在男團女團的選秀道路上,已經開始慢慢的在摸索中前進。
  • 《創造營2020》二次公演的六位撐腰王,你pick哪一個?
    《創造營2020》第二次公演舞臺來了!這次舞台風格依然多樣,擁有震撼的水火視覺效果的同時還有千紙鶴、縷空屏風這樣精巧細心的設計,舞美依然是大氣高級。11組兩兩pk,更有「不敢戰隊」強勢挑戰。Dance組:《誰都別吝嗇》《Manta》《時候》《i'm not yours》《騎上我心愛的小摩託》Vocal組:《世界不會輕易崩塌》《那女孩對我說》《一步成詩》《夏天的風》;創作組七人以及黑馬組:《river》,更有六位撐腰王,不知道你pick哪一個?《Manta》(魔鬼魚)對上R1SE的《誰都別吝嗇》。
  • 創造營2020水花不大,與青你相比,創三究竟差在哪?
    與青春有你第二季相比,創造營的路人盤太小了,如今也快決賽了,到這一步只剩下粉絲之間的battle。時間節點不對青春有你播出的時間正好是人們在家待著沒有什麼娛樂活動的階段,青春有你的出現讓無聊了很久的人們找到了樂子,看得人多了,熱度自然就高了,也圈了不少的粉絲。
  • 《創造營2020》一個如火如荼的年輕女孩。在舞臺綻放光芒!
    《創造營》作為中國另一個女團人才秀,這個節目現在也備受關注。尤其是昨晚,隨著選手舞臺的首場演出,節目也變得火爆起來。從《創造營2020》官宣開始,這個程序就引起了大家的注意。在程序《創造營2020》中,每個人教練都非常認真,特別是黃子韜非常嚴格。他們的海報正式發布,清楚地表明大家。雖然是4個人,但真正的C位是黃子韜,它位於鹿晗和宋茜前面。
  • 101份問卷,揭秘《創造營2020》學員們「敢」在哪
    採寫:新京報記者 張赫 吳奇函 《創造營2020》於三周前正式回歸大眾視野。這個春天,有百位女生為夢想奮力一搏,其努力、成長的過程也將被更多人看到。 2018年開始,多檔團體選拔綜藝為演藝圈輸入了諸多新生血液,也讓外界認知到當下年輕人最真實的青春模樣。