当前位置: 首页 > news >正文

【数据可视化-88】航空公司航班数据分析与可视化:Python + pyecharts洞察航空旅行趋势

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

【数据可视化-88】航空公司航班数据分析与可视化:Python + pyecharts洞察航空旅行趋势

    • 一、引言
    • 二、数据概览
    • 三、数据可视化
      • 3.1 航空公司频率分析(玫瑰图)
      • 3.2 出发时间和到达时间分布(条形图)
      • 3.3 城市间航班分布(桑基图)
      • 3.4 航空公司价格对比(箱线图)
      • 3.5 出发时间与价格关系(热力图)
      • 3.6 提前购票天数与价格关系(散点图)
    • 四、创建可视化大屏
    • 五、可视化结果分析
      • 5.1 航空公司频率分析(玫瑰图)
      • 5.2 出发时间和到达时间分布(条形图)
      • 5.3 源城市和目的地城市分布(条形图)
      • 5.4 航空公司票价对比(箱线图)
      • 5.5 出发时间与价格关系(热力图)
      • 5.6 提前购票天数与价格关系(散点图)
    • 六、结论

一、引言

  在当今的全球化时代,航空旅行已成为连接世界的重要纽带。通过深入分析航空公司的航班数据,我们可以揭示旅行趋势、优化定价策略,并提升客户体验。本文将利用Python和pyecharts库对航空公司航班数据进行详尽的分析和可视化,以期为航空业提供数据驱动的洞察。

二、数据概览

  我们的数据集包含了以下关键特征:

  • 航空公司:涉及6家不同的航空公司。
  • 航班:飞机航班代码信息。
  • 始发城市和目的地城市:共6个独特的城市。
  • 出发时间和到达时间:包含6个唯一的时间标签。
  • 停靠点:源城市和目的地城市之间的停靠点数量,共3个不同值。
  • 等级:座位等级信息,包括商业和经济两种。
  • 持续时间:城市间旅行所需的总时间(小时)。
  • 剩余天数:旅行日期减去预订日期。
  • 价格:票价信息。

三、数据可视化

  为了更好地理解数据,我们将绘制以下几种图表:

  1. 航空公司频率分析(玫瑰图)
  2. 出发时间和到达时间分布(条形图)
  3. 源城市和目的地城市分布(条形图)
  4. 航空公司票价对比(箱线图)
  5. 出发时间与价格关系(热力图)
  6. 提前购票天数与价格关系(散点图)

3.1 航空公司频率分析(玫瑰图)

# 1. 航空公司频率分析(玫瑰图)
def airline_frequency():data = df['airline'].value_counts()c = (Pie(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color='#0A0A0A')).add(series_name="航空公司",data_pair=[list(z) for z in zip(data.index.tolist(), data.values.tolist())],radius=["30%", "70%"],rosetype="radius",label_opts=opts.LabelOpts(color="#fff"),).set_global_opts(title_opts=opts.TitleOpts(title="各航空公司航班频率分布", pos_left="center",title_textstyle_opts=opts.TextStyleOpts(color="#fff")),legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%", textstyle_opts=opts.TextStyleOpts(color="#fff")),))return c

3.2 出发时间和到达时间分布(条形图)

# 2. 出发时间和到达时间分布(条形图)
def time_distribution():dep_data = df['departure_time'].value_counts().sort_index()arr_data = df['arrival_time'].value_counts().sort_index()bar = (Bar().add_xaxis(dep_data.index.tolist()).add_yaxis("出发时间", dep_data.values.tolist(), stack="stack1").add_yaxis("到达时间", arr_data.values.tolist(), stack="stack1"))return bar

3.3 城市间航班分布(桑基图)

# 3. 城市间航班分布(桑基图)
def city_sankey():sankey = (Sankey(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color='#0A0A0A')).add(series_name="",nodes=nodes,links=links,linestyle_opt=opts.LineStyleOpts(opacity=0.3, curve=0.5, color="source"),label_opts=opts.LabelOpts(color="rgba(255,255,255,0.8)"),node_width=20,node_gap=10,))return sankey

3.4 航空公司价格对比(箱线图)

# 4. 航空公司价格对比(箱线图)
def airline_price_boxplot():boxplot = Boxplot()boxplot = (boxplot.add_xaxis(airlines.tolist()).add_yaxis("", y_axis=boxplot.prepare_data(data)))return boxplot

3.5 出发时间与价格关系(热力图)

# 5. 出发时间与价格关系(热力图)
def time_price_heatmap():heatmap = (HeatMap(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color='#0A0A0A')).add_xaxis(pivot_table.columns.tolist()).add_yaxis(series_name="价格",yaxis_data=pivot_table.index.tolist(),value=value,label_opts=opts.LabelOpts(is_show=True, position="inside"),))return heatmap

3.6 提前购票天数与价格关系(散点图)

# 6. 提前购票天数与价格关系(散点图)
def booking_days_price():scatter = (Scatter().add_xaxis(data['days_left'].tolist()).add_yaxis(series_name="价格",y_axis=data['mean_price'].tolist(),symbol_size=8,label_opts=opts.LabelOpts(is_show=False),))return scatter

四、创建可视化大屏

# 创建可视化大屏
def create_dashboard():page = Page(layout=Page.DraggablePageLayout, page_title="航空公司航班数据分析大屏")page.add(airline_frequency(),time_distribution(),city_sankey(),airline_price_boxplot(),time_price_heatmap(),booking_days_price())page.render("airline_dashboard.html")print("可视化大屏已生成: airline_dashboard.html")create_dashboard()

五、可视化结果分析

5.1 航空公司频率分析(玫瑰图)

  玫瑰图展示了不同航空公司的航班频率。通过图表,我们可以直观地看到哪些航空公司在数据集中占据主导地位。

5.2 出发时间和到达时间分布(条形图)

  条形图展示了不同出发时间和到达时间的航班数量。通过图表,我们可以观察到航班在一天中的分布情况,识别出高峰时段。

5.3 源城市和目的地城市分布(条形图)

  条形图展示了不同始发城市和目的地城市的航班数量。这有助于我们了解哪些城市之间的航班最为频繁。

5.4 航空公司票价对比(箱线图)

  箱线图展示了不同航空公司的票价分布。通过图表,我们可以分析出哪些航空公司的票价更高。

5.5 出发时间与价格关系(热力图)

  热力图显示了不同出发时间和到达时间的票价分布。这有助于我们了解票价在一天中的变化趋势。

5.6 提前购票天数与价格关系(散点图)

  散点图展示了提前购票天数与票价的关系。通过图表,我们可以分析出提前购票对票价的影响。

六、结论

  通过上述分析,我们可以得出以下结论:

  1. 某些航空公司在数据集中占据主导地位,这可能与它们的市场份额和运营策略有关。
  2. 航班在一天中的分布不均,存在明显的高峰时段,这可能与旅客的出行习惯和需求有关。
  3. 某些城市之间的航班更为频繁,这可能与这些城市的经济活动和旅游吸引力有关。
  4. 不同航空公司的票价存在差异,这可能与它们的服务水平和品牌形象有关。
  5. 票价在一天中的变化趋势可能与供需关系和运营成本有关。
  6. 提前购票对票价有显著影响,这表明提前预订可能有助于降低票价。

  这些分析结果可以帮助航空公司优化航班安排、调整票价策略,并提升客户满意度。


http://www.dtcms.com/a/328727.html

相关文章:

  • 通用安全指南
  • 关于在img标签的src里面直接使用“~/assets/images/xxx“可以,但是若将这个路径写成变量的形式就会报错
  • Java Stream API 中常用方法复习及项目实战示例
  • BGP综合实验_Te. BGP笔记
  • 七大排序算法全解析:从入门到精通
  • 开源模型应用落地-用LLaMA-Factory点亮Qwen3-4B的“读心术”(十九)
  • Java开发环境搭建(WIN+IDEA+Maven)
  • davici configurator 报错:License file of SIP has no valid checksum.
  • 高可用实战之Nginx + Apache篇
  • 【IntelliJ IDEA】如何在pom.xml中去除maven中未使用的依赖
  • EI学术会议 | 低碳经济、可持续发展
  • 人机虚拟样机仿真
  • Linux的进程信号
  • 开发WPF项目时遇到的问题总结
  • 《吃透 C++ 类和对象(中):构造函数与析构函数的核心逻辑》
  • WPF 开发的瑞士军刀:Prism 框架从入门到精通指南
  • k8s兼容沐曦c500
  • 【AI实践】本地部署ASR模型OpenAI Whisper
  • Kafka工作机制深度解析:Broker、Partition 与消费者组协作原理
  • 自由学习记录(83)
  • Linux 软件编程:文件IO、目录IO、时间函数
  • GitHub分支保护介绍(Branch Protection)(git分支保护)(通过设置规则和权限来限制对特定分支的操作的功能)
  • 11.用反射为静态类的属性赋值 C#例子 WPF例子
  • K8S中,kubectl cordon、uncordon、drain、taint的区别
  • 计算机网络---用户数据报协议User Datagram Protocol(UDP)
  • 【Part 4 未来趋势与技术展望】第一节|技术上的抉择:三维实时渲染与VR全景视频的共生
  • vue--video使用动态src时,视频不更新
  • Java零基础笔记16(Java编程核心:存储读写数据方案—File文件操作、IO流、IO框架)
  • 利用生成式AI与大语言模型(LLM)革新自动化软件测试 —— 测试工程师必读深度解析
  • PythonDay25