Pandas+Pyecharts | 北京近五年历史天气数据可视化


大家好,我是 👉 【Python当打之年(点击跳转)】

本期利用 python 的 pyecharts 可视化库绘制 北京市历史天气数据,看看 历史高温、历史低温分布以及白天、夜晚的风力、风向分布等情况,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。

🏳️‍🌈 1. 导入模块

import pandas as pd
from pyecharts.charts import Line
from pyecharts.charts import Bar
from pyecharts.charts import Scatter
from pyecharts.charts import Pie
from pyecharts.charts import EffectScatter
from pyecharts.charts import Calendar
from pyecharts.charts import Polar
from pyecharts import options as opts
import warnings
warnings.filterwarnings('ignore')

🏳️‍🌈 2. Pandas数据处理

2.1 读取数据

df_weather = pd.read_excel('./2018-2022年天气数据.xlsx')

在这里插入图片描述

2018-2022年五年的历史天气数据共1839条。

2.2 处理最低气温最高气温数据

df_weather_1 = df_weather.copy()
df_weather_1[['最低气温','最高气温']] = df_weather_1['最低气温/最高气温'].str.split(' / ',expand=True)
df_weather_1['最低气温'] = df_weather_1['最低气温'].str[:-2]
df_weather_1['最高气温'] = df_weather_1['最高气温'].str[:-1]
df_weather_1['最低气温'] = df_weather_1['最低气温'].astype('int')
df_weather_1['最高气温'] = df_weather_1['最高气温'].astype('int')

在这里插入图片描述

2.3 处理日期数据

df_weather_1['日期'] = pd.to_datetime(df_weather_1['日期'],format='%Y年%m月%d日')
df_weather_1['日期s'] = df_weather_1['日期'].dt.strftime('%Y/%m/%d')

在这里插入图片描述

2.4 处理风力风向数据

在这里插入图片描述

🏳️‍🌈 3. Pyecharts数据可视化

3.1 2018-2022年历史温度分布

def get_scatter():
    scatter = (
        Scatter()
        .add_xaxis(x_data)
        .add_yaxis("最低气温", y_data1)
        .add_yaxis("最高气温", y_data2)
        .set_global_opts(
            legend_opts=opts.LegendOpts(is_show=False),
            visualmap_opts=opts.VisualMapOpts(
                is_show=False,
                range_color=range_color
            ),
            title_opts=opts.TitleOpts(
                title='1-2018-2022年历史温度分布',
                pos_top='1%',
                pos_left="1%",
            )
        )
    )

在这里插入图片描述

3.2 2022年历史温度分布

在这里插入图片描述
历史最高温度39℃,历史最低温度-12℃。

3.3 2021年历史温度分布

def get_calendar():
    calendar = (
        Calendar()
        .add('',
             data_21,
             calendar_opts=opts.CalendarOpts(
                 pos_right='5%',
                 range_='2021',
                daylabel_opts=opts.CalendarDayLabelOpts(name_map='cn'),
                monthlabel_opts=opts.CalendarMonthLabelOpts(name_map='cn')
             ),
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title='3-2021年历史温度分布',
                pos_top='1%',
                pos_left="1%",
            ),
            visualmap_opts=opts.VisualMapOpts(
                range_color=range_color,
            )
        )
    )

在这里插入图片描述

3.4 2019年历史温度分布

在这里插入图片描述

3.5 2022年夜间_白天风力分布

def get_pie():
    pie = (
        Pie()
        .add(
            "",
            [list(z) for z in zip(x_data, y_data1)],
            radius=["30%", "50%"],
            center=["30%", "55%"],
        )
        .add(
            "",
            [list(z) for z in zip(x_data, y_data2)],
            radius=["30%", "50%"],
            center=["70%", "55%"],
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title='5-2022年夜间_白天风力分布',
                pos_top='1%',
                pos_left="1%",
            ),
            legend_opts=opts.LegendOpts(pos_top='10%'),
            visualmap_opts=opts.VisualMapOpts(
                is_show=False,
                range_color=range_color
            ),
        )
    )

在这里插入图片描述

3.6 2022年夜间风向分布

def get_polor():
    polor = (
        Polar()
        .add("", values,type_="bar")
        .set_global_opts(
            legend_opts=opts.LegendOpts(is_show=False),
            visualmap_opts=opts.VisualMapOpts(
                is_show=False,
                range_color=range_color
            ),
            title_opts=opts.TitleOpts(
                title='6-2022年夜间风向分布',
                pos_top='1%',
                pos_left="1%",
            ),
        )
    )

在这里插入图片描述

3.7 2022年白天风向分布

在这里插入图片描述

3.8 2018-2022年各类型天气数量

def get_bar():
    bar = (
        Bar()
        .add_xaxis(x_data)
        .add_yaxis("",y_data)
        .set_global_opts(
            visualmap_opts=opts.VisualMapOpts(
                is_show=False,
                range_color=range_color
            ),
            legend_opts=opts.LegendOpts(is_show=False),
            title_opts=opts.TitleOpts(
                title='8-2018-2022年各类型天气数量',
                pos_top='1%',
                pos_left="1%",
            ),
        )
    )

在这里插入图片描述

3.9 2018-2022年每月平均最高温度

在这里插入图片描述

🏳️‍🌈 可视化项目源码+数据

点击跳转:【全部可视化项目源码+数据】


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享注明出处)让更多人知道。

PandasPyecharts 是两个强大的 Python 库,常用于数据分析数据可视化。当你需要对旅游数据进行处理和展示时,可以按照以下步骤操作: 1. **数据导入**:首先,使用 Pandas 的 `read_csv` 函数从CSV文件或其他数据源读取旅游数据到 DataFrame 中,方便地存储和管理。 ```python import pandas as pd df_travel = pd.read_csv('tour_data.csv') ``` 2. **数据预处理**:清洗数据、处理缺失值、转换格式等,确保数据适合分析。 3. **数据聚合**:如果数据分散,可能需要按地区、时间等维度进行分组计算,如平均游客量、总销售额等。 ```python grouped_data = df_travel.groupby(['地区', '月份']).agg({'游客数': 'sum', '收入': 'mean'}) ``` 4. **创建图表**:然后利用 Pyecharts 创建图表。例如,可以创建一个柱状图来显示各地区的游客分布,或者折线图展示月度旅游趋势。 ```python from pyecharts import options as opts from pyecharts.charts import Bar bar_chart = ( Bar() .add_xaxis(grouped_data.index.get_level_values(0)) # 地区 .add_yaxis("游客数", grouped_data['游客数']) # 数据 .set_global_opts(title_opts=opts.TitleOpts(title="各地区游客分布")) ) bar_chart.render('游客分布.html') # 保存图表到本地HTML文件 ``` 5. **地图可视化**:对于地理位置的数据,可以结合 Folium 或其他地图库将数据映射到地图上,展示旅行热度。 6. **动态可视化**:如果数据包含时间序列信息,还可以创建交互式的时间序列图表,如Echarts中的Timeline组件。 完成上述步骤后,你就有了基于PandasPyecharts对旅游数据进行的初步可视化报告。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Python当打之年

您的鼓励是我创作的最大动力!

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

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

打赏作者

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

抵扣说明:

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

余额充值