python-pyecharts實現數據分析-超細緻流-逐行註解

分析思路
1.每日新增數據 :
今日新增確診 = 今日確診病例-昨日確診病例
2.確診病例增長率:
今日確診病例增長率 = 今日確診新增/昨日確診病例
3.累計確診病例:柱形圖
4.確診病例增長率:折線圖
5.多圖合併

import pyecharts as pe
import pandas as pd
import warnings
# 設置不彈出警告
warnings.filterwarnings("ignore")
# 導入數據
df = pd.read_excl("...\yiqing".xlsx)
df["date"] = pd.to_datetime(df["date"])
# 因爲我們這不分析省市情況,主要是分析全國性新增,確診,疑似,的情況變化使用,故用groupby對數據進行分組聚合
data_china = pd.groupby(by=[["疑似","確診","新增"]]).sum()
# 查看一下數據情況
print(data_china.head())

在這裏插入圖片描述

# 1.每日新增數據
data_china["疑似新增"] = data_china["疑似"]- data_china["疑似"].shift()
data_china["確診新增"] = data_china["確診"]- data_china["確診"].shift()
data_china["死亡新增"] = data_china["死亡"]- data_china["死亡"].shift()

# 2.確診病例增長率
data_china["確診病例增長率"] = data_china["新增確診"]/data_china["確診"].shift()

# 繪圖部分
# 3.累計確診病例圖
bar = pe.Bar("累計確診病例圖")
# 設置x軸:時間軸,y軸:數據軸
x = data_china.iloc[1::].index.astype("str")  # 注意:數據第一行有缺失
y = data_china["確診"].iloc[1::]

# 繪製圖像
bar.add("確診",x,y,is_datazoom_show=True,tooltip_trigger="axis",datazoom_range=[0,100])

在這裏插入圖片描述

# 4.確診病例增長率
line = pe.Line("累計確診病例增長率")
# 設置x軸:時間軸 y軸:數據軸
x = data_china.index.iloc[1::]
y = data_china["確診病例增長率"].iloc[1::]
# 繪圖
line.add("增長率",x,y,is_smooth=True,tooltip_axispointer_type="cross",tooltip_trigger="axis")

在這裏插入圖片描述

# 5.合併圖表
# x軸時間軸是共同的 y軸數據軸分別設置
x = data_china.index.iloc[1::]
y1 = data_china["確診"].iloc[1::]
y2 = data_china["確診病例增長率"].iloc[1::]
# 繪製柱狀圖
bar.add("確診",x,y1,datazoom=True,tooltip_trigger="axis",datazoom_range=[0,100])
# 繪製折線圖
line.add("增長率",x,y,is_smooth=True,tooltip_axispointer_type="cross",tooltip_trigger="axis")
# 合併
overlap = pe.Overlap()
overlap.add(bar)
overlap.add(line,yaxis_index =1,is_add_yaxis=True)

在這裏插入圖片描述
pyecharts 官方文檔:https://05x-docs.pyecharts.org/#/zh-cn/charts_configure?id=xyaxis

你學會了麼? 有任何問題歡迎留言

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章