2024.5.25.python.exercise

2024-05-26 08:36
文章标签 python 25 exercise 2024.5

本文主要是介绍2024.5.25.python.exercise,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

# # 导入数据处理的包
# # from pyecharts.charts import Line
# # from pyecharts.options import TitleOpts, LegendOpts, ToolboxOpts, VisualMapOpts, LabelOpts
# # import json
# #
# # # 打开文件
# # file_us = open("美国.txt", "r", encoding="UTF-8")
# # file_jp = open("日本.txt", "r", encoding="UTF-8")
# # file_in = open("印度.txt", "r", encoding="UTF-8")
# #
# # # 读文件
# # us_data = file_us.read()
# # jp_data = file_jp.read()
# # in_data = file_in.read()
# #
# # # 规整文件内容
# # us_data = us_data.replace("jsonp_1629344292311_69436(", "")
# # jp_data = jp_data.replace("jsonp_1629350871167_29498(", "")
# # in_data = in_data.replace("jsonp_1629350745930_63180(", "")
# #
# # us_data = us_data[:-2:]
# # jp_data = jp_data[:-2:]
# # in_data = in_data[:-2:]
# #
# # # json 转化为字典
# # us_data = json.loads(us_data)
# # jp_data = json.loads(jp_data)
# # in_data = json.loads(in_data)
# #
# # # 得到trend数据
# # us_trend_data = us_data["data"][0]["trend"]
# # jp_trend_data = jp_data["data"][0]["trend"]
# # in_trend_data = in_data["data"][0]["trend"]
# #
# # # 得到x轴的数据(x轴是2020全年)
# # us_x_data = us_trend_data["updateDate"][:314]
# # jp_x_data = jp_trend_data["updateDate"][:314]
# # in_x_data = in_trend_data["updateDate"][:314]
# #
# # # 得到y轴的数据(y轴数据是三个国家的数据)
# # us_y_data = us_trend_data["list"][0]["data"][:314]
# # jp_y_data = jp_trend_data["list"][0]["data"][:314]
# # in_y_data = in_trend_data["list"][0]["data"][:314]
# #
# # # 开始绘图
# # # 创建一个图
# # line = Line()
# #
# # # 创建图的x轴
# # line.add_xaxis(us_x_data)
# #
# # # 创建图的y轴
# # line.add_yaxis("美国确诊人数是", us_y_data, label_opts=LabelOpts(is_show=False))
# # line.add_yaxis("日本的确诊人数是", jp_y_data, label_opts=LabelOpts(is_show=False))
# # line.add_yaxis("印度的确诊人数是", in_y_data, label_opts=LabelOpts(is_show=False))
# #
# # # 配置图的全局设置
# # line.set_global_opts(
# #     title_opts=TitleOpts(title="2020年美国、日本、印度新冠日感染人数", pos_left="center", pos_bottom="1%"),
# #     legend_opts=LegendOpts(is_show=True),
# #     toolbox_opts=ToolboxOpts(is_show=True),
# #     visualmap_opts=VisualMapOpts(is_show=True)
# # )
# #
# # # 生成图
# # line.render()
# #
# # # 关闭文件
# # file_us.close()
# # file_jp.close()
# # file_in.close()
#
#
# # 导入要用到的包
# import json
# from pyecharts.charts import Line
# from pyecharts.options import LabelOpts, TitleOpts, ToolboxOpts, VisualMapOpts, LegendOpts
#
# # 读文件
# file_us = open("美国.txt", "r", encoding="UTF-8")
# file_jp = open("日本.txt", "r", encoding="UTF-8")
# file_in = open("印度.txt", "r", encoding="UTF-8")
# us_data = file_us.read()
# jp_data = file_jp.read()
# in_data = file_in.read()
#
# # 读取完毕,关闭文件
# file_us.close()
# file_jp.close()
# file_in.close()
#
# # 规整文件内容
# us_data = us_data.replace("jsonp_1629344292311_69436(", "")
# jp_data = jp_data.replace("jsonp_1629350871167_29498(", "")
# in_data = in_data.replace("jsonp_1629350745930_63180(", "")
# us_data = us_data[:-2:]
# jp_data = jp_data[:-2:]
# in_data = in_data[:-2:]
#
# # json转化为字典
# us_data = json.loads(us_data)
# jp_data = json.loads(jp_data)
# in_data = json.loads(in_data)
#
# # 得到每个国家的trend
# us_trend = us_data["data"][0]["trend"]
# jp_trend = jp_data["data"][0]["trend"]
# in_trend = in_data["data"][0]["trend"]
#
# # 得到x轴内容
# us_x = us_trend["updateDate"][:314:]
# jp_x = jp_trend["updateDate"][:314:]
# in_x = in_trend["updateDate"][:314:]
#
# # 得到y轴内容
# us_y = us_trend["list"][0]["data"][:314:]
# jp_y = jp_trend["list"][0]["data"][:314:]
# in_y = in_trend["list"][0]["data"][:314:]
#
# #开始画线
# line = Line()
#
# # 创建x轴
# line.add_xaxis(us_x)
#
# # 创建y轴
# line.add_yaxis("美国确诊新冠的人数", us_y, label_opts=LabelOpts(is_show=False))
# line.add_yaxis("日本确诊新冠的人数", jp_y, label_opts=LabelOpts(is_show=False))
# line.add_yaxis("印度确诊新冠的人数", in_y, label_opts=LabelOpts(is_show=False))
#
# # 调整全局设置
# line.set_global_opts(
#     title_opts=TitleOpts(title="2020年美国、日本、印度每日确诊新冠人数", pos_left="center", pos_bottom="1%"),
#     legend_opts=LegendOpts(is_show=True),
#     toolbox_opts=ToolboxOpts(is_show=True),
#     visualmap_opts=VisualMapOpts(is_show=True)
# )
#
# # 生成图
# line.render()# # 导入地图构建使用的包
# from pyecharts.charts import Map
# from pyecharts.options import VisualMapOpts
#
# # 创建一个地图
# China_map = Map()
#
# # 给地图准备数据
# data = [
#     ("北京市", 100),
#     ("上海市", 95),
#     ("深圳市", 90),
#     ("重庆市", 80),
#     ("四川省", 15)
# ]
#
# # 给地图添加数据
# China_map.add("中国城市发展地图", data, "china")
#
# # 设置全局变量
# China_map.set_global_opts(
#     visualmap_opts=VisualMapOpts(
#         is_show=True,
#         is_piecewise=True,
#         pieces=[
#             {"min": 1, "max": 19, "label": "1-19", "color": "#CCFFFF"},
#             {"min": 20, "max": 39, "label": "20-39", "color": "#FFFF99"},
#             {"min": 40, "max": 59, "label": "40-59", "color": "#FF9966"},
#             {"min": 60, "max": 79, "label": "60-79", "color": "#FF6666"},
#             {"min": 80, "max": 100, "label": "80-99", "color": "#CC3333"}
#         ]
#     )
# )
#
# # 生成地图
# China_map.render()# # 导入疫情地图需要的包
# import json
# from pyecharts.charts import Map
# from pyecharts.options import VisualMapOpts
#
# # 打开需要的数据文件
# China_map = open("疫情.txt", "r", encoding="UTF-8")
# Ch_map = China_map.read()
#
# # 关闭文件
# China_map.close()
#
# # 得到所有地区数据
# area_map = json.loads(Ch_map)
# area_map = area_map["areaTree"][0]["children"]
#
# # 将数据成对封装成元组,然后再将元组封装至列表中,然后用列表给地图提供数据
# China_list = []
# for province in area_map:
#     province_name = province["name"] + "省"
#     province_confirm = province["total"]["confirm"]
#
#     China_list.append((province_name, province_confirm))
#
# # 创建一个疫情地图
# China_Map = Map()
#
# # 为疫情地图加入数据
# China_Map.add("中国全国新冠确诊人数图", China_list, "china")
#
# # 为疫情地图调整全局设置,使得更加美观
# China_Map.set_global_opts(
#     visualmap_opts=VisualMapOpts(
#         is_show=True,
#         is_piecewise=True,
#         pieces=[
#             {"min": 1, "max": 99, "label": "1-99人确诊", "color": "#CCFFFF"},
#             {"min": 100, "max": 1999, "label": "100-1999人确诊", "color": "#FFFF99"},
#             {"min": 2000, "max": 9999, "label": "2000-9999人确诊", "color": "#FF9966"},
#             {"min": 10000, "max": 39999, "label": "10000-39999人确诊", "color": "#FF6666"},
#             {"min": 40000, "label": "40000人以上确诊", "color": "#CC3333"}
#         ]
#     )
# )
#
# # 生成疫情地图
# China_Map.render()# 导入生成重庆疫情地图的包
import json
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts# 读数据文件
cq_file = open("疫情.txt", "r", encoding="UTF-8")
cq_data = cq_file.read()# 关闭文件
cq_file.close()# 将数据定位到重庆
cq_data = json.loads(cq_data)
cq_data = cq_data["areaTree"][0]["children"][18]["children"]# 将区县名字取出,和每个区县的确诊人数构成元组存入列表
cq_list = []
for area in cq_data:area_name = area["name"]area_confirm = area["total"]["confirm"]cq_list.append((area_name, area_confirm))# 创造一个地图
cq_map = Map()# 向重庆疫情地图中加入值
cq_map.add("重庆新冠确诊人数图", cq_list, "重庆")# 调整重庆疫情地图的全局设置(主要是改变颜色)
cq_map.set_global_opts(visualmap_opts=VisualMapOpts(is_show=True,is_piecewise=True,pieces=[{"min": 1, "max": 9, "label": "1-9人确诊", "color": "#FFFF99"},{"min": 10, "max": 19, "label": "10-19人确诊", "color": "#FF9966"},{"min": 20, "max": 29, "label": "20-29人确诊", "color": "#FF6666"},{"min": 30, "label": "30人以上确诊", "color": "#CC3333"},])
)# 生成重庆的疫情地图
cq_map.render()#
# # 导入柱状图的包
# from pyecharts.charts import Bar
#
# # 创建一个柱状图
# bar1 = Bar()
# bar1.add_xaxis(["中国", "美国", "英国"])
# bar1.add_yaxis("1900年GDP总量", [10, 20, 30])
#
# # 生成图
# bar1.render()
#
# # 导入时间图的包
# from pyecharts.charts import Bar
# from pyecharts.options import VisualMapOpts
# from pyecharts.charts import Timeline
# from pyecharts.globals import ThemeType
#
# # 根据时间点创建多个坐标图
# bar1 = Bar()
# bar1.add_xaxis(["中国", "美国", "英国"])
# bar1.add_yaxis("GDP", [10, 20, 30])
#
# bar2 = Bar()
# bar2.add_xaxis(["中国", "美国", "英国"])
# bar2.add_yaxis("GDP", [40, 120, 85])
#
# bar3 = Bar()
# bar3.add_xaxis(["中国", "美国", "英国"])
# bar3.add_yaxis("GDP", [500, 600, 430])
#
# # 创建时间轴
# timeline = Timeline({"theme": ThemeType.LIGHT})
# timeline.add(bar1, "1900年GDP总量")
# timeline.add(bar2, "1949年GDP总量")
# timeline.add(bar3, "2024年GDP总量")
#
# # 调整时间轴播放
# timeline.add_schema(
#     play_interval=3000,
#     is_timeline_show=True,
#     is_auto_play=True,
#     is_loop_play=True
# )
#
# # 生成时间轴图
# timeline.render("从清朝到现在的三国GDP变化.html")# 最后一舞(1960-2019年全球GDP top8变化图)
# 导包
from pyecharts.charts import Bar, Timeline
from pyecharts.options import LabelOpts, TitleOpts
from pyecharts.globals import ThemeType# 读取数据文件信息
GDP_f = open("1960-2019全球GDP数据.csv", "r", encoding="GB2312")
GDP_data = GDP_f.readlines()  # GDP_data 是列表# 关闭文件
GDP_f.close()# 规整数据文件信息
GDP_data.pop(0)# 定义一个字典来存储数据
GDP_data_dict = {}
for line in GDP_data:year = int(line.split(",")[0])  # 得到年份country = line.split(",")[1]  # 得到国家GDP = float(line.split(",")[2])  # 得到GDP(因为有些数字是科学计数法,所以说转化为float来用)try:GDP_data_dict[year].append([country, GDP])except KeyError:GDP_data_dict[year] = []GDP_data_dict[year].append([country, GDP])# 构建timeline对象
timeline = Timeline({"theme": ThemeType.LIGHT})# 排序数据对象
sort_year = sorted(GDP_data_dict.keys())for years in sort_year:GDP_data_dict[years].sort(key=lambda element: element[1], reverse=True)year_data = GDP_data_dict[years][0:8]  # 只取得某一年中GDP前八的国家x_data = []y_data = []for country_gdp in year_data:     # 从GDP前8的国家里面再取,作为柱状图的x-y轴x_data.append(country_gdp[0])  # 国家名字y_data.append(country_gdp[1] / 100000000)  # 国家当年的GDP# 建立柱状图bar = Bar()x_data.reverse()y_data.reverse()bar.add_xaxis(x_data)bar.add_yaxis("GDP(亿)", y_data, label_opts=LabelOpts(position="right"))# 反转x-y轴bar.reversal_axis()# 设置每一年的标题bar.set_global_opts(title_opts=TitleOpts(title=f"{years}年全球前八国家的GDP"))# 创建时间线timeline.add(bar, str(years))  # 添加一个时间线# 调整时间轴播放
timeline.add_schema(play_interval=3000,  # 时间移动的时间is_timeline_show=True,  # 展示时间线is_auto_play=True,  # 自动播放is_loop_play=True  # 循环播放
)# 生成柱状图
timeline.render("1960-2019年全球GDP top8变化图.html")

这篇关于2024.5.25.python.exercise的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003958

相关文章

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核