python爬取全球疫情数据,Python疫情可视化
本文主要介绍Python疫情数据可视化分析。该数据集主要涉及全球疫情统计,包括诊断、治愈、死亡、时间、国家、地区等信息。有需要的朋友可以参考一下。
00-1010序函数读取文件,更改列名,从而查看全球疫情趋势,筛选出中国的数据。按省份统计的确诊死亡和治愈病例前15位的国家由groupby绘制,玫瑰图由pyecharts库绘制。rosetype中国前10大省区地图热图全球死亡病例地理分布及全球流行频率直方图其他地图陕西省确诊病例饼状图陕西省确诊病例数据分布中国治愈病例rose图。
目录
本项目主要通过python的matplotlib pandas pyecharts等库对疫情数据进行可视化分析。
数据来源:
这个数据集来自kaggle竞赛的开源数据集。数据集地址该数据集主要涉及全球疫情统计,包括诊断、治愈、死亡、时间、国家和地区等信息。
前言
功能函数
df=PD . read _ CSV(r c : \ Users \ Hasee \ Desktop/covid _ 19 _ data . CSV )
df.head()
读取文件
Cols=[序列号,日期,省/州,国家,最新更新,诊断,死亡,治愈]
df.columns=cols
Df。date=pd.to_datetime(df。日期)
df
# #使用groupby按日期统计确诊死亡和治愈病例总数。
#用相同的国家日期合并同一天
global _ confirm=df . group by( date )[[诊断,死亡,治愈]]。总和()
全局_确认
更换列名,便于查看
ax=global _ confirm . plot(fig size=(12,10),title=全球疫情趋势图)
全球疫情趋势
使用groupby按日期统计确诊死亡和治愈病例总数。
Global_china=df[df[国家]= mainland China]。重置索引()
global _ China _ confirm=global _ China . group by( date )[[诊断,死亡,治愈]。sum()。重置索引()
画一幅画,三条线合成一幅画。
筛选出中国的数据
Global_china=df[df[国家]= mainland China]。重置索引()
global _ China _ province _ confirm=global _ China . group by(省/州)[[诊断,死亡,治愈]]。sum()。重置索引()
恢复=100。* global _ China _ province _ confirm[ cure ]/global _ c
hina_province_confirm[治愈].sum()
labels = [{0}-{1:1.2f}%-{2}.format(i,j,k) for i,j,k in zip(list(global_china_province_confirm[省/州]), recovercent, list(global_china_province_confirm[治愈]))]
plt.figure(figsize=(10,10))
plt.pie(global_china_province_confirm[治愈],radius = 0.3)
确诊人数排名前15的国家
plt.figure(figsize=(16,16))plt.barh(list(global_country_confirm_rank.国家)[::-1], list(global_country_confirm_rank.确诊)[::-1])
plt.title(确诊人数排名前15的国家)
plt.xlabel(人数(千万))
plt.ylabel(国家)
这里用pyecharts库画图,绘制的玫瑰图,rosetype
set_global_opts是设置格式:
中国确诊人数前十的省
china_confirm = df[df[国家] == "Mainland China"]china_latest = china_confirm[china_confirm[日期] == max(china_confirm[日期])]
words = WordCloud()
words.add(确诊人数, [tuple(dic) for dic in zip(list(china_latest[省/州]),list(china_latest[确诊]))], word_size_range=[20,100])
区域图
china_death = df[df[国家] == "Mainland China"]china_death_latest = china_death[china_death[日期] == max(china_death[日期])]
china_death_latest = china_death_latest.groupby(省/州)[[确诊, 死亡]].max().reset_index()
geo = Map()geo.add("中国死亡病例分布", [list(z) for z in zip(china_death_prodic,list(china_death_latest[死亡]))], "china")
geo.set_global_opts(title_opts=opts.TitleOpts(title="全国各省死亡病例数据分布"),visualmap_opts=opts.VisualMapOpts(is_piecewise=True,
pieces=[
{"min": 1500, "label": >10000人, "color": "#6F171F"},
{"min": 500, "max": 15000, "label": 500-1000人, "color": "#C92C34"},
{"min": 100, "max": 499, "label": 100-499人, "color": "#E35B52"},
{"min": 10, "max": 99, "label": 10-99人, "color": "#F39E86"},
{"min": 1, "max": 9, "label": 1-9人, "color": "#FDEBD0"}]))
geo.render_notebook()
热力图
geo = Geo()geo.add_schema(maptype="china")
geo.add("中国死亡病例分布", [list(dic) for dic in zip(china_death_prodic,list(china_death_latest[死亡]))],type_=GeoType.EFFECT_SCATTER)
geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(),title_opts=opts.TitleOpts(title="全国各省死亡病例数据分布"))
geo.render_notebook()
全球死亡人数地理分布情况
map = Map()map.set_global_opts(title_opts=opts.TitleOpts(title="全球死亡人数地理分布情况"),visualmap_opts=opts.VisualMapOpts(is_piecewise=True,
pieces=[
{"min": 100001, "label": >100001人, "color": "#6F171F"},
{"min": 10001, "max": 100000, "label": 10001-100000人, "color": "#C92C34"},
{"min": 1001, "max": 10000, "label": 1001-10000人, "color": "#E35B52"},
{"min": 101, "max": 10000, "label": 101-10000人, "color": "#F39E86"},
{"min": 1, "max": 100, "label": 1-100人, "color": "#FDEBD0"}]))
map.add("全球死亡人数地理分布情况", [list(z) for z in zip(global_death_n,list(global_death[死亡]))], "world")
map.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
map.render_notebook()
全球疫情频率直方图
global_confirm.plot.hist(alpha=0.5)plt.xlabel(人数(千万))
plt.ylabel(出现频率)
plt.title(全球疫情频率直方图)
其他图
陕西确诊病例饼图
陕西省确诊病例数据分布
中国治愈病例玫瑰图
到此这篇关于Python疫情数据可视化分析的文章就介绍到这了,更多相关Python可视化内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。