文章目录

  • 1. 数据集
  • 2. 数据探索和清洗
  • 3. 起飞以及到达延迟情况
  • 4. 数据库样式

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. 数据库样式

【案例】航班准点分析相关推荐

  1. linux中自动化日志分析,Shell项目案例7-应用日志分析

    2019年录制SHell新课地址 贴切企业脚本编写思路讲解,带你玩Shell脚本编程实战. 本套课程从实际项目案例出发,近100个Shell实例讲解,由浅入深,循序渐进,带你玩转Shell编程的方方面 ...

  2. 视频教程-经典Vue从入门到案例到源码分析教程(含资料)-Vue

    经典Vue从入门到案例到源码分析教程(含资料) 张长志技术全才.擅长领域:区块链.大数据.Java等.10余年软件研发及企业培训经验,曾为多家大型企业提供企业内训如中石化,中国联通,中国移动等知名企业 ...

  3. 【可视化分析案例】用python分析Top100排行榜数据

    目录 一.数据源 二.数据读取 三.数据概览 四.数据清洗 五.可视化分析 5.1 相关性分析(Correlation) 5.2 饼图(Pie) 5.3 箱形图(Boxplot) 5.4 词云图(wo ...

  4. 【Autopsy数字取证篇】Autopsy案例创建与镜像分析详细教程

    [Autopsy数字取证篇]Autopsy案例创建与镜像分析详细教程 Autopsy是一款非常优秀且功能强大的免费开源数字取证分析工具.-[蘇小沐] 文章目录 [Autopsy数字取证篇]Autops ...

  5. 【python代码实现】人工神经网络分类算法及其实战案例(股票价格波动分析)

    目录 前置知识 1.前言 2.人工神经网络模型 2.1.神经元模型与单层神经网络 2.2.多层人工神经网络模型 人工神经网络分类算法 1.构建数据集 2.响应函数 3.模型训练 4.测试样本分类 案例 ...

  6. Spark商业案例与性能调优实战100课》第3课:商业案例之通过RDD分析大数据电影点评系各种类型的最喜爱电影TopN及性能优化技巧

    Spark商业案例与性能调优实战100课>第3课:商业案例之通过RDD分析大数据电影点评系各种类型的最喜爱电影TopN及性能优化技 源代码 package com.dt.spark.coresi ...

  7. rust营火为什么放不下去_从一个研发质量案例看,5why分析法,为什么分析不下去了?...

    近期群里,有一个同学在我的软件质量群里,发出一段SOS信息. 写不下去了,有没有擅长软件质量根因分析的丫,求指导? 其他编不下去了,哈哈!! 同学以为为了应付客户写的8D报告,在办公室做这编报告呢.但 ...

  8. python电视剧口碑分析_小案例(七):口碑分析(python)

    微信公众号:机器学习养成记 搜索添加微信公众号:chenchenwings <菜鸟侦探挑战数学分析>小案例,python实现第七弹 案件回顾 商业街口碑分析 1,顾客在网络上会发表对商品或 ...

  9. python机器学习案例系列教程——关联分析(Apriori、FP-growth)

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 关联分析的基本概念 关联分析(Association Analysis):在大规模数据集中寻找有趣的关系. 频繁项集(Frequent ...

最新文章

  1. MQTT 与 Kafka
  2. SYN攻击SYN Attack
  3. oc35--自定义构造方法
  4. 传递命令行参数示例代码 (C 和 Python)
  5. Net5 已经来临,让我来送你一个成功
  6. 使用Redis创建分布式锁
  7. 408计算机考研大纲 doc,2020计算机专业408基础综合考研大纲
  8. 收录网zblog主题导航模板
  9. Java基础-hashMap原理剖析
  10. KVM Tracing, perf_events
  11. ​Azure 助力下,C9 电竞战队所向披靡!​
  12. java获取网页表单数据,转发与重定向,使用application统计访问次数
  13. 焊接工时简便计算工具_2020年新版机械加工工时费用计算(17页)-原创力文档...
  14. win7变成xp风格了怎么改回_win7怎么变成xp界面|win7系统变成xp界面主题的方法
  15. POC_Jenkins
  16. 3dmax2014 uv用法_3dmax2014UVW是什么意思,怎么展开UVWID:30075914
  17. C盘数据丢失恢复详解和注意事项
  18. c喱c喱是哪国语言,c喱c哩歌词。不要音译
  19. JS-关于原型与原型链这件事
  20. fluke dtx-1800测试精度有必要进行原厂校准吗?

热门文章

  1. under replicated blocks 解决办法
  2. 济南商标驳回复审流程及时间
  3. SAP FICO 日记1 公司-公司代码
  4. 三维地图前端arcgis_通过ArcGIS创建2D及3D地图
  5. 大学生计算机选购报告怎么写,一份能让你少花钱少走弯路的准大学生电脑选购指南...
  6. python的常见矩阵除法_python 常见矩阵运算
  7. 关于服务器开放SQL Server1433端口
  8. 推荐一款好用的程序托管软件AlwaysUp
  9. Android 高德地图根据地址获取经纬度,计算两个坐标的距离
  10. how to telnet a phone?