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())

python-pyecharts实现数据分析-超细致流-逐行注解_第1张图片

# 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])

python-pyecharts实现数据分析-超细致流-逐行注解_第2张图片

# 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")

python-pyecharts实现数据分析-超细致流-逐行注解_第3张图片

# 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)

python-pyecharts实现数据分析-超细致流-逐行注解_第4张图片
pyecharts 官方文档:https://05x-docs.pyecharts.org/#/zh-cn/charts_configure?id=xyaxis

你学会了么? 有任何问题欢迎留言

你可能感兴趣的:(python-pyecharts实现数据分析-超细致流-逐行注解)