自适应滑动窗算法航班排序的代码注释

时间: 2023-10-09 22:16:57 浏览: 48
#导入模块 import pandas as pd import numpy as np #读取数据 df = pd.read_csv('flight_data.csv') #定义滑动窗口大小和阈值 window_size = 10 threshold = 2 #定义函数计算每个滑动窗口的标准差 def window_std(window): return np.std(window) #定义函数计算每个滑动窗口的均值 def window_mean(window): return np.mean(window) #定义函数计算每个航班的标准差 def flight_std(series): return np.std(series) #定义函数计算每个航班的均值 def flight_mean(series): return np.mean(series) #定义函数对每个航班进行排序 def sort_flights(df): #将每个航班的数据按时间排序 df = df.sort_values('time') #计算每个航班的标准差和均值 df['std'] = df['delay'].rolling(window_size).apply(window_std, raw=False) df['mean'] = df['delay'].rolling(window_size).apply(window_mean, raw=False) #将每个航班的数据按标准差和均值排序 df = df.sort_values(['std', 'mean'], ascending=[True, False]) return df #定义函数对航班进行分组 def group_flights(df): groups = [] #将第一个航班加入第一个组 group = [df.iloc[0]] for i in range(1, len(df)): #将当前航班的标准差和均值与组内航班的标准差和均值比较 current_flight_std = df.iloc[i]['std'] current_flight_mean = df.iloc[i]['mean'] group_std = flight_std(pd.Series([flight['delay'] for flight in group])) group_mean = flight_mean(pd.Series([flight['delay'] for flight in group])) #如果当前航班与组内航班的标准差和均值都在阈值内,将当前航班加入当前组 if abs(current_flight_std - group_std) <= threshold and abs(current_flight_mean - group_mean) <= threshold: group.append(df.iloc[i]) #如果当前航班与组内航班的标准差和均值都不在阈值内,将当前组加入组列表,将当前航班加入新的组 else: groups.append(group) group = [df.iloc[i]] #将最后一个组加入组列表 groups.append(group) return groups #对每个航班进行排序 df = sort_flights(df) #对航班进行分组 groups = group_flights(df) #输出分组结果 for i, group in enumerate(groups): print('Group', i+1) for flight in group: print(flight['flight_id'], flight['time'], flight['delay']) print()

相关推荐

最新推荐

recommend-type

px4-L1自适应控制算法.pdf

本文首先理清了l1 自适应算法的思路,然后,根据算法的实现步骤,对apm 自适应算法的实现做了细致的分析,读者可以加强对apm代码的了解
recommend-type

自适应波束形成与Matlab程序代码注解.doc

阵列信号处理方向图以及各种准则下的波束形成算法、自适应波束形成仿真的matlab代码,很齐全,下载即可自己仿真使用,包含详细的注释
recommend-type

GPS自适应天线阵多波束形成算法.pdf

GPS自适应天线阵多波束形成算法,GPS 天线阵列接收抗干扰技术多采用 PI 自适应调零算法,但其自由度有限,而基于卫星 DOA 估计的波束形成技术又敏感于到达角的估计性能。本文提出基于 DEML 的卫星到达角估计结合多...
recommend-type

自适应确定DBSCAN算法参数的算法研究_李文杰.pdf

传统DBSCAN算法需要人为确定Eps和MinPts参数,参数的选择直接决定了聚类结果的合理性,因此提出一种新的自适应确定DBSCAN算法参数算法,该算法基于参数寻优策略,通过利用数据集自身分布特性生成候选Eps和MinPts参数,...
recommend-type

HDR图像色调映射的自适应色彩调节算法

为了克服传统色调映射算法处理高动态图像过程中因忽略彩色分量而导致图像色彩失真的现象,给出一种自适应的色彩调节算法。该方法首先对图像在亮度域采用色调映射压缩处理,然后再转换到色彩域,采用色彩恢复和色彩...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

list根据id查询pid 然后依次获取到所有的子节点数据

可以使用递归的方式来实现根据id查询pid并获取所有子节点数据。具体实现可以参考以下代码: ``` def get_children_nodes(nodes, parent_id): children = [] for node in nodes: if node['pid'] == parent_id: node['children'] = get_children_nodes(nodes, node['id']) children.append(node) return children # 测试数
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。