色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何制作數據可視化大屏

Linux愛好者 ? 來源:數據分析與統計學之美 ? 作者:黃偉呢 ? 2021-10-12 16:31 ? 次閱讀

經常有小伙伴問,如何制作數據可視化大屏?

今天將手把手帶你爬取奧運會相關信息,并利用可視化大屏為你展示奧運詳情。讓一個沒關注過奧運會的朋友,也能夠秒懂奧運會。

1、項目背景

奧運會剛剛過去,你是否已經看過2020東京奧運會呢?

2、奧運會相關信息爬取

  • 爬取字段: 國家、國家ID、排名、金牌數、銀牌數、銅牌數、獎牌總數、項目名、運動員、獲獎類型、獲獎時間;
  • 爬取說明: 基于兩個接口的數據爬取【json格式的數據】,直接采用鍵值對的方式獲取相關數據;
  • 使用工具: Pandas+requests

本文是基于兩個接口的數據爬取,相對容易的多。

#這個鏈接主要展示:各國的金銀銅牌及其總數!
https://app-sc.miguvideo.com/vms-livedata/olympic-medal/total-table/15/110000004609

#這個鏈接主要展示:每個參賽隊員的參賽項目和獲得的獎牌情況!
https://app-sc.miguvideo.com/vms-livedata/olympic-medal/total-table/15/110000004609

① 導入相關庫

importrequests
importpandasaspd
frompprintimportpprint

requests庫用于發起網頁請求,獲取網頁中的源代碼;

pandas庫用于存儲和讀取獲取到的信息;

pprint庫是漂亮的打印,對于json格式的數據,能夠很好的展示結構,方便我們解析;

② 爬蟲講解

url='https://app-sc.miguvideo.com/vms-livedata/olympic-medal/total-table/15/110000004609'
data=requests.get(url).json()
pprint(data)

三行代碼就可以獲取到網頁的源代碼,利用pprint庫,可以清晰的展示json結構,對于我們解析數據很有幫助。

我們要的數據,都存在于body鍵下面的allMedalData鍵中,allMedalData鍵的值是一個列表,里面有很多字典組成的鍵值對信息,就是我們要爬取的數據。

直接利用鍵獲取對應的值信息,代碼如下:

df1=pd.DataFrame()
forinfoindata1['body']['allMedalData']:
name=info['countryName']
name_id=info['countryId']
rank=info['rank']
gold=info['goldMedalNum']
silver=info['silverMedalNum']
bronze=info['bronzeMedalNum']
total=info['totalMedalNum']
#組織數據
orangized_data=[[name,name_id,rank,gold,silver,bronze,total]]
#然后追加df
df1=df1.append(orangized_data)
df1.columns=['名稱','ID','排名','金牌','銀牌','銅牌','獎牌總數']
df1

對于另外一個網頁,我們采取同樣的方式。

url='https://app-sc.miguvideo.com/vms-livedata/olympic-medal/detail-total/15/110000004609'
data2=requests.get(url).json()
pprint(data2)

是不是此時感覺結構更清楚了?

df2=pd.DataFrame()
forinfoindata2['body']['medalTableDetail']:
english_name=info['countryName']
name_id=info['countryId']
award_time=info['awardTime']
item_name=info['bigItemName']
sports_name=info['sportsName']
medal_type=info['medalType']
#組織數據
orangized_data=[[english_name,name_id,award_time,item_name,sports_name,medal_type]]
#然后追加df
df2=df2.append(orangized_data)
df2.columns=['英文縮寫','ID','獲獎時間','項目名','運動員','金牌類型']
df2

3、數據預處理

對于爬取到的數據,往往是有問題的,我們需要提前預處理一下,方便后續做可視化展示。

① 數據拼接

對我們共有三個表格,分別存儲著不同的信息。我們需要對其進行合適的拼接,方便最后可視化。

表格df1表示各國獎牌數,數據是這樣的:

表格df3表示國家名中英文對照表,數據是這樣的:

利用上述兩張表,我們可以左連接,將英文名稱添加到df1表上。

df4=pd.merge(df1,df3,on="名稱",how="left")
df4.head(10)

最終效果如下:

表格df5表示運動項目獲獎詳情,數據是這樣的:

此時,我們又可以將df4和df5做一個左連接,將這兩張表合成一張大表,就可以得到不同國家不同項目獲得的獎牌數。

df6=pd.merge(df4,df5,on="名稱",how="left")
df6.head(10)

② 關于金牌類型的說明

上面得到的表df6,其實還不是最后的表,因為上述表中金牌類型是數字1、2、3,但是我們需要的是金牌、銀牌、銅牌。因此,我們自己再定義一個df7。

x={"獲獎名次":["金牌","銀牌","銅牌"],"金牌類型":[1,2,3]}
df7=pd.DataFrame(x)
df7

效果如下:

af30f8e0-2ac9-11ec-82a8-dac502259ad0.png

因此,我們拿df6與自己構造得到的df7再做一個左連接,就可以的到最后完整的表了。

df8=pd.merge(df6,df7,on="名稱",how="left")
df8.head(10)

③ 中英文名映射轉換

由于使用pyecharts繪制世界地圖時,名稱必須是英文的,所以我們需要將這里的中文名稱映射為英文名稱。于是我在網上找到了下面這個文件:

afec523e-2ac9-11ec-82a8-dac502259ad0.png

我們要做的就是將它與表格中的數據,做個映射轉換。先把它轉換為一個Excel文件吧,方便我們以后直接使用。

withopen("國家名中英文對照表.txt","r",encoding="utf-8")asf:
x=f.read()

df3=pd.DataFrame()
foriinx.split("
"):
x=i.split(":")[0].strip()
y=i.split(":")[1].strip()
orangined_data=[[x,y]]
df3=df3.append(orangined_data)
df3.columns=["名稱","英文名稱"]
df3.to_excel("國家名中英文對照表.xlsx",index=None)

然后,在和上述的df2表格做一個左連接即可。

df4=pd.merge(df2,df3,on="名稱",how="left")
df4

結果如下:

adedc3a0-2ac9-11ec-82a8-dac502259ad0.png

4、可視化展示

關于可視化部分,使用的是pyecharts庫。這部分一共分以下8個主題:

  • ① 2020東京奧運會各國獎牌分布圖;
  • ② 2020東京奧運會獎牌榜詳情;
  • ③ 2020東京奧運會獎牌榜總數前十名;
  • ④ 2020東京奧運會金牌榜總數前十名;
  • ⑤ 2020東京奧運會中國各項目獲獎詳情;
  • ⑥ 中國選手每日獲得獎牌數;
  • ⑦ 中國選手每日獲得金牌數;
  • ⑧ 中國選手奪金詳細數據;

說明: 這里就不做結果分析了,因為通過上圖,相信大家應該能夠很清晰的了解到2020東京奧運會,哪怕你沒看過。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 可視化
    +關注

    關注

    1

    文章

    1194

    瀏覽量

    20936
  • python
    +關注

    關注

    56

    文章

    4793

    瀏覽量

    84634

原文標題:用 Python 制作可視化大屏,特簡單!

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    什么是大數據可視化?特點有哪些?

    數據可視化是指通過大屏幕展示大量數據和信息,以直觀、可視化的方式幫助用戶理解和分析數據。這種
    的頭像 發表于 12-16 16:59 ?147次閱讀

    如何找到適合的大數據可視化系統

    選擇合適的大數據可視化系統是企業或組織在數字轉型過程中至關重要的一步。一個優秀的大數據
    的頭像 發表于 12-13 15:47 ?116次閱讀

    智慧能源可視化監管平臺——助力可視化能源數據管理

    博達可視化設計平臺在智慧能源領域的價值體現在實時監控、數據可視化、決策支持和效率提升等方面。借助該平臺,企業可以輕松搭建智慧能源類可視化
    的頭像 發表于 11-29 10:00 ?278次閱讀
    智慧能源<b class='flag-5'>可視化</b>監管平臺——助力<b class='flag-5'>可視化</b>能源<b class='flag-5'>數據</b>管理

    可視化數據制作流程

    制作可視化數據是一項涵蓋數據分析、設計和技術實現的復雜任務。從數據處理到展示呈現,每個步驟都
    的頭像 發表于 07-24 13:57 ?280次閱讀

    數據可視化 開源

    在當今信息爆炸的時代,數據已經成為各個行業決策制定和業務發展的關鍵。為了更直觀、準確地理解和利用海量數據, 大數據可視化 成為一種強大的工
    的頭像 發表于 06-27 16:06 ?405次閱讀
    大<b class='flag-5'>屏</b><b class='flag-5'>數據</b><b class='flag-5'>可視化</b> 開源

    如何實現園區大可視化?

    如何實現園區大可視化? 1.建立孿生模型:首先需要建立園區的孿生模型,即一個數字的虛擬模型,反映了園區的實際情況、結構、設備、人員等信息。這個模型可以通過傳感器、監控設備、GIS 數據
    的頭像 發表于 06-19 15:39 ?416次閱讀
    如何實現園區大<b class='flag-5'>屏</b><b class='flag-5'>可視化</b>?

    物聯網時代,為什么需要可視化數據

    在互聯網和大數據時代,工業領域日益增長的數據量越來越離不開數據分析的支持,可視化數據便是集中
    的頭像 發表于 06-18 13:53 ?369次閱讀
    物聯網時代,為什么需要<b class='flag-5'>可視化</b><b class='flag-5'>數據</b>大<b class='flag-5'>屏</b>

    態勢數據可視化技術有哪些

    智慧華盛恒輝態勢數據可視化技術是一種將數據以圖形、圖像、動畫等視覺形式展現出來的技術,特別是在處理和分析態勢數據時,該技術能夠將復雜的數據
    的頭像 發表于 06-11 15:47 ?371次閱讀

    智慧大是如何實現數據可視化的?

    智慧大,作為數據可視化的重要載體,已在城市管理、交通監控、商業運營等領域廣泛應用。本文旨在闡述智慧大實現數據
    的頭像 發表于 06-04 15:02 ?602次閱讀
    智慧大<b class='flag-5'>屏</b>是如何實現<b class='flag-5'>數據</b><b class='flag-5'>可視化</b>的?

    數據可視化的作用和意義

    數據可視化是指利用大屏幕設備展示數據信息,通過圖表、圖像、動畫等視覺手段將數據呈現出來,以
    的頭像 發表于 06-03 17:56 ?664次閱讀

    三維可視化數據的設計原理和技巧

    三維可視化數據設計面向交通、園區、城市、建筑、應急等領域的客戶,以孿生可視能力賦能,提供行業解決方案。雙渲染引擎,1:1還原真實世界,在模型運行流暢的基礎上提供極佳的視覺效果。今天
    的頭像 發表于 05-30 17:09 ?521次閱讀

    數據可視化是什么?運用了什么技術

    數據可視化 是一種利用大屏幕設備展示數據可視化結果的技術,旨在以更生動、直觀的方式呈現數據
    的頭像 發表于 05-24 15:35 ?848次閱讀

    態勢數據可視化技術有哪些

    智慧華盛恒輝態勢數據可視化技術是一種將復雜、動態的態勢數據以直觀、易于理解的方式展現出來的技術手段。以下是幾種主要的態勢數據可視化技術: 網
    的頭像 發表于 04-22 15:17 ?401次閱讀

    物聯網可視化監控大如何實現?有什么功能?

    在物聯網飛速發展的時代,可視化監控大成為了眾多企業和機構實現智能管理和監控的重要工具。它將各種各樣設備的運行狀態和數據以圖形、圖表、動畫等形式展示在大
    的頭像 發表于 04-11 09:25 ?859次閱讀
    主站蜘蛛池模板: 中国比基尼美女| 最新国产在线视频在线| 最近免费视频中文2019完整版| 99热国产这里只有精品免费 | 9LPORM原创自拍达人| 国产精品VIDEOS麻豆TUBE| 久久a在线视频观看| 全免费午夜一级毛片| 亚洲日本乱码中文论理在线电影| 99婷婷久久精品国产一区二区| 国产乱码伦人偷精品视频| 免费一级片网站| 亚洲电影网址| japansemature护士| 精品国产在线亚洲欧美| 日产精品久久久久久久蜜殿| 伊人22222| 国产精品.XX视频.XXTV| 免费在线伦理片| 亚洲精品无码专区在线播放 | 久久国产伦子伦精品| 肉色欧美久久久久久久蜜桃| 中文字幕乱码一区AV久久| 国产精品嫩草影院一区二区三区| 男总裁憋尿PLAY灌尿BL| 亚洲无碼网站观看| 国产Av影片麻豆精品传媒| 蜜桃麻豆WWW久久囤产精品免费| 亚洲国产cao| 国产二级一片内射视频播放 | 欧美亚洲日韩国码在线观看| 亚洲午夜福利未满十八勿进| 国产成久久免费精品AV片天堂| 美女漏bb| 又黄又湿免费高清视频| 国产九色在线| 日韩1区1区产品乱码芒果榴莲| 5g在视影讯天天5g免费观看| 婚后被调教当众高潮H喷水| 我们日本在线观看免费动漫下载| mdapptv麻豆下载|