You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于WHY_DELAY列条件,按OP_CARRIER统计延误航班数量

按航空公司统计延误航班数量的解决方案

数据详情

以下是迈阿密国际机场的航班数据:

OP_CARRIERWHY_DELAY
WNWEATHER
DL0
AACARRIER
  • 每行代表一班飞往迈阿密国际机场的航班
  • WHY_DELAY列记录延误原因,值为0表示航班准点

需求目标

按OP_CARRIER(航空公司)统计延误航班的数量。

当前尝试代码

df.loc[(df['WHY_DELAY']!= 0)].groupby('OP_CARRIER').value_counts()

问题修正与优化方案

当前代码的问题是groupby('OP_CARRIER')后调用value_counts()会对所有列进行计数,无法直接得到各航空公司的延误航班总数。推荐以下几种简洁有效的写法:

方法1:筛选后分组计数

df[df['WHY_DELAY'] != 0].groupby('OP_CARRIER').size()

方法2:直接统计筛选后的航空公司频次

df[df['WHY_DELAY'] != 0]['OP_CARRIER'].value_counts()

方法3:标记延误状态后求和

# 新增延误状态列,延误为True(即1),准点为False(即0)
df['is_delayed'] = df['WHY_DELAY'] != 0
# 按航空公司分组求和得到延误数量
df.groupby('OP_CARRIER')['is_delayed'].sum()

以上三种方法都能得到正确结果:WN、AA各有1班延误航班,DL无延误。

内容的提问来源于stack exchange,提问作者Fernando Araiza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 09:34:50