基于Python的北京天气数据可视化分析

news2024/11/27 20:37:40

项目用到库

import numpy as np
import pandas as pd
import datetime
from pyecharts.charts import Line
from pyecharts.charts import Boxplot
from pyecharts.charts import Pie,Grid
from pyecharts import options as opts
from pyecharts.charts import Calendar

1.2018 年北京AQI全年走势图

代码如下:

# 读取数据
df = pd.read_csv('beijing_AQI_2018.csv')
attr = df['Date'].tolist()  # 将 Date 转换为列表
v1 = df['AQI'].tolist()  # 将 AQI 转换为列表

# 创建折线图
line = (
    Line()
    .add_xaxis(attr)
    .add_yaxis("AQI值:", v1, is_smooth=True, 
               areastyle_opts=opts.AreaStyleOpts(opacity=0.3, color="#000"), 
               markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="average")]),
               markpoint_opts=opts.MarkPointOpts(data=[
                   opts.MarkPointItem(type_="max", name="最大值"),
                   opts.MarkPointItem(type_="min", name="最小值")
               ]))
    .set_global_opts(title_opts=opts.TitleOpts(title="2018年北京AQI全年走势图", 
                                               pos_top='5%', 
                                               pos_left='center'),
                     xaxis_opts=opts.AxisOpts(type_="category"),
                     yaxis_opts=opts.AxisOpts(type_="value"))
)

# 将图表渲染到 HTML 文件
line.render("./2018年北京AQI全年走势图.html")

结果如下: 

2.2018 年北京PM2.5全年走势图

代码如下:

# 读取数据
df = pd.read_csv('beijing_AQI_2018.csv')
attr = df['Date'].tolist()  # 将 Date 转换为列表
v1 = df['PM'].tolist()  # 将 PM 转换为列表

# 创建折线图
line = (
    Line()
    .add_xaxis(attr)
    .add_yaxis("PM2.5值:", v1, is_smooth=True, 
               areastyle_opts=opts.AreaStyleOpts(opacity=0.3, color="#000"), 
               markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="average")]),
               markpoint_opts=opts.MarkPointOpts(data=[
                   opts.MarkPointItem(type_="max", name="最大值"),
                   opts.MarkPointItem(type_="min", name="最小值")
               ]))
    .set_global_opts(title_opts=opts.TitleOpts(title="2018年北京PM2.5全年走势图", 
                                               pos_top='5%', 
                                               pos_left='center'),
                     xaxis_opts=opts.AxisOpts(type_="category"),
                     yaxis_opts=opts.AxisOpts(type_="value"))
)

# 将图表渲染到 HTML 文件
line.render("./2018年北京PM2.5全年走势图.html")

结果如下:

3.2018 年北京月均AQI走势图

代码如下:

# 读取数据
df = pd.read_csv('beijing_AQI_2018.csv')

# 提取 Date 和 AQI 的值
dom = df[['Date', 'AQI']]

# 提取月份
df['month'] = df['Date'].apply(lambda x: x.split('/')[1])

# 根据月份分组并计算每月的 AQI 平均值
month_com = df.groupby('month')['AQI'].mean().reset_index()

# 排序月份
month_com = month_com.sort_values(by='month')

# 构造月份标签
attr = ["{}月".format(i) for i in range(1, 13)]

# 获取每月的 AQI 平均值
v1 = month_com['AQI'].tolist()
v1 = ["{}".format(int(i)) for i in v1]

# 创建折线图
line = (
    Line()
    .add_xaxis(attr)
    .add_yaxis("AQI月均值", v1, 
               markpoint_opts=opts.MarkPointOpts(data=[
                   opts.MarkPointItem(type_="max", name="最大值"),
                   opts.MarkPointItem(type_="min", name="最小值")
               ]))
    .set_global_opts(title_opts=opts.TitleOpts(title="2018年北京月均AQI走势图", 
                                               pos_top='5%', 
                                               pos_left='center'),
                     xaxis_opts=opts.AxisOpts(type_="category"),
                     yaxis_opts=opts.AxisOpts(type_="value"))
)

# 渲染图表到 HTML 文件
line.render("./2018年北京月均AQI走势图.html")

结果如下:

4.2018 年北京月均PM2.5走势图

代码如下:

# 读取数据
df = pd.read_csv('beijing_AQI_2018.csv')

# 提取 Date 和 PM 的值
dom = df[['Date', 'PM']]

# 提取月份
df['month'] = df['Date'].apply(lambda x: x.split('/')[1])

# 根据月份分组并计算每月的 PM 平均值
month_com = df.groupby('month')['PM'].mean().reset_index()

# 排序月份
month_com = month_com.sort_values(by='month')

# 构造月份标签
attr = ["{}月".format(i) for i in range(1, 13)]

# 获取每月的 PM 平均值
v1 = month_com['PM'].tolist()
v1 = ["{}".format(int(i)) for i in v1]

# 创建折线图
line = (
    Line()
    .add_xaxis(attr)
    .add_yaxis("PM2.5月均值", v1, 
               markpoint_opts=opts.MarkPointOpts(data=[
                   opts.MarkPointItem(type_="max", name="最大值"),
                   opts.MarkPointItem(type_="min", name="最小值")
               ]))
    .set_global_opts(title_opts=opts.TitleOpts(title="2018年北京月均PM2.5走势图", 
                                               pos_top='5%', 
                                               pos_left='center'),
                     xaxis_opts=opts.AxisOpts(type_="category"),
                     yaxis_opts=opts.AxisOpts(type_="value"))
)

# 渲染图表到 HTML 文件
line.render("./2018年北京月均PM2.5走势图.html")

结果如下:

5.2018年北京季度AQI箱形图

代码如下:

# 读取数据
df = pd.read_csv('beijing_AQI_2018.csv')

# 提取 Date 和 AQI 的值
dom = df[['Date', 'AQI']]
data = [[], [], [], []]
dom1, dom2, dom3, dom4 = data

# 根据季度提取 AQI 值
for date, aqi in zip(dom['Date'], dom['AQI']):
    month = int(date.split('/')[1])
    if month in [1, 2, 3]:
        dom1.append(aqi)
    elif month in [4, 5, 6]:
        dom2.append(aqi)
    elif month in [7, 8, 9]:
        dom3.append(aqi)
    else:
        dom4.append(aqi)

# 创建箱形图
boxplot = Boxplot()

# 设置 x 轴和 y 轴数据
x_axis = ['第一季度', '第二季度', '第三季度', '第四季度']
y_axis = [dom1, dom2, dom3, dom4]
y_axis = boxplot.prepare_data(y_axis)

# 添加数据到箱形图
boxplot.add_xaxis(x_axis)
boxplot.add_yaxis("AQI", y_axis)

# 设置图表全局选项
boxplot.set_global_opts(title_opts=opts.TitleOpts(title="2018年北京季度AQI箱形图", pos_left='center', pos_top='6%'))

# 渲染图表到 HTML 文件
boxplot.render("./2018年北京季度AQI箱形图.html")

结果如下:

6.2018年北京季度PM2.5箱形图

代码如下:

# 读取数据
df = pd.read_csv('beijing_AQI_2018.csv')

# 提取 Date 和 PM 的值
dom = df[['Date', 'PM']]
data = [[], [], [], []]
dom1, dom2, dom3, dom4 = data

# 根据季度提取 PM 值
for date, pm in zip(dom['Date'], dom['PM']):
    month = int(date.split('/')[1])
    if month in [1, 2, 3]:
        dom1.append(pm)
    elif month in [4, 5, 6]:
        dom2.append(pm)
    elif month in [7, 8, 9]:
        dom3.append(pm)
    else:
        dom4.append(pm)

# 创建箱形图
boxplot = Boxplot()

# 设置 x 轴和 y 轴数据
x_axis = ['第一季度', '第二季度', '第三季度', '第四季度']
y_axis = [dom1, dom2, dom3, dom4]
y_axis = boxplot.prepare_data(y_axis)

# 添加数据到箱形图
boxplot.add_xaxis(x_axis)
boxplot.add_yaxis("PM2.5", y_axis)

# 设置图表全局选项
boxplot.set_global_opts(title_opts=opts.TitleOpts(title="2018年北京季度PM2.5箱形图", pos_left='center', pos_top='6%'))

# 渲染图表到 HTML 文件
boxplot.render("./2018年北京季度PM2.5箱形图.html")

结果如下:

7.2018年北京全年空气质量情况

代码如下:

# 读取数据
df = pd.read_csv('beijing_AQI_2018.csv')

# 根据 Quality_grade 分组
rank_message = df.groupby(['Quality_grade'])

# 计算每个 Quality_grade 的频数
rank_com = rank_message['Quality_grade'].agg(['count'])
rank_com.reset_index(inplace=True)  # 重置索引
rank_com_last = rank_com.sort_values('count', ascending=False)  # 从大到小排序

# 提取 Quality_grade 和对应的频数
attr = rank_com_last['Quality_grade'].tolist()
v1 = rank_com_last['count'].tolist()

# 创建饼图
pie = (
    Pie()
    .add("", [list(z) for z in zip(attr, v1)], radius=["40%", "75%"], 
         label_opts=opts.LabelOpts(is_show=True, formatter="{b}: {d}%"))
    .set_global_opts(title_opts=opts.TitleOpts(title="2018年北京全年空气质量情况", pos_left='center', pos_top='0'),
                     legend_opts=opts.LegendOpts(is_show=True, orient="vertical", pos_left="left", pos_top="10%"))
)

# 渲染图表到 HTML 文件
pie.render('./2018年北京全年空气质量情况.html')

结果如下:

8.2018年北京PM2.5指数日历图

代码如下:

# Read data from 'beijing_AQI_2018.csv'
df = pd.read_csv('beijing_AQI_2018.csv')

# Extract 'Date' and 'PM' columns
dom = df[['Date', 'PM']]

list1 = []

# Compress the date and PM values into a list of lists
for i, j in zip(dom['Date'], dom['PM']):
    time_list = i.split('/')
    time = datetime.date(int(time_list[0]), int(time_list[1]), int(time_list[2]))
    PM = int(j)
    list1.append([str(time), PM])

# Create a calendar chart
calendar = (
    Calendar(init_opts=opts.InitOpts(width="800px", height="400px"))
    .add(
        series_name="2018年北京PM2.5指数日历图",
        yaxis_data=list1,
        calendar_opts=opts.CalendarOpts(range_="2018"),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="2018年北京PM2.5指数日历图", pos_left="center",pos_top='50%'),
        visualmap_opts=opts.VisualMapOpts(
            max_=300, min_=0, orient="horizontal", is_piecewise=True,
            pos_top='60%',  # 将视觉映射放置在图表的顶部
            pos_left='center'  # 将视觉映射放置在图表的水平居中位置
        ),
    )
)

# Render the chart to an HTML file
calendar.render('./2018年北京PM2.5指数日历图.html')

结果如下:

9.2018 年北上广深AQI全年走势图

代码如下:


citys = ['beijing', 'shanghai', 'guangzhou', 'shenzhen']
cityes_AQI = []

# 遍历四个城市的数据
for city in citys:
    filename = city + '_AQI' + '_2018.csv'
    aqi_data = pd.read_csv(filename)

    # 提取日期和AQI指数两列内容
    get_data = aqi_data[['Date', 'AQI']]

    # 获取每行数据的月份
    month_for_data = [j.split('/')[1] for j in get_data['Date']]
    aqi_data['Month'] = month_for_data

    # 求每个月AQI平均值
    month_AQI = aqi_data.groupby(['Month'])['AQI'].mean().reset_index()

    # 获取每个城市月均AQI的数据,转化为int数据类型
    city_AQI_data_int = month_AQI['AQI'].astype(int).tolist()
    cityes_AQI.append(city_AQI_data_int)

months = [str(i) + '月' for i in range(1, 13)]

line = (
    Line(init_opts=opts.InitOpts(width="800px", height="400px"))
    .add_xaxis(months)
    .add_yaxis("北京", cityes_AQI[0], color='red', label_opts=opts.LabelOpts(is_show=False))
    .add_yaxis("上海", cityes_AQI[1], color='purple', label_opts=opts.LabelOpts(is_show=False))
    .add_yaxis("广州", cityes_AQI[2], color='blue', label_opts=opts.LabelOpts(is_show=False))
    .add_yaxis("深圳", cityes_AQI[3], color='orange', label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        title_opts=opts.TitleOpts(title="2018年北上广深AQI全年走势图", pos_left='center', pos_top='0'),
        legend_opts=opts.LegendOpts(orient="horizontal", pos_top="8%"),
    )
)

line.render('./2018年北上广深AQI全年走势图.html')  # 生成HTML文件,保存在当前目录下

结果如下:

10.2018 年北上广深PM2.5全年走势图

代码如下:

import numpy as np
import pandas as pd
from pyecharts.charts import Line
from pyecharts import options as opts

citys = ['beijing', 'shanghai', 'guangzhou', 'shenzhen']
cityes_AQI = []

# 遍历四个城市的数据
for city in citys:
    filename = city + '_AQI' + '_2018.csv'
    aqi_data = pd.read_csv(filename)

    # 提取日期和PM2.5指数两列内容
    get_data = aqi_data[['Date', 'PM']]

    # 获取每行数据的月份
    month_for_data = [j.split('/')[1] for j in get_data['Date']]
    aqi_data['Month'] = month_for_data

    # 求每个月PM2.5平均值
    month_AQI = aqi_data.groupby(['Month'])['PM'].mean().reset_index()

    # 获取每个城市月均PM2.5的数据,转化为int数据类型
    city_AQI_data_int = month_AQI['PM'].astype(int).tolist()
    cityes_AQI.append(city_AQI_data_int)

months = [str(i) + '月' for i in range(1, 13)]

line = (
    Line(init_opts=opts.InitOpts(width="800px", height="400px"))
    .add_xaxis(months)
    .add_yaxis("北京", cityes_AQI[0], color='red', label_opts=opts.LabelOpts(is_show=False))
    .add_yaxis("上海", cityes_AQI[1], color='purple', label_opts=opts.LabelOpts(is_show=False))
    .add_yaxis("广州", cityes_AQI[2], color='blue', label_opts=opts.LabelOpts(is_show=False))
    .add_yaxis("深圳", cityes_AQI[3], color='orange', label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        title_opts=opts.TitleOpts(title="2018年北上广深PM2.5全年走势图", pos_left='center', pos_top='0'),
        legend_opts=opts.LegendOpts(orient="horizontal", pos_top="8%"),
    )
)

line.render('./2018年北上广深PM2.5全年走势图.html')  # 生成HTML文件,保存在当前目录下

结果如下:

11.2018 年北上广深全年空气质量情况

代码如下:

citys = ['beijing', 'shanghai', 'guangzhou', 'shenzhen']
v = []
attrs = []
for i in range(4):
    filename =  citys[i] + '_AQI' + '_2018.csv'
    df = pd.read_csv(filename)
    
    # 根据 Quality_grade 分组
    Quality_grade_message = df.groupby(['Quality_grade'])
    # 每组的频数
    Quality_grade_com = Quality_grade_message['Quality_grade'].agg(['count'])
    Quality_grade_com.reset_index(inplace=True)
    Quality_grade_com_last = Quality_grade_com.sort_values('count', ascending=False)
    # 取 Quality_grade 的值
    Quality_grade_array = Quality_grade_com_last['Quality_grade'].values.tolist()
    attrs.append(Quality_grade_array)
    Quality_grade_count = Quality_grade_com_last['count'].values.tolist()
    v.append(Quality_grade_count)


# 创建饼图并设置属性
pie1 = (
    Pie()
    .add("北京", [list(z) for z in zip(attrs[0], v[0])], radius=["20%", "40%"], center=["30%", "27%"],)
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))
    .set_global_opts(title_opts=opts.TitleOpts(title="北京", pos_left='27%', pos_top='25%'),
                     legend_opts=opts.LegendOpts(orient="vertical", pos_right="5%", pos_top="35%"))
)

pie2 = (
    Pie()
    .add("上海", [list(z) for z in zip(attrs[1], v[1])], radius=["20%", "40%"], center=["70%", "27%"],)
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))
    .set_global_opts(title_opts=opts.TitleOpts(title="上海", pos_left='67%', pos_top='25%'),
                     legend_opts=opts.LegendOpts(is_show=False))
)

pie3 = (
    Pie()
    .add("广州", [list(z) for z in zip(attrs[2], v[2])], radius=["20%", "40%"], center=["30%", "77%"],)
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))
    .set_global_opts(title_opts=opts.TitleOpts(title="广州", pos_left='27%', pos_top='75%'),
                     legend_opts=opts.LegendOpts(is_show=False))
)

pie4 = (
    Pie()
    .add("深圳", [list(z) for z in zip(attrs[3], v[3])], radius=["20%", "40%"], center=["70%", "77%"],)
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))
    .set_global_opts(title_opts=opts.TitleOpts(title="深圳", pos_left='67%', pos_top='75%'),
                     legend_opts=opts.LegendOpts(is_show=False))
)



# 创建 Grid 并添加饼图
grid = (
    Grid()
    .add(pie1, grid_opts=opts.GridOpts(pos_left="5%", pos_right="50%", pos_top="10%"))
    .add(pie2, grid_opts=opts.GridOpts(pos_left="55%", pos_right="5%", pos_top="10%"))
    .add(pie3, grid_opts=opts.GridOpts(pos_left="5%", pos_right="50%", pos_top="50%"))
    .add(pie4, grid_opts=opts.GridOpts(pos_left="55%", pos_right="5%", pos_top="50%"))
)

grid.render('./2018年北上广深全年空气质量情况.html')

结果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1802829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】栈的应用

目录 0 引言 1 栈在括号匹配中的应用 2 栈在表达式求值中的应用 2.1 算数表达式 2.2 中缀表达式转后缀表达式 2.3 后缀表达式求值 3 栈在递归中的应用 3.1 栈在函数调用中的作用 3.2 栈在函数调用中的工作原理 4 总结 0 引言 栈(Stack)是一…

Python001

Python 是一种高级编程语言。它具有以下显著特点:1. 简单易学:语法相对简洁明了,对初学者很友好。2. 丰富的库:拥有大量强大的内置库和第三方库,可用于各种领域,如数据分析、机器学习、Web 开发等。3. 可读…

Python应用开发——30天学习Streamlit Python包进行APP的构建(5)

上几次我们已经将一些必备的内容进行了快速的梳理,让我们掌握了streanlit的凯快速上手,接下来我们将其它的一些基础函数再做简单的梳理,以顺便回顾我们未来可能用到的更丰富的函数来实现应用的制作。 st.write_stream 将生成器、迭代器或类似流的序列串流到应用程序中。 …

【网络编程开发】8.TCP连接管理与UDP协议 9.IP协议与ethernet协议

8.TCP连接管理与UDP协议 三次握手 三次握手的过程在TCP/IP网络通信中起着至关重要的作用,它不仅确保了数据的可靠传输,还为两端的数据传输提供了稳定的连接初始化过程。这一过程涉及到几个关键步骤,每个步骤都有其特定的目的和功能。 步骤&…

你可以直接和数据库对话了!DB-GPT 用LLM定义数据库下一代交互方式,数据库领域的GPT、开启数据3.0 时代

✨点击这里✨:🚀原文链接:(更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号!) 你可以直接和数据库对话了!DB-GPT 用LLM定义数据库下一代交互方式,数据库领…

前端开发高频面试题

好的,以下是对您提出的问题的详细回答: 说说vue动态权限绑定渲染列表(权限列表渲染) Vue中动态权限绑定渲染列表通常涉及以下步骤: 首先,通过API请求从服务器获取当前用户的权限数据。在Vue组件中&#xff…

Excel 生成所在月份的每一天列表

Excel 的 A2 格是日期 A1Fecha201/03/24 需要生成该日期所在月份的每一天的列表 A1WholeMonth201/03/24302/03/24403/03/24504/03/24605/03/24706/03/24807/03/24908/03/241009/03/241110/03/241211/03/241312/03/241413/03/241514/03/241615/03/241716/03/241817/03/241918…

【稳定检索/投稿优惠】2024年智慧金融与财务管理国际会议(SFFM 2024)

2024 International Conference on Smart Finance and Financial Management 2024年智慧金融与财务管理国际会议 【会议信息】 会议简称:SFFM 2024 截稿时间:以官网为准 大会地点:中国广州 会议官网:www.iacsffm.com 会议邮箱&am…

【python】OpenCV—Cartoonify and Portray

参考来自 使用PythonOpenCV将照片变成卡通照片 文章目录 1 卡通化codecv2.medianBlurcv2.adaptiveThresholdcv2.kmeanscv2.bilateralFilter 2 肖像画cv2.divide 1 卡通化 code import cv2 import numpy as npdef edge_mask(img, line_size, blur_value):gray cv2.cvtColor(…

idea2023如何创建普通maven工程项目

解决 1.创建新项目 1.进入创建项目 File -> new -> project 2,project 中有 build system 选择maven 2.在已有项目中创建普通maven工程 1.右键项目选择 new -> Module 2.选择 new Module 其实与新建maven工程没什么区别 em:问题 idea以前的版本是在Mav…

【一百一十】【算法分析与设计】[SDOI2009] HH的项链,树状数组应用,查询区间的种类数,树状数组查询区间种类数

P1972 [SDOI2009] HH的项链 [SDOI2009] HH的项链 题目描述 HH 有一串由各种漂亮的贝壳组成的项链。HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH 不断地收集新的贝壳,因此&am…

第十二届蓝桥杯C++青少年组中/高级组选拔赛2020年11月22日真题解析

一、编程题 第1题&#xff1a;求和 【题目描述】 输入一个正整数 N(N < 100)&#xff0c;输出 1 到 N(包含 1 和 N)之间所有奇数的和。 【输入描述】 输入一个正整数 N(N < 100) 【输出描述】 输出 1 到 N 之间的所有奇数的和 【输入样例】 3【输出样例】 4答案&…

Llama模型家族之拒绝抽样(Rejection Sampling)(九) 强化学习之Rejection Sampling

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;一&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;二&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;三&#xff09; 基于 LlaMA…

利用streamlit结合langchain_aws实现claud3的页面交互

测试使用的代码如下 import streamlit as st from langchain_aws import ChatBedrockdef chat_with_model(prompt, model_id):llm ChatBedrock(credentials_profile_name"default", model_idmodel_id, region_name"us-east-1")res llm.invoke(prompt)re…

UiPath发送邮件给多人时需要注意哪些限制?

UiPath发送邮件给多人的步骤&#xff1f;如何使用UiPath发信&#xff1f; 尽管UiPath提供了强大的邮件发送功能&#xff0c;但在批量发送邮件时&#xff0c;有一些限制和注意事项是我们必须了解的。AokSend将详细介绍这些限制&#xff0c;并提供一些优化建议。 UiPath发送邮件…

视频监控管理平台LntonCVS视频汇聚平台充电桩视频监控应用方案

随着新能源汽车的广泛使用&#xff0c;公众对充电设施的安全性和可靠性日益重视。为了提高充电桩的安全管理和站点运营效率&#xff0c;LntonCVS公司推出了一套全面的新能源汽车充电桩视频监控与管理解决方案。 该方案通过安装高分辨率摄像头&#xff0c;对充电桩及其周边区域进…

纷享销客安全体系:安全合规认证

安全合规认证是指组织通过独立的第三方机构对其信息系统和数据进行评估和审查&#xff0c;以确认其符合相关的安全标准、法律法规和行业要求的过程。 安全合规认证可以帮助组织提高信息系统和数据的安全性&#xff0c;并向客户、合作伙伴和监管机构证明其符合相关的安全标准和…

python协程入门实战详解

本章将以通俗易懂、贴合实际的方式介绍以下内容&#xff1a; 协程是什么&#xff0c;有什么特点&#xff0c;协程的优势是什么如何理解事件和事件循环协程的创建方式&#xff0c;如何控制协程的并发量在协程中使用aiohttp发送HTTP请求aiohttp案例协程中的异常处理&#xff0c;…

如何使用Python的Turtle模块绘制小猪

一、前置条件 在开始学习如何使用Python的Turtle模块进行绘画之前&#xff0c;请确保你的电脑已安装Python环境。如果尚未安装Python&#xff0c;你可以从Python官网下载并安装最新版本。 Turtle模块是Python内置的一个用于绘图的库&#xff0c;通常不需要额外安装。如果你发…

使用 Ollama 和 Open WebUI 自托管 LLM 聊天机器人(无需 GPU)

✨点击这里✨&#xff1a;&#x1f680;原文链接&#xff1a;&#xff08;更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号&#xff01;&#xff09; 使用 Ollama 和 Open WebUI 自托管 LLM 聊天机器人&#xff08;无需 GPU&#xff09; &#x1f31…