最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

我用數(shù)據(jù)技術(shù)分析首播過億火爆網(wǎng)絡(luò)的《乘風(fēng)破浪的姐姐》,發(fā)現(xiàn)了這些秘密

2020-06-28 15:27 作者:自學(xué)Python的小姐姐呀  | 我要投稿

最近,由芒果TV推出的綜藝節(jié)目《乘風(fēng)破浪的姐姐》,可謂是火爆了全網(wǎng),堪稱年度綜藝前幾名的存在,首播播放量便過億!相比青春有你,這些姐姐雖然在年齡上可能不具有優(yōu)勢(shì),但是她們身上散發(fā)的個(gè)人魅力還是相當(dāng)了得,個(gè)個(gè)都是實(shí)力牌。


方便大家更好的對(duì)選手們有一個(gè)全方位的了解,抓取了參賽姐姐們的信息進(jìn)行分析。


數(shù)據(jù)說明

數(shù)據(jù)集是一個(gè)csv文件:爬取的是公開在百度百科和維基百科上的選手信息。 數(shù)據(jù)說明: 列名說明age年齡birth出生年月hometown出生地址names姓名primaryScore初始舞臺(tái)分?jǐn)?shù)jobs職業(yè)picUrl圖片的下載地址

數(shù)據(jù)的獲取

首先,我們需要做的就是抓取到選手們的信息,這里,我們爬取的是公開在百度百科和維基百科上的選手信息。


由于兩個(gè)網(wǎng)站采用的都是靜態(tài)的頁面,所以抓取也相對(duì)簡(jiǎn)單,我們以較為復(fù)雜的百度百科抓取為例,來介紹一下程序的抓取。

  • 我們利用GetPicSource函數(shù)首先提取了宣傳照?qǐng)D片的下載地址;

  • 然后利用BeautifulSoup庫(kù)來解析網(wǎng)頁源代碼,由于不同的div標(biāo)簽數(shù)量不一致,所以需要格外自己的分析,并進(jìn)行解析;

  • 接著將我們提取到的信息進(jìn)行保存即可。


對(duì)于維基百科的信息提取也是同樣的操作,最終我們抓取到的信息,包括了選手們的姓名,年齡,出生年月,出生地以及圖片的下載地址,職業(yè)以及初始舞臺(tái)分?jǐn)?shù)等信息。

讀取數(shù)據(jù)

In [1]:

import pandas as pd import matplotlib.pyplot as plt

In [2]:

df = pd.read_csv("/home/kesci/input/sister5122/final_data.csv", encoding='gbk') df.names = [i.strip('\r\n') for i in df.names] df

Out [2]:


我們可以看到,我們已經(jīng)抓取到了我們需要的數(shù)據(jù),接下來我們就可以對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單的清晰,并進(jìn)行分析。對(duì)于宣傳照的抓取和保存,可以簡(jiǎn)單的利用五行代碼即可搞定,程序和提取結(jié)果,如下圖所示:

In [3]:

df.age = [int(i.strip().replace('(', '').replace(')','').replace('歲','')) for i in df.age.values]

In [4]:

# from ?pyecharts import Pie, Bar, Line from pyecharts.charts import Pie, Bar, Line, Funnel from pyecharts.options.global_options import ThemeType from pyecharts import options as opts # from pyecharts.charts import Pie, Bar, line




、數(shù)據(jù)的分析


我們對(duì)于選手的年齡進(jìn)行一下分析,這里需要注意的是,小編采用的是pyecharts1.8.1版本進(jìn)行的可視化展示。同時(shí)pyecharts1.x和pyecharts0.x版本之間存在較大的差異。如果大家在運(yùn)行源碼時(shí)出現(xiàn)找不到模塊的錯(cuò)誤,大多是版本不正確引起的,需要大家格外的注意。好了我們接著進(jìn)行程序和結(jié)果的展示:

姐姐的年齡分布

In [5]:

attr = [] count = [] age_cut = pd.cut(df.age, [26,33,40,47,54], labels=[u"26-33",u"33-40",u"40-47",u"47-54"]) ?# 對(duì)年齡進(jìn)行分段劃分 for i, j in age_cut.value_counts().items(): ? ?attr.append(i) ? ?count.append(j) pie = (Pie(init_opts=opts.InitOpts( ? ? ? ?theme=ThemeType.CHALK ? ? ? ?)).add('', [list(z) for z in zip(attr, count)], ? ? ? ? ? ?radius=["30%", "75%"],rosetype="radius") ? ? ? ? .set_global_opts(title_opts=opts.TitleOpts(title="《乘風(fēng)破浪的姐姐》", subtitle="年齡分布")) ? ? ? ? ? .set_series_opts(label_opts=opts.LabelOpts(formatter=": s0sssss00s%")) ? ? ? ) pie.render_notebook()


Out [5]:

數(shù)據(jù)的分析


我們對(duì)于選手的年齡進(jìn)行一下分析,這里需要注意的是,小編采用的是pyecharts1.8.1版本進(jìn)行的可視化展示。同時(shí)pyecharts1.x和pyecharts0.x版本之間存在較大的差異。如果大家在運(yùn)行源碼時(shí)出現(xiàn)找不到模塊的錯(cuò)誤,大多是版本不正確引起的,需要大家格外的注意。好了我們接著進(jìn)行程序和結(jié)果的展示:


姐姐的職業(yè)分布

In [6]:

from collections import Counter jobsClass = Counter(filter(None, ''.join(df.jobs.values).split(','))) funnel = (Funnel(init_opts=opts.InitOpts( ? ? ? ?theme=ThemeType.CHALK ? ? ? ?)) ? ? ? ? ?.add("《乘風(fēng)破浪的姐姐》", [list(z) for z in zip(jobsClass.keys(), jobsClass.values())], ? ? ? ? ? ? ? sort_='ascending', ? ? ? ? ? ? ? label_opts=opts.LabelOpts(position="inside")) ? ? ? ? ?.set_global_opts(title_opts=opts.TitleOpts(title="《乘風(fēng)破浪的姐姐》", subtitle="職業(yè)分布"),) ? ? ? ? ) funnel.render_notebook()


Out [6]:

對(duì)于選手的職業(yè)分布,我們可以看到,參賽的選手大多數(shù)演員和歌手出身,但是選手中存在許多身兼數(shù)職的現(xiàn)象,比如說某位參賽選手,既是歌手同時(shí)也是演員,可謂是演而優(yōu)則唱的代表。

姐姐的省份分布

In [7]:

from pyecharts.charts import Map import random provinces = Counter(df.hometown) print(provinces) area = [(i[0],i[1]) for i in provinces.items()] maps = ( ? ? ? ?Map(init_opts=opts.InitOpts( ? ? ? ?theme=ThemeType.ROMANTIC ? ? ? ?)) ? ? ? ?.add("出生地", area, "china") ? ? ? ?.set_global_opts( ? ? ? ? ? ?title_opts=opts.TitleOpts(title="Map-基本示例"), ? ? ? ? ? ?legend_opts=opts.LegendOpts(is_show=False), ? ? ? ? ? ?visualmap_opts=opts.VisualMapOpts(max_=5, is_piecewise=True), ? ? ? ?) ? ?) maps.render_notebook()



Counter({'上海': 5, '湖南': 5, '四川': 3, '山東': 2, '遼寧': 2, '臺(tái)灣': 1, '河南': 1, '吉林': 1, '內(nèi)蒙古': 1, '天津': 1, '云南': 1, '貴州': 1, '海南': 1, '加拿大': 1, '陜西': 1, '美國(guó)': 1, '浙江': 1, '香港': 1})

對(duì)于選手的出生地,我們只是選取了出生地在中國(guó)的選手,我們可以看到,選手中湖南選手是最多的,其次是四川的選手,從整體的南北方分布來看,南方的選手要多于北方。


Out[7]:


姐姐的年齡和初始舞臺(tái)評(píng)分關(guān)系

In [8]:

from pyecharts import options as opts from pyecharts.charts import Bar, Line top5 = df[:5] names = top5.names.values.tolist() ages = top5.age.values.tolist() scores = top5.primaryScore.values.tolist() bar = ( ? ?Bar(init_opts=opts.InitOpts( ? ? ? ?theme=ThemeType.ROMANTIC ? ? ? ?)) ? ?.add_xaxis(names) ? ?.add_yaxis("年齡", ages) ? ?.extend_axis( ? ? ? ?yaxis=opts.AxisOpts( ? ? ? ? ? ?axislabel_opts=opts.LabelOpts(formatter="{value}分"), interval=20 ? ? ? ?) ? ?) # ? ? .extend_axis( # ? ? ? ? yaxis=opts.AxisOpts( # ? ? ? ? ? ? axislabel_opts=opts.LabelOpts(formatter="{value}分"), interval=20 # ? ? ? ? ) # ? ? ) ? ?.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) ? ?.set_global_opts( ? ? ? ?title_opts=opts.TitleOpts(title="《乘風(fēng)破浪的姐姐》"), ? ? ? ?yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value}歲"), min_=0, max_=40), ? ?) ) line = Line().add_xaxis(names).add_yaxis("初舞臺(tái)評(píng)分", scores, yaxis_index=1) bar.overlap(line) bar.render_notebook()

Out [8]:


姐姐的平均年齡

In [9]:

print(sum(ages) / 5)


36.8


最后,我們來看一下評(píng)分前五名的選手在年齡和初舞臺(tái)評(píng)分上的關(guān)系,我們可以看到,前五名的選手得分都在86分以上,而她們的年齡則是分布在30歲左右。

對(duì)于參加比賽的整體選手,她們的平均年齡為35歲,而評(píng)分前五名的選手,她們的平均年齡僅為30.8歲,可見,年齡因素對(duì)于成績(jī)存在一定的反比例影響。


我用數(shù)據(jù)技術(shù)分析首播過億火爆網(wǎng)絡(luò)的《乘風(fēng)破浪的姐姐》,發(fā)現(xiàn)了這些秘密的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
松江区| 海原县| 成安县| 盘山县| 阿鲁科尔沁旗| 台前县| 承德市| 和龙市| 阳泉市| 河津市| 屯门区| 黔东| 阜新市| 栾城县| 祥云县| 南召县| 江都市| 乐清市| 大丰市| 宁波市| 义乌市| 杨浦区| 项城市| 鄂托克前旗| 阜南县| 闽侯县| 海盐县| 绥芬河市| 苏尼特右旗| 图们市| 龙口市| 阿巴嘎旗| 临沧市| 公主岭市| 长兴县| 张家港市| 多伦县| 清丰县| 景洪市| 富川| 延吉市|