疫情資料分析與可視化
- python實作資料分析與可視化
- 前言
- 一、什么是Python爬蟲?
- 二、Python爬蟲相關知識
- 1.相關書籍資料推薦(建議谷歌打開)
- 2.資料獲取
- 3.知識點
- 三、資料分析與可視化
- 1.安裝
- 2.CSV表格操作
- 3.可視化
- 總結
python實作資料分析與可視化
前言
本文通過運用所學可視化知識,對現有的疫情資料進行簡單分析,同時介紹爬蟲相關知識
一、什么是Python爬蟲?
Python爬蟲即使用 Python程式開發的網路爬蟲(網頁蜘蛛,網路機器人),是一種按照一定的規則,自動地抓取萬維網資訊的程式或者腳本,
二、Python爬蟲相關知識
1.相關書籍資料推薦(建議谷歌打開)
https://python3webspider.cuiqingcai.com/
2.資料獲取
資料集的獲取是我們進行資料分析的第一步,現在獲取資料的主要途徑一般為:現成資料;自己寫爬蟲去爬取資料;使用現有的爬蟲工具爬取所需內容,保存到資料庫,或以檔案的形式保存到本地,
博主用的是現有的資料進行資料分析,
3.知識點
request:
它是最基本的 HTTP 請求模塊,可以用來模擬發送請求,就像在瀏覽器里輸入網址然后回車一樣,只需要給庫方法傳入 URL 以及額外的引數,就可以模擬實作這個程序了,
正則運算式:
貪婪匹配是盡可能匹配多的字符,非貪婪匹配就是盡可能匹配少的字符,在做匹配的時候,字串中間盡量使用非貪婪匹配,也就是用 .? 來代替 ,以免出現匹配結果缺失的情況,但如果匹配的結果在字串結尾,.*? 就有可能匹配不到任何內容了,
空值處理:
s.dropna(how='all') #洗掉所有列值為空的行
s.dropna(axis=1) #列有空值,洗掉
s.dropna(axis=1,how='all') #列全為空值,洗掉,1為列 0為行
dropna() #洗掉有空值的所有行列
s.fillna(0,inplace=True)
三、資料分析與可視化
1.安裝
博主在jupyter notebook上通過pyecharts實作資料分析與可視化,現僅以jupyter和pyecharts為例示范,
jupyter安裝(在命令提示符下輸入):
pip install jupyter
pyecharts安裝(在命令提示符下輸入):
pip install pyecharts
可能遇到的問題及解決方案(管理員身份運行命令提示符):
WARNING: You are using pip version 20.3.1; however, version 20.3.3 is available. You should consider
python -m pip install --upgrade pip -i https://pypi.douban.com/simple
2.CSV表格操作
表格讀取:
data=pd.read_csv(r'C:\Users\XX\Desktop\2019_nCoV_data.csv',encoding='utf-8')
表格列洗掉:
data.drop(["Date","Province/State"],axis=1) #洗掉Date,Province/State列
排列:
d1=data.sort_values(by=["Date","Confirmed"],ascending=False)[:10]#排列
d1
3.可視化
選出表格最后日期(2020.04.02),確診人數最多的十個省制成餅圖:
from pyecharts import options as opts
from pyecharts.charts import Bar,Line,Pie
pie=(Pie().add("",[list(i) for i in zip(d1['Province/State'].values.tolist(),d1['Confirmed'].values.tolist())]))
pie.render_notebook()

分析:據圖得湖北確診人數最多,較為直觀的顯示出病毒爆發地
選出表格最后日期(2020.04.02)以及確診人數最多的十個省,對比治愈與死亡人數:
line=(Line()
.add_xaxis(list(d1['Province/State'].values))
.add_yaxis("治愈",d1['Recovered'].values.tolist())
.add_yaxis("死亡",d1['Deaths'].values.tolist())
.set_global_opts(
title_opts=opts.TitleOpts(title="治愈與死亡"),
legend_opts=opts.LegendOpts(pos_top="30%",pos_right="70%"),
)
)
line.render_notebook()

分析:據圖得治愈人數接近于死亡人數,病毒未完全控制
選出表格前六個地區,對比治愈與死亡人數:
bar=(Bar()
.add_xaxis(list(d1['Province/State'].values)[:6])
.add_yaxis("治愈",d1['Recovered'].values.tolist()[:6])
.add_yaxis("死亡",d1['Deaths'].values.tolist()[:6])
.set_global_opts(
title_opts=opts.TitleOpts(title="各地區治愈與死亡人數"),
datazoom_opts=[opts.DataZoomOpts()],
)
)
bar.render_notebook()

分析:據圖得治愈人數高于死亡人數,但是情形不容樂觀,
總結
以上就是所有的內容,本文僅僅簡單介紹了爬蟲及資料分析可視化,歡迎大家批評指正,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/246179.html
標籤:python
上一篇:【Python篇】Python基礎--Python基本操作
下一篇:python爬蟲及資料可視化分析
