python 全国内地中高风险地区数量查询与可视化(分省)

上篇文章python 全国内地高风险地区数量查询与可视化(分省) 已经详细写明数据获取途径、数据处理、可视化,这里就不再重复;

不过该文章还有进一步优化的地方:该文章只是单一展示高风险地区数量分布,我们可以简单修改下代码,使得结果同时可以呈现中高风险

地区数量分布,结果如下:
在这里插入图片描述

主要画图差异代码部分:
在这里插入图片描述

完整代码:

import datetime
import pandas as pd
import akshare as ak

from pyecharts import options as opts
from pyecharts.charts import Map

def data_pro(df):
    # 各省风险地区数量统计、排序
    df_counts = df.groupby(['province']).nunique()[['communitys']]
    df_counts = df_counts.sort_values(by=['communitys'],ascending=False)
    df_counts.rename(columns={"communitys":"counts"},inplace=True)
    
    return df_counts.reset_index()

# 数据获取
covid_19_risk_area_high_df = ak.covid_19_risk_area(symbol="高风险等级地区")
covid_19_risk_area_mid_df = ak.covid_19_risk_area(symbol="中风险等级地区")
# 数据处理
df_counts_province_high = data_pro(covid_19_risk_area_high_df)
df_counts_province_mid = data_pro(covid_19_risk_area_mid_df)
# 获取省份简称
ProvinceInfo_TX = pd.read_excel("ProvinceInfo_TX.xlsx")

# 表关联
df_high = pd.merge(df_counts_province_high,ProvinceInfo_TX,how="left",left_on="province",right_on="fullname")
df_mid = pd.merge(df_counts_province_mid,ProvinceInfo_TX,how="left",left_on="province",right_on="fullname")
    
# 利用 pyecharts 绘图
# 参考:https://gallery.pyecharts.org/#/Map/map_base
data_list_high = df_high[['name','counts']].values.tolist()   # 数据列表
data_list_mid = df_mid[['name','counts']].values.tolist()   # 数据列表

now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")                                 # 目前时间
subtitle = "数据来源:AKShare->事件数据->COVID->疫情风险等级查询\n更新日期:{}".format(now) # 副标题文本
c = (
    Map()
    .add("高风险地区数量", data_list_high, "china") # 添加数据
    .add("中风险地区数量", data_list_mid, "china") # 添加数据
    # 设置全局变量
    .set_global_opts(
        # 设置标题
        title_opts=opts.TitleOpts(
            title="全国内地中高风险地区数量分布",
            subtitle=subtitle,
        ),  
        # 图例设置单一显示
        legend_opts=opts.LegendOpts(
            selected_mode="single",
        ),
        
        # 视觉映射配置项,参考:https://pyecharts.org/#/zh-cn/global_options?id=visualmapopts
        visualmap_opts=opts.VisualMapOpts(
            is_piecewise=True, # 是否为分段型
            
            # 自定义范围、标签、颜色
            pieces = [
                {
                    "max":20,
                    "label":"1-20",
                    "color":"#FFFF00",
                },{
                    "min":20,
                    "max":40,
                    "label":"20-40",
                    "color":"#FFE500",
                },{
                    "min":40,
                    "max":80,
                    "label":"40-80",
                    "color":"#FFCC00",
                },{
                    "min":80,
                    "max":150,
                    "label":"80-150",
                    "color":"#FF9900",
                },{
                    "min":150,
                    "max":300,
                    "label":"150-300",
                    "color":"#FF6600",
                },{
                    "min":300,
                    "label":"300及以上",
                    "color":"#FF3300",
                },
            ]
        ), 
    )
)
# 在notebook上显示
c.render_notebook() 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python数据分析可视化是数据科学领域常用的工具之一。它提供了丰富的库和方法,用于处理和分析各种类型的数据,并通过表和可视化展示数据结果。 在进行数据分析时,Python提供了Pandas和NumPy等强大的库,用于处理和清洗数据。Pandas提供了DataFrame和Series等数据结构,可以方便地操作和查询数据。NumPy提供了各种数学函数和矩阵等工具,可以进行高效的数值计算。 在数据分析的基础上,Python还提供了诸如Matplotlib、Seaborn和Plotly等库,用于数据可视化。这些库提供了丰富的表类型,可以用于展示和传达数据的信息。Matplotlib是Python最常用的绘库之一,提供了各种绘函数和方法,使用户可以自定义表的样式和排版。Seaborn是基于Matplotlib的高级绘库,专注于统计可视化,提供了丰富的统计表类型和配色方案。Plotly是一种交互式绘库,可以生成高质量的表,并支持与用户的交互。 通过Python数据分析可视化,用户可以从数据提取有价值的信息。比如,可以进行数据聚合和汇总,计算统计指标,发现数据的规律和趋势。同时,数据可视化也可以帮助用户更直观地理解和解释数据,从而更好地支持决策和沟通。 总之,Python数据分析可视化提供了强大的工具和方法,用于对各种类型的数据进行处理、分析和可视化。它能够帮助用户更深入地理解数据,从发现价值,并将结果以直观的形式展示出来。无论是在学术研究、商业分析还是日常工作Python数据分析可视化都是一种有力的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值