<
>

python小练习之航空公司数据练习题(二)

2020-06-28 11:50:51 来源:易采站长站 作者:易采站长站整理


思路:首先去掉停飞的航班(无起飞时间dep_time),然后对dest进行匹配
"""

dest_flights = flights.dropna(axis = 0, subset = ['dep_time']) #删除停飞航班信息
answer = dest_flights[
(dest_flights['dest'] == 'HOU') |
(dest_flights['dest'] == 'IAH')
]

return answer

def question1_c(self, flights):
"""
要求:寻找来自联合航空(UA)、美利坚航空(AA)、三角洲航空(DL)的航班
思路:首先去掉停飞的航班(无起飞时间dep_time),然后对carrier进行匹配
"""

carrier_flights = flights.dropna(subset = ['dep_time'])
answer = carrier_flights[
(carrier_flights['carrier'] == 'UA') |
(carrier_flights['carrier'] == 'AA') |
(carrier_flights['carrier'] == 'DL')
] return answer

def question1_d(self, flights):
"""
要求:寻找7月、8月、9月出发的航班
思路:首先去掉停飞的航班(无起飞时间dep_time),然后直接匹配月份即可
"""

month_flights = flights.dropna(subset = ['dep_time'])
answer = month_flights[
(7 <= month_flights['month']) &
(month_flights['month'] <= 9)
] return answer

def question1_e(self, flights):
"""
要求:寻找到达延误超过两小时,但出发没有延误的航班
思路:调用到达延误超过两小时函数,然后搜索出发延误dep_delay<=0的航班
"""

data = self.question1_a(flights) #调用延误超过两小时函数
data[data['dep_delay'].isnull()] #查看达延误超过两小时航班中有无缺失出发延误dep_delay的数据
answer = data[data['dep_delay'] =60的航班为出发延误至少一小时,然后寻找arr_delay与dep_delay差值=60) &
(flights['dep_delay'] - flights['arr_delay'] >=30)
]

return answer

def question2(self, flights):
"""
要求:寻找每架飞机第一次延误一小时以前的飞行次数(不考虑航班取消情况)
思路:为了寻找到第一次延误一小时以前的飞行次数,那么应该首先寻找延误一小时的飞机有哪些,然后与原数据进行左连接
然后寻找到这些飞机第一次延误一小时的航班时间,寻找该飞机航班时间小于第一次延误一小时的航班时间,
并统计次数,即可获得每个飞机第一次延误1小时之前的飞行次数
"""

#寻找延误1小时以上的航班信息
arr1 = flights[flights['arr_delay'] >= 60] #从arr_delay已有数据中选择延误大于1小时的

暂时禁止评论

微信扫一扫

易采站长站微信账号