【案例】航班准点分析

2023-11-04

1. 数据集

数据集为美国各州机场的航班信息,包含出发地,目的地,是否出发延迟15分钟,是否到达延迟15分钟等。

https://www.transtats.bts.gov/Fields.asp?Table_ID=236

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
#支持中文显示
mpl.rcParams['font.family']='Kaiti'
# 使用非unicode的负号,当使用中文时候要设置
mpl.rcParams['axes.unicode_minus']=False
%matplotlib inline

2. 数据探索和清洗

data = pd.read_csv('data/airport-ontime.csv')
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 502617 entries, 0 to 502616
Data columns (total 17 columns):
FL_DATE                  502617 non-null object
UNIQUE_CARRIER           502617 non-null object
ORIGIN_AIRPORT_ID        502617 non-null int64
ORIGIN_AIRPORT_SEQ_ID    502617 non-null int64
ORIGIN_CITY_MARKET_ID    502617 non-null int64
ORIGIN_STATE_ABR         502617 non-null object
DEST_AIRPORT_ID          502617 non-null int64
DEST_AIRPORT_SEQ_ID      502617 non-null int64
DEST_CITY_MARKET_ID      502617 non-null int64
DEST_STATE_ABR           502617 non-null object
DEP_DELAY_NEW            492974 non-null float64
DEP_DEL15                492974 non-null float64
ARR_DELAY_NEW            490716 non-null float64
ARR_DEL15                490716 non-null float64
DISTANCE                 502617 non-null float64
DISTANCE_GROUP           502617 non-null int64
Unnamed: 16              0 non-null float64
dtypes: float64(6), int64(7), object(4)
memory usage: 65.2+ MB
# 处理缺失值
# data.head()
# DEP_DEL15:有9643 空值
# data['DEP_DEL15'].isnull().sum()
# ARR_DEL15:有11901 空值
# data['ARR_DEL15'].isnull().sum()

# 删除Uname列
data.dropna(axis=1,how='all',inplace=True)
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 502617 entries, 0 to 502616
Data columns (total 16 columns):
FL_DATE                  502617 non-null object
UNIQUE_CARRIER           502617 non-null object
ORIGIN_AIRPORT_ID        502617 non-null int64
ORIGIN_AIRPORT_SEQ_ID    502617 non-null int64
ORIGIN_CITY_MARKET_ID    502617 non-null int64
ORIGIN_STATE_ABR         502617 non-null object
DEST_AIRPORT_ID          502617 non-null int64
DEST_AIRPORT_SEQ_ID      502617 non-null int64
DEST_CITY_MARKET_ID      502617 non-null int64
DEST_STATE_ABR           502617 non-null object
DEP_DELAY_NEW            492974 non-null float64
DEP_DEL15                492974 non-null float64
ARR_DELAY_NEW            490716 non-null float64
ARR_DEL15                490716 non-null float64
DISTANCE                 502617 non-null float64
DISTANCE_GROUP           502617 non-null int64
dtypes: float64(5), int64(7), object(4)
memory usage: 61.4+ MB
# 重复值处理 duplicated方法处理
# data.duplicated().any()
# 查看重复的数据
# data[data.duplicated(keep=False)]

# 删除重复数据
data.drop_duplicates(inplace=True)
data.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 394113 entries, 0 to 502616
Data columns (total 16 columns):
FL_DATE                  394113 non-null object
UNIQUE_CARRIER           394113 non-null object
ORIGIN_AIRPORT_ID        394113 non-null int64
ORIGIN_AIRPORT_SEQ_ID    394113 non-null int64
ORIGIN_CITY_MARKET_ID    394113 non-null int64
ORIGIN_STATE_ABR         394113 non-null object
DEST_AIRPORT_ID          394113 non-null int64
DEST_AIRPORT_SEQ_ID      394113 non-null int64
DEST_CITY_MARKET_ID      394113 non-null int64
DEST_STATE_ABR           394113 non-null object
DEP_DELAY_NEW            386058 non-null float64
DEP_DEL15                386058 non-null float64
ARR_DELAY_NEW            383812 non-null float64
ARR_DEL15                383812 non-null float64
DISTANCE                 394113 non-null float64
DISTANCE_GROUP           394113 non-null int64
dtypes: float64(5), int64(7), object(4)
memory usage: 51.1+ MB

3. 起飞以及到达延迟情况

# 分析起飞、到达延迟总体状况
# 起飞延迟总体状况
# 0 表示没有延迟 1表示存在延迟
# data['DEP_DEL15'].head()
s = data['DEP_DEL15'].dropna()
delays = s.value_counts()
display(delays)
# 设置names属性为空,画出的饼图左边就不会显示DEP_DEL15
delays.name=''
delays.plot(kind='pie',labels=['起飞不延迟','起飞延迟'],autopct='%.2f',title='起飞延迟总体情况')
0.0    260977
1.0    125081
Name: DEP_DEL15, dtype: int64

<matplotlib.axes._subplots.AxesSubplot at 0x917b240>

在这里插入图片描述

# 到达延迟总体状况
s = data['ARR_DEL15'].dropna()
delays = s.value_counts()
# display(delays)
delays.name=''
delays.plot(kind='pie',labels=['到达不延迟','到达延迟'],autopct='%.2f',title='到达延迟总体情况')
<matplotlib.axes._subplots.AxesSubplot at 0x91fd710>

在这里插入图片描述

# 针对机场航班延迟数量来分析,找出哪个机场延迟航班数最多
# 机场起飞延迟  ORIGIN_STATE_ABR DEP_DEL15
# 缺失值处理
d = data[['ORIGIN_STATE_ABR','DEP_DEL15']].dropna()
depart_delay_couots = d.groupby('ORIGIN_STATE_ABR')['DEP_DEL15'].sum()
# 设置图形大小 figsize=(a,b) a表示图形宽,b表示图形高,单位英寸
depart_delay_couots.sort_values(ascending=False).plot(kind='bar',figsize=(14,6))
<matplotlib.axes._subplots.AxesSubplot at 0xba25710>

在这里插入图片描述

# 机场到达延迟  DEST_STATE_ABR   ARR_DEL15
# 缺失值处理
d = data[['DEST_STATE_ABR','ARR_DEL15']].dropna()
arrive_delay_couots = d.groupby('DEST_STATE_ABR')['ARR_DEL15'].sum()
# # 设置图形大小 figsize=(a,b) a表示图形宽,b表示图形高,单位英寸
arrive_delay_couots.sort_values(ascending=False).plot(kind='bar',figsize=(14,6))
<matplotlib.axes._subplots.AxesSubplot at 0xc2e5e48>

在这里插入图片描述

# 合并机场起飞和延迟状况
# display(depart_delay_couots,arrive_delay_couots)
delay_df=pd.DataFrame([depart_delay_couots,arrive_delay_couots]).T
delay_df.columns=['起飞延迟','到达延迟']
delay_df.sort_values('起飞延迟',ascending=False).plot(kind='bar',figsize=(14,6),title='机场起飞到达延迟状况')
<matplotlib.axes._subplots.AxesSubplot at 0x11d2eef0>

在这里插入图片描述

# 按照机场航班延迟的百分比分析,  机场延迟的航班数/机场航班
# 起飞   机场起飞延迟的航班数  depart_delay_couots
# d = data[['ORIGIN_STATE_ABR','DEP_DEL15']].dropna()
# departs = d['ORIGIN_STATE_ABR'].value_counts()
# # depart_delay_couots 矢量化除以 departs
# pct_departure_delays = depart_delay_couots/departs
# pct_departure_delays

# 到达延迟百分比
# d = data[['DEST_STATE_ABR','ARR_DEL15']].dropna()
# # 计算到达航班的数量
# arrives = d['DEST_STATE_ABR'].value_counts()
# # arrive_delay_couots 机场到达延迟航班数
# pct_arrive_delays = arrive_delay_couots/arrives
# pct_arrive_delays

# 将起飞延迟和到达延迟组合成DataFrame,柱状图描述
pct_delay_df=pd.DataFrame([pct_departure_delays,pct_arrive_delays]).T
pct_delay_df.columns=['起飞延迟比例','到达延迟比例']
# display(pct_departure_delays,pct_arrive_delays)
pct_delay_df.sort_values('起飞延迟比例',ascending=False).plot(kind='bar',title='机场起飞到达延迟百分比',figsize=(14,6))
<matplotlib.axes._subplots.AxesSubplot at 0x209707b8>

在这里插入图片描述

4. 数据库样式

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【案例】航班准点分析 的相关文章

  • OpenWRT UCI介绍及相关处理库

    OpenWRT UCI介绍及相关处理库 文章目录 OpenWRT UCI介绍及相关处理库 1 前言 2 概念 3 UCI配置文件 4 文件语法 5 命令行实用工具 5 1 用法 5 2 示例 导出整个配置 查看所有配置项的值 查看特定选项的
  • [Dotween] 介绍与使用,和坑

    Dotween 是在unity里实现各种动画效果 比如 位移 transform DoMove 旋转 transform DoRotation 缩放 transform DoScale 颜色改变 image DoColor 延时调用 Dov
  • QT中的QVariant类型-万能变量

    转自 https blog csdn net xiaopei yan article details 81410092 前言 QVariant这个类很神奇 或者说方便 很多时候 需要几种不同的数据类型需要传递 如果用结构体 又不大方便 容器

随机推荐

  • Vue前端自动化测试-Vue Test Utils

    Vue Test Utils简介 vue test utils是vue官方的单元测试框架 提供了一系列非常方便的工具 使我们更轻松地为vue构建的应用来编写单元测试 主流的JavaScript测试运行器有很多 但vue test utils
  • 中国人民大学和加拿大女王大学,学历的提升也是竞争力的提升

    如果想要读研提升自己在工作岗位上的竞争力和专业能力 报考在职研究生是一共非常不错的方式 在职研究生顾名思义就说国家计划内 以在职人员的身份 部分时间在职工作 部分时间在校学习的一种研究生类型 也是我国高等教育的重要组成部分 中国人民大学和加
  • 西洋经济史的趣味-赖建诚

    1990年代 台湾清华大学西洋经济史的老师 将的都是一些趣味性和严肃性的东西 明白一些经济学常识 1 经济学史到1993年 两个人获得诺贝尔经济学奖之后 才收到重视 2 这本书讲到了经济学史的重要性 3 火车轨道为什么是四尺八寸 因为这是国
  • web前端笔记

    web前端笔记 css选择器 标记选择器 如 div p 标签p id选择器 id class选择器 类名 通配符选择器 css文件外部链接 属性与属性之间用空格隔开 不是用逗号 HTML标签 双标签 p p 段落标签 标题标签 p h1
  • 微信开发 接口配置失败的坑新手注意

    申请的SAE 用来微信开发 填写完URL TOKEN后总会莫名其妙的爆出配置失败 如下的错误 出现这种原因有如下的原因 看你中招了没 1 最基本的检查这两个地方是否正确 怎么检查 不用我说吧 2 当发现上面的填写没问题 那就看这个你中招没
  • pandoc(markdown、latex、pdf、word相互转换的命令行工具)

    Markdown Pandoc 打通写作界的任督二脉 duqi yc的专栏 博客频道 CSDN NET http blog csdn net duqi yc article details 8974041 中文markdown转pdf Fl
  • java堆年轻代_Java堆(年轻代 -- 老年代 -- 永久代)

    JVM所管理的内存空间中 Java堆是最大的一块 主要用于存放各类实例对象 如下图 JVM中的堆被划分为两个不同区域 新生代Young 老年代Old 新生代又划分为Eden 伊甸 标志新生 Survivor0 s0 Survivor s1
  • 使用IDEA打包springcloud项目的jar包并发布至linux服务器

    前言 首先保证自己的springcloud项目在本地跑的通的 使用springcloud有可能缺少依赖的jar包 报 Java 程序包xxxx不存在 出现这种情况 因为配置Java的程序包这块出现了错误 同时可能你还没有设置让IDEA自动加
  • 【2023知乎爬虫】批量获取问题的全部回答

    一 需求 爬取任意问题下的所有回答 如下图 1 根据问题 批量获取问题下的所有回答 与对应问题的关系到answer csv文件 2 保存当前问题基本信息到quesiton info csv文件 二 展示爬取结果 三 讲解步骤 3 1 新建项
  • 《动手学深度学习 Pytorch版》 4.4 模型选择、欠拟合和过拟合

    4 4 1 训练误差和泛化误差 整节理论 详见书本 4 4 2 模型选择 整节理论 详见书本 4 4 3 欠拟合还是过拟合 整节理论 详见书本 4 4 4 多项回归 import math import numpy as np import
  • 表格嵌套表格数据

    表格嵌套表格数据 通常我们做联表查询 为了接收返回的数据我们往往需要书写一个类 这个类包含着接收两张表的数据字段 如下图 这是一种写法 但是如果面对一张表里的字段太多 那就得一个个去将这些字段写进类里 这种写法还可能让你的代码看上去比较繁杂
  • 手把手教你搭建ROS阿克曼转向小车之(霍尔编码器数据读取与速度计算)

    上一篇文章已经介绍了如何驱动直流有刷电机转动起来 这篇文章讲解如何获取编码器的计数值 并且计算出速度信息 在实际的运行中 随着机器的重量不一样 电机受到的阻力就会不一样 给定同样的PWM在不同载重的情况下速度会不一样 要解决这个问题就需要引
  • RFID自助借还书机给图书馆带来的优势

    自助借还书机系统是智慧图书馆的主要组成部分 自助借还书机系统主要通过对粘贴有电子标签或条形码的图书进行扫描识别 将其信息反馈到自助借还书机系统当中进行处理 自动完成借阅与归还 自助借还书机的操作页面简洁 用户操作快捷方便 而且其硬件设备简洁
  • 李沐大神动手学深度学习——学习笔记(不定期连载)

    最近在看李沐大佬的动手学深度学习 讲的非常基础 从很基础的开始讲 很易懂 这里记一些在之前没碰到过的在他代码里出现过的写法 and一些问题 当做学习记录 不定期连载更新 简单的目录 前12集 1 torch的tensor高级索引用法 2 p
  • 《machine learning》3线性代数

    3 1 矩阵和向量 矩阵Matrix Recrangular array of numbers R 4 2 R 4 2 R4 2 4行2列矩阵 矩阵的项
  • 开源api_开源IP地理位置API

    开源api Geo location is the identification or estimation of the real world geographic location of an Internet connected co
  • 解决falcon不能注册的问题

    参照
  • 导出开发板根文件系统rootfs

    环境 1 Windows子系统Linux Ubuntu18 没有安装子系统的 虚拟机也是一样 需要注意的是Windows子系统Linux Ubuntu18需要是WSL2版本 2 开发板RK3288 安装SSH 并允许root登录 3 开发板
  • Week 3 Git&Github: create a branch and push it to remote

    本节讲 在本地仓库创建分支之后 怎么同步到远程仓库 用到的命令有 git checkout b newbranch 创建并跳转到新的分支 git commit a m 提交更改 git push u origin newbranch 向远程
  • 【案例】航班准点分析

    文章目录 1 数据集 2 数据探索和清洗 3 起飞以及到达延迟情况 4 数据库样式 1 数据集 数据集为美国各州机场的航班信息 包含出发地 目的地 是否出发延迟15分钟 是否到达延迟15分钟等 https www transtats bts