#頭條創作挑戰賽#
小時候夏天最高興的事,就是一群小夥伴等待着夜幕的降臨、圍在黑白電視機前等待着《天龍八部》的播出,這是童年最開心的事,還記得蕭峰的豪爽、段譽的風流和虛竹的誠實以及神秘莫測的逍遙子,這些都是童年的偶像。
那麼,如何快速分析出誰是《天龍八部》的主角呢?要想分析出誰是《天龍八部》的主角,可以采用數據分析三部曲來做?
數據分析三部曲乘風破浪原數據的準備、原數據可以采用爬蟲的方式去抓取《天龍八部的》的全部章節、要不分析的結果會有偏差,或者直接百度一下“天龍八部 txt”點擊回車就出來了,懂得都會懂。本文隻講數據分析、不講爬蟲後期會講如何抓取《天龍八部》并保存成txt文檔、或者參考我寫的使用golang結合goquery抓取數據的爬蟲 隻需要修改下就可以用。
隻待東風數據已準備好,接下來就是準備工作了,開發語言我們采用python語言版本是3..系列、還需要安裝jieba和pandas這兩個庫php install pandans和pip install jieba,下載完之後,shell中輸入pip list,如果看到
jieba 0.42.1
pandas 1.3.3
那麼恭喜你、你可以快樂地造起來了~
傲遊太虛
import jieba
import pandas as pd
with open('天龍八部.txt',encoding='utf-8') as file:
text = file.read()
words = jieba.lcut(text) # 全部
names = ["蕭峰","段譽","虛竹","鸠摩智","天山童姥","阿紫",
"王語嫣","段正淳","阿朱","慕容複","段延慶","葉二娘",
"康敏","南海鳄神","雲中鶴","遊坦之"] # 主要人物統計,不是這幾個人物不需要,主要原因是考慮本地磁盤不足的問題~
counts = {}
for word in words:
if word not in names:
continue
counts[word] = counts.get(word,0) 1
dataname=sorted(counts.items(), key=lambda a: a[1], reverse=True) #按高到低順序,按照列表中第二個元素排序,以字典形式儲存
list_log = []
for d in dataname:
list_log.append([d[0],d[1]]) # 不要思考太多,簡單轉換方法
df = pd.DataFrame(list_log,columns=['人物','統計數'])
df.to_csv('天龍八部-Data.csv')
print("基礎分析保存成功~")
基礎分析保存成功~
如果出現“基礎分析保存成功~”的提示、那恭喜你,你已經走出了萬裡長征路上的第一步
import pandas as pd
from pyecharts.charts import Bar,Grid
import pyecharts.options as opts
read = pd.read_csv('天龍八部-Data.csv',index_col=[0])
x = []
y = []
for r_name in read["人物"]:
x.append(r_name)
for r in read["統計數"]:
y.append(r)br
bar = (Bar()
.add_xaxis(x)
.add_yaxis("出鏡次數:",y)
.set_global_opts(title_opts=opts.TitleOpts(title="《天龍八部》出鏡最多的人物")))
grid = (Grid(init_opts=opts.InitOpts(width="985px",height="800px"))
.add(bar,grid_opts=opts.GridOpts(is_show=False,pos_right="0",pos_left="0")))
grid.render_notebook()
通過柱形圖可以看出出鏡最多的是1881次的段譽、最少的是1次的康敏,很明顯《天龍八部》的主角是段譽。
import pandas as pd
import pyecharts.options as opts
from pyecharts.charts import WordCloud
data = pd.read_csv('天龍八部-Data.csv',index_col=[0])
x = []
y = []
for r_name in read["人物"]:
x.append(r_name)
for r in read["統計數"]:
y.append(r)
name = x
value = y
data1 = [z for z in zip(name,value)]
chart = WordCloud()
chart.add('《天龍八部》誰是主角 ?',data_pair=data1,shape='star',word_size_range=[6,66])
chart.set_global_opts(
title_opts=opts.TitleOpts(title='《天龍八部》誰是主角 ?',
title_textstyle_opts=opts.TextStyleOpts(font_size=23)),
tooltip_opts=opts.TooltipOpts(is_show=True))
chart.render_notebook()
通過數據分析三部曲我們可以看出來誰是《天龍八部》的主角了,接下來的章節我們可以通過對人物更加深層次的解讀來講解分析他們的情感分析以及人物關系。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!