本文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。
以下文章來源於雲+社區,作者 算法與編程之美
轉載地址
https://blog.csdn.net/fei347795790?t=1
在日益發展的社會,人們每天都會產生大量的數據,很多工作中也常常涉及到對數據的處理。而眾多的數據讓人頭昏眼花,所以需要對數據進行可視化。將數據轉換為大腦更容易接受的圖表形式。所以有了後來的excel表格,它在數據的可視化處理方面非常強大。但是隨著數據量的增大,用excel往往都是重複之前的步驟。效率也就變得很低了,還容易枯燥。於是,python的可視化數據來了,在重複這件事上,相信沒有誰可以比程序來得更快更好。所以今天小編就通過實例給大家簡單展示下數據的可視化處理。
首先是python環境不用多說,然後是可讀取excel的xlrd模塊和強大的可視化模塊pyecharts。兩者都通過pip安裝即可。
pip install xlrdpip install pyecharts
然後直接導入對應模塊和類即可。
讀取excel的模塊
3.1 讀取excel表格
為了方便首先將準備好的excel表格放置在py文件同目錄下,然後運行以下代碼即可讀取。
data = xlrd.open_workbook(&34;) 找到excel中對應的sheet表,這裡是第一個
讀取excel表格的行和列都是以列表的形式返回的。
3.2 數據分析
通過以上代碼讀取到對應的excel表格後,在通過簡單的代碼對數據進行處理。首先要知道一個柱狀圖有什麼。柱狀圖有x、y軸。一般x軸只有一條數據,所以通過上面excel表中的內容可以得出用作者作為x軸最好。然後小編這次的目的是統計每個作者發布的文章數和文章總得分(總得分=每篇文章的在看數加閱讀數的1/10和點讚數的1/2)。所以就可以以文章數和得分作為y軸。
allData = {} 遍歷表格中的每一行 look = table.row_values(i)[2] 閱讀數 like = table.row_values(i)[4] 每篇文章得分 if table.row_values(i)[1] not in allData.keys(): 沒有就添加 allData[table.row_values(i)[1]] = [1,score] 有就文章數加一 allData[table.row_values(i)[1]][1] += score 獲取作者表datas = list(allData.values()) 儲存文章數articleScore = [] 遍歷數據表 articleCount.append(i[0]) 添加的得分
上面的代碼簡單的運用了python的遍歷和字典的知識。由於本文的重點是可視化,所以這裡就不做詳細說明了。
3.3可視化
通過上面的數據處理,就已經拿到了x,y軸的數據了,接下來就直接使用pyecharts模塊進行渲染配置。
bar = (Bar() 設置橫坐標為作者 .add_yaxis(&39;,articleCount) 39;得分&縱坐標二為得分 .set_global_opts( 39;公眾號得分數據分析&39;近期作者發布文章數與得分情況&生成html文件
小編這裡只是簡單的配置了標題和副標題。對於pyecharts的全部配置可以說是九牛一毛。還有很多的參數可以更改,詳情請到官網查看官方文檔:
讀取excel的模塊data = xlrd.open_workbook(&34;) 找到excel中對應的sheet表,這裡是第一個allData = {} 遍歷表格中的每一行 look = table.row_values(i)[2] 閱讀數 like = table.row_values(i)[4] 每篇文章得分 if table.row_values(i)[1] not in allData.keys(): 沒有就添加 allData[table.row_values(i)[1]] = [1,score] 有就文章數加一 allData[table.row_values(i)[1]][1] += score 獲取作者表datas = list(allData.values()) 儲存文章數articleScore = [] 遍歷數據表 articleCount.append(i[0]) 添加的得分bar = (Bar() 設置橫坐標為作者 .add_yaxis(&39;,articleCount) 39;得分&縱坐標二為得分 .set_global_opts( 39;公眾號得分數據分析&39;近期作者發布文章數與得分情況&生成html文件