欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

Python數(shù)據(jù)可視化案例:分析微信公眾號數(shù)據(jù) - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產生價值,我們在追求其視覺表現(xiàn)的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當前位置>首頁 » 新聞資訊 » 公眾號相關 >

Python數(shù)據(jù)可視化案例:分析微信公眾號數(shù)據(jù)

發(fā)表時間:2020-9-25

發(fā)布人:葵宇科技

瀏覽次數(shù):78

本文的文字及圖片來源于網(wǎng)絡,僅供學習、交流使用,不具有任何商業(yè)用途,版權歸原作者所有,如有問題請及時聯(lián)系我們以作處理。

以下文章來源于云+社區(qū),作者 算法與編程之美

轉載地址

https://blog.csdn.net/fei347795790?t=1

1 前言

在日益發(fā)展的社會,人們每天都會產生大量的數(shù)據(jù),很多工作中也常常涉及到對數(shù)據(jù)的處理。而眾多的數(shù)據(jù)讓人頭昏眼花,所以需要對數(shù)據(jù)進行可視化。將數(shù)據(jù)轉換為大腦更容易接受的圖表形式。所以有了后來的excel表格,它在數(shù)據(jù)的可視化處理方面非常強大。但是隨著數(shù)據(jù)量的增大,用excel往往都是重復之前的步驟。效率也就變得很低了,還容易枯燥。于是,python的可視化數(shù)據(jù)來了,在重復這件事上,相信沒有誰可以比程序來得更快更好。所以今天小編就通過實例給大家簡單展示下數(shù)據(jù)的可視化處理。

2 模塊準備

首先是python環(huán)境不用多說,然后是可讀取excel的xlrd模塊和強大的可視化模塊pyecharts。兩者都通過pip安裝即可。

pip install xlrd

pip install pyecharts

然后直接導入對應模塊和類即可。

#導入模塊

from pyecharts.charts import Bar

from pyecharts import options as opts

import xlrd #讀取excel的模塊

3 具體步驟

3.1 讀取excel表格

為了方便首先將準備好的excel表格放置在py文件同目錄下,然后運行以下代碼即可讀取。

data = xlrd.open_workbook("gongzhonghao.xls") #打開工作表

table = data.sheets()[0] #找到excel中對應的sheet表,這里是第一個

讀取excel表格的行和列都是以列表的形式返回的。

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

通過以上代碼讀取到對應的excel表格后,在通過簡單的代碼對數(shù)據(jù)進行處理。首先要知道一個柱狀圖有什么。柱狀圖有x、y軸。一般x軸只有一條數(shù)據(jù),所以通過上面excel表中的內容可以得出用作者作為x軸最好。然后小編這次的目的是統(tǒng)計每個作者發(fā)布的文章數(shù)和文章總得分(總得分=每篇文章的在看數(shù)加閱讀數(shù)的1/10和點贊數(shù)的1/2)。所以就可以以文章數(shù)和得分作為y軸。

allData = {} #用來儲存作者與文章的數(shù)據(jù)

for i in range(1,table.nrows): #遍歷表格中的每一行

    look = table.row_values(i)[2] #在看

    read = table.row_values(i)[3] #閱讀數(shù)

    like = table.row_values(i)[4] #點贊

    score = look + read * (1 / 10) + like * (1 / 2) #每篇文章得分

    if table.row_values(i)[1] not in allData.keys(): #判斷儲存數(shù)據(jù)的字典中是否有該作者

        allData.get(table.row_values(i)[1]) #沒有就添加

        allData[table.row_values(i)[1]] = [1,score] #為這個作者添加值(文章數(shù)和得分)

    else:

        allData[table.row_values(i)[1]][0] += 1 #有就文章數(shù)加一

        allData[table.row_values(i)[1]][1] += score #累計得分

author = list(allData.keys()) #獲取作者表

datas = list(allData.values()) #獲取數(shù)據(jù)表

articleCount = [] #儲存文章數(shù)

articleScore = [] #儲存得分

for i in datas: #遍歷數(shù)據(jù)表

    articleCount.append(i[0]) #添加文章數(shù)

    articleScore.append(round(i[1],1)) #添加的得分

上面的代碼簡單的運用了python的遍歷和字典的知識。由于本文的重點是可視化,所以這里就不做詳細說明了。

3.3可視化

通過上面的數(shù)據(jù)處理,就已經(jīng)拿到了x,y軸的數(shù)據(jù)了,接下來就直接使用pyecharts模塊進行渲染配置。

bar = (Bar() #對柱狀圖進行簡單配置

       .add_xaxis(author) #設置橫坐標為作者

       .add_yaxis('文章數(shù)',articleCount) #縱坐標一為文章數(shù)

       .add_yaxis('得分',articleScore) #縱坐標二為得分

       .set_global_opts( #全局配置,標題、副標題、坐標軸、主題等

        title_opts=opts.TitleOpts(title = '公眾號得分數(shù)據(jù)分析',subtitle = '近期作者發(fā)布文章數(shù)與得分情況')

        )

    )

bar.render() #生成html文件

小編這里只是簡單的配置了標題和副標題。對于pyecharts的全部配置可以說是九牛一毛。還有很多的參數(shù)可以更改,詳情請到官網(wǎng)查看官方文檔:

4 完整代碼

#導入模塊

from pyecharts.charts import Bar

from pyecharts import options as opts

import xlrd #讀取excel的模塊

data = xlrd.open_workbook("gongzhonghao.xls") #打開工作表

table = data.sheets()[0] #找到excel中對應的sheet表,這里是第一個

allData = {} #用來儲存作者與文章的數(shù)據(jù)

for i in range(1,table.nrows): #遍歷表格中的每一行

    look = table.row_values(i)[2] #在看

    read = table.row_values(i)[3] #閱讀數(shù)

    like = table.row_values(i)[4] #點贊

    score = look + read * (1 / 10) + like * (1 / 2) #每篇文章得分

    if table.row_values(i)[1] not in allData.keys(): #判斷儲存數(shù)據(jù)的字典中是否有該作者

        allData.get(table.row_values(i)[1]) #沒有就添加

        allData[table.row_values(i)[1]] = [1,score] #為這個作者添加值(文章數(shù)和得分)

    else:

        allData[table.row_values(i)[1]][0] += 1 #有就文章數(shù)加一

        allData[table.row_values(i)[1]][1] += score #累計得分

author = list(allData.keys()) #獲取作者表

datas = list(allData.values()) #獲取數(shù)據(jù)表

articleCount = [] #儲存文章數(shù)

articleScore = [] #儲存得分

for i in datas: #遍歷數(shù)據(jù)表

    articleCount.append(i[0]) #添加文章數(shù)

    articleScore.append(round(i[1],1)) #添加的得分

bar = (Bar() #對柱狀圖進行簡單配置

       .add_xaxis(author) #設置橫坐標為作者

       .add_yaxis('文章數(shù)',articleCount) #縱坐標一為文章數(shù)

       .add_yaxis('得分',articleScore) #縱坐標二為得分

       .set_global_opts( #全局配置,標題、副標題、坐標軸、主題等

        title_opts=opts.TitleOpts(title = '公眾號得分數(shù)據(jù)分析',subtitle = '近期作者發(fā)布文章數(shù)與得分情況')

        )

    )

bar.render() #生成html文件

相關案例查看更多