赞
踩
引入相关包
import numpy as np
import pandas as pd
from pandas import DataFrame,Series
读取数据文件
df = pd.read_csv('usa_flights.csv')
看看数据个数
print(df.size)#计算总数
print(df.shape)#计算矩阵行列大小
查看数据
print(df.head())#一个月的数据..
#主要看看arr_delay才知道是否延误
数据情况,包含航班日期,航空公司,航班号,数据源,目的地,到达延迟时间,取消,距离,carrier_delay weather_delay late_aircraft_delay nas_delay security_delay actual_elapsed_time
按照到达目的延迟时间从小到大排序,-74说明早到达74分钟
#排序。。
#按照航班延误时间从小到大排序
print(df.sort_values('arr_delay'))
最长延误时间TOP十
#最长延误时间Top Ten
print(df.sort_values('arr_delay',ascending=False)[:10])
计算延误航班和没有延误航班的比例
#计算延误和没有延误航班的比例
print(df['cancelled'])
就算延误和没有延误航班的个数分别为
print(df['cancelled'].value_counts())
生成一列新的数据delay,通过applay吧arr_delay转否delay的标志
df['delayed'] = df['arr_delay'].apply(lambda x:x > 0)
print(df.head())
计算一下delayed False和True的值的数量
delay_data = df['delayed'].value_counts()#引用delay_data时候就直接delay_data[0]...即可
print(delay_data)
print(type(delay_data))
计算延误比例
#延误比率
print(delay_data[1] / (delay_data[0] + delay_data[1]) )
每个公司的延误情况如何?通过groupby分组
#每个公司延误的情况,两级索引:'unique_carrier','delayed'
delay_group = df.groupby(['unique_carrier','delayed'])
print(delay_group)
print(delay_group.size())
不要堆叠
df_delay = delay_group.size().unstack()#不要堆叠
print(df_delay)
画图
import matplotlib.pyplot as plt
df_delay.plot()
df_delay.plot(kind = 'barh',stacked = True, figsize = [16,6],colormap = 'winter')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。