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

项目用到库

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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lambda-小张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值