自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

新聞聯(lián)播也可以拿來做數(shù)據(jù)分析?

大數(shù)據(jù) 數(shù)據(jù)分析
今天從一個極簡角度,給大家展示如何利用文本數(shù)據(jù)做點有意思的統(tǒng)計,并通過可視化工具展示出來,希望對大家有所幫助。

在Tushare Pro數(shù)據(jù)開放平臺上,最近上線了近10年CCTV新聞聯(lián)播文本數(shù)據(jù),以及各大財經(jīng)網(wǎng)站的即時資訊文本。

很多用戶表示出了比較高的興趣,紛紛要求開通權(quán)限獲取數(shù)據(jù)。也有一些用戶看到這種文本類型的非結(jié)構(gòu)化數(shù)據(jù),表示一臉懵逼兩眼茫然。

今天從一個極簡角度,給大家展示如何利用文本數(shù)據(jù)做點有意思的統(tǒng)計,并通過可視化工具展示出來,希望對大家有所幫助。

數(shù)據(jù)準(zhǔn)備

獲取近10年的新聞聯(lián)播文本有兩個方法,一是自己寫爬蟲,將CCTV網(wǎng)站的新聞聯(lián)播網(wǎng)頁爬取下來,二是通過Tushare SDK的API免費獲取數(shù)據(jù)。

如果是自己爬,好處是可以鍛煉自己的爬蟲編程能力,磨練自己被可能不統(tǒng)一的網(wǎng)頁格式虐心千百遍還不砸電腦的心態(tài)意志。

壞處是爬數(shù)據(jù),清洗數(shù)據(jù)確實浪費時間,搞不好真有可能費電腦。

當(dāng)然如果直接通過Tushare SDK調(diào)取數(shù)據(jù),只需要一行代碼即可獲取到格式統(tǒng)一的數(shù)據(jù)。

df = pro.cctv_news(date='20181222')

數(shù)據(jù)格式效果如下

如果要獲取其他新聞資訊,也很簡單:

df = pro.news(src='sina', start_date='20181223', end_date='20181224')

新聞源目前支持如下:

?新聞聯(lián)播也可以拿來做數(shù)據(jù)分析??

獲取獲取后,可以存csv也可以存Excel,或者存數(shù)據(jù)庫都可以,這樣就完成了原始數(shù)據(jù)準(zhǔn)備。

分詞處理

借助Python jieba分詞工具,我們可以快速的實現(xiàn)文本的分詞功能。同時可以設(shè)置關(guān)鍵字黑名單和白名單,過濾不需要的,提取想要的關(guān)鍵詞。

import jieba

#過濾關(guān)鍵詞
blacklist = ['責(zé)任編輯', '一定','一年', '一起', '一項', '一點兒', '一度','一系列','一道','一次','一億','進(jìn)行', '實現(xiàn)', '已經(jīng)', '指出',
'為什么', '是不是', '”', '一個', '一些', 'cctv', '一邊', '一部', '一致', '一窗', '萬億元', '億元', '一致同意', '本臺記住', '發(fā)生',
'上述', '不僅', '不再 ', '下去', '首次', '合作', '發(fā)展', '國家', '加強(qiáng)', '共同', '重要', '我們', '你們', '他們', '目前',
'領(lǐng)導(dǎo)人', '推進(jìn)', '中方', '堅持', '支持', '表示', '時間', '協(xié)調(diào)', '時間', '制度', '工作', '強(qiáng)調(diào)', '進(jìn)行', '推動', '通過',
'北京時間', '有沒有', '新聞聯(lián)播', '本臺消息', '這個', '那個', '就是', '今天', '明天', '參加', '今年', '明天']

#新增關(guān)鍵詞
stopwords = ['一帶一路', '雄安新區(qū)', '區(qū)塊鏈', '數(shù)字貨幣', '虛擬貨幣', '比特幣', '對沖基金', '自貿(mào)區(qū)', '自由貿(mào)易區(qū)','鄉(xiāng)村振興','美麗中國','共享經(jīng)濟(jì)','租購?fù)瑱?quán)','新零售',
'共有產(chǎn)權(quán)房','樓市調(diào)控', '產(chǎn)權(quán)保護(hù)', '互聯(lián)網(wǎng)金融', '5G', '4G', '國企改革', '大灣區(qū)', '長江經(jīng)濟(jì)帶']

for word in stopwords:
jieba.add_word(word)

df = pd.read_csv(file, encoding='utf8')
list = []
df = df[df.content.isnull() == False]

for idx, row in df.iterrows():
data = jieba.cut(row['content'])
data = dict(Counter(data))

df = pd.DataFrame(list, columns=['date', 'keyword', 'count'])

按日期處理分詞之后,我們可以對詞頻進(jìn)行統(tǒng)計,生成一個完整的詞頻csv文件。

為了讓大家更好地完成本次實驗,我們直接提供已經(jīng)完成統(tǒng)計的csv文件供大家下載,請在文章末尾獲取下載方式。

詞頻統(tǒng)計分析

新聞詞云統(tǒng)計

對于具有影響力的新聞節(jié)目,可能很多人先想到的是哪些關(guān)鍵詞出現(xiàn)的次數(shù)最多?對于常見新聞詞語,一定逃不出你的預(yù)料之中,下面這個詞云圖可以驗證你的判斷。

??

實現(xiàn)詞云非常方便,前提是你已經(jīng)準(zhǔn)備好了詞頻統(tǒng)計。幸運的是,我們?yōu)槟闾峁┝爽F(xiàn)成的詞云統(tǒng)計csv文件,在下載的文件中可以找到一個all.csv的文件。

from pyecharts import WordCloud

all = pd.read_csv('all.csv', encoding='utf8')
name = list(all.head(80)['keyword'].values)
val = list(all.head(80)['count'].values)
wordcloud = WordCloud(width=1300, height=620)
wordcloud.add("", name, val, word_size_range=[20, 100])
wordcloud.render('')

正如你所看到的,我們借助了pyecharts這個工具來實現(xiàn)可視化。以下所有圖形效果都是借助pyecharts來實現(xiàn)的,更多具體的使用可以自行學(xué)習(xí)echarts和pyecharts的知識來加強(qiáng)圖形制作能力,這里不做太多的介紹。

新聞分類統(tǒng)計

除了新聞聯(lián)播常見關(guān)鍵詞,我們可能還想知道一些特定詞語出現(xiàn)在新聞聯(lián)播的次數(shù),以便了解該類信息受關(guān)照程度,比如在過去10年當(dāng)中,哪些省份和省會城市最受新聞聯(lián)播關(guān)注?

我們將各省在新聞聯(lián)播出現(xiàn)的數(shù)據(jù)進(jìn)行分年統(tǒng)計,然后通過柱狀圖的形式展示出來。

from pyecharts import Bar


pro_data = pd.read_csv('pro_count_list.csv', encoding='utf8')
bar = Bar("", width=1000, height=500)
ps = pro_data.groupby(['key', 'year']).sum().reset_index()
attr = list(ps['key'].drop_duplicates().values)

for x in range(2009, 2019):
val = ps[ps.year == x]
val = list(val['count'].values)
bar.add(str(x), attr, val, is_stack=True, xaxis_interval=0, xaxis_rotate=60, yaxis_rotate=30)

bar.render('')

 

?新聞聯(lián)播也可以拿來做數(shù)據(jù)分析??

通過上圖我們可以知道,作為首都的北京毫無疑問是關(guān)注最多的地方。而在每年因為不同的政治、經(jīng)濟(jì)或者文化事件,不同的省出現(xiàn)的頻次也呈現(xiàn)出一些差異。

比如2018年在政策上對海南的傾斜,對珠三角的關(guān)注等,而在2017年香港回歸20年,河北雄安新區(qū)的提出等事件,讓這些地方備受關(guān)注。

同樣的方法,我們也可以對各省會城市出現(xiàn)的頻次進(jìn)行按年份統(tǒng)計。

?新聞聯(lián)播也可以拿來做數(shù)據(jù)分析??

可以清楚的看到,在2009年烏魯木齊因暴恐事件受到了極大的新聞關(guān)注,而??谠诮鼉赡觊_放海南的大背景下也成了新聞聯(lián)播的常客。

如果柱狀圖看的不夠清晰,我們可以借助地圖熱力方式來顯示各省收關(guān)注程度可能更清楚。

from pyecharts import Map


pros = pro_data.groupby(['key'])['count'].sum().reset_index()
pros['count'] = pros['count']/10
pro_att = list(pros['key'].values)
pro_val = list(pros['count'].values)
map = Map("近十年新聞聯(lián)播提到各省的頻次", width=1200, height=600)

map.add(
"",
pro_att,
pro_val,
maptype="china",
is_visualmap=True,
visual_text_color="#000",
)

map.render('')

 

 

?新聞聯(lián)播也可以拿來做數(shù)據(jù)分析??

在熱力地圖上,顏色越深表示受關(guān)注越大,我們看到北京最紅,而東部沿海比西部,東北要比內(nèi)蒙受關(guān)注更多。

如果想要了解各地級市或者縣級在新聞聯(lián)播出現(xiàn)的次數(shù),我們同樣可以借助地圖效果來展示,通過散點效果可以大致看出在新聞聯(lián)播出現(xiàn)的情況。

?新聞聯(lián)播也可以拿來做數(shù)據(jù)分析??

新聞?wù)急冉y(tǒng)計

可能有些人很想了解哪些大學(xué)在新聞聯(lián)播出現(xiàn)的次數(shù)最多,就像北京被關(guān)注最多一樣,北京的清華北大應(yīng)該也是關(guān)注最多的?

我們來通過數(shù)據(jù)統(tǒng)計,根據(jù)排名前30位的占比來分析一下。

from pyecharts import Pie


dx = pd.read_csv('d:\\cctv_done\\u.csv', encoding='utf8')
dx = dx.head(30)
attr = list(dx['key'].values)
val = list(dx['count'].values)
pie = Pie("近十年新聞聯(lián)播提到的大學(xué)頻次", title_pos='center')
pie.add("", attr, val, is_label_show=True, is_legend_show=False)
pie.render()

 

?新聞聯(lián)播也可以拿來做數(shù)據(jù)分析??

我們對清華、北大、人大等知名大學(xué)的排名可能并不會覺得奇怪,但在受關(guān)注度排名前30的大學(xué)中,發(fā)現(xiàn)了一所國外的大學(xué),那就是莫斯科大學(xué),在接近10年的歷史里,總共提到了31次。

而在與世界各國的往來方面,我們同樣可以借助上述的方法,統(tǒng)計出各國在新聞聯(lián)播出現(xiàn)的次數(shù)來得到體現(xiàn)。

?新聞聯(lián)播也可以拿來做數(shù)據(jù)分析??

正如我們所知,中國與美國的關(guān)系是中國外交關(guān)系最緊密的,而中俄,中日關(guān)系也是非常重要。但同時我們也看到,諸如敘利亞、伊朗、朝鮮、伊拉克、巴基斯坦等戰(zhàn)亂和動蕩的國家讓世界人民也讓中國人民操碎了心。

新聞分時統(tǒng)計

在國際關(guān)系方面,我們從上面各國出現(xiàn)在新聞聯(lián)播的次數(shù)基本上得到了體現(xiàn),但從每年的關(guān)注情況方面,我們可以通過折線圖更加清楚的了解到一些細(xì)節(jié)。

from pyecharts import Line


cdss = ctdf_all.head(10)
attr = [str(year) for year in range(2009, 2019)]
line = Line("")

for ckey in cdss['key'].values:
val = ctdfs[ctdfs.key == ckey]['count'].values
line.add(ckey, attr, val, is_smooth=True)

line.render()

 

?新聞聯(lián)播也可以拿來做數(shù)據(jù)分析??

從分時圖可以看出,美國、俄羅斯出現(xiàn)在新聞聯(lián)播出現(xiàn)的頻次一直很高,而且近年呈上升趨勢,而日本在2015年以后,提到的次數(shù)越來越少,反映出與日本的關(guān)系的變化。

在其他新聞和經(jīng)濟(jì)熱詞方面,我們也進(jìn)行了一些檢驗,比如人工智能、智能制造和5G等近年來越來越多的被提到,而在提到“金融風(fēng)險”的次數(shù)也伴隨提及“金融”二字出現(xiàn)的越來越多。

另外,我們也跟蹤了一帶一路、自貿(mào)區(qū)、雄安新區(qū)等熱詞的頻次,比如雄安新區(qū),在2017年4月1日首次出現(xiàn)之后,也是經(jīng)常出現(xiàn)在新聞聯(lián)播里,通??煲绞录蚋拍钐岢龅闹苣甑臅r候,出現(xiàn)的頻次會更多。

?新聞聯(lián)播也可以拿來做數(shù)據(jù)分析??

總結(jié)

對于新聞等非結(jié)構(gòu)化數(shù)據(jù)的統(tǒng)計分析,是一個很有意思的過程,也許你會發(fā)現(xiàn)一些意外的驚喜。尤其是結(jié)合互聯(lián)網(wǎng)社區(qū)的數(shù)據(jù),比如微信微博等,可以從中挖掘出很有價值的信息。

本次實驗過程只是一個簡單的開始,還有很多更值得分析的角度和方法,只為拋磚引玉,希望對大家有所助益。

 

責(zé)任編輯:未麗燕 來源: 挖地兔
相關(guān)推薦

2015-01-07 09:57:20

2015-04-13 09:15:56

新聞聯(lián)播阿里云

2009-06-30 19:26:12

云計算虛擬服務(wù)器

2020-02-11 19:43:37

云辦公銳捷

2009-05-13 09:02:37

2020-05-15 15:09:51

R語言數(shù)據(jù)分析

2016-12-01 14:56:18

數(shù)據(jù)可視化

2023-05-26 07:50:17

數(shù)據(jù)分析師BI工具

2023-12-29 10:04:47

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

2019-10-14 15:57:36

數(shù)據(jù)分析多維度二八法

2015-09-25 09:25:34

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

2024-12-29 19:36:04

2016-09-30 01:04:45

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

2020-07-22 07:49:14

數(shù)據(jù)分析技術(shù)IT

2020-02-13 17:15:25

藍(lán)信

2018-05-18 09:18:00

數(shù)據(jù)分析報告數(shù)據(jù)收集

2017-02-09 15:46:09

數(shù)據(jù)分析互聯(lián)網(wǎng)
點贊
收藏

51CTO技術(shù)棧公眾號