gpt4 book ai didi

python - 如何根据规则将DataFrame的每一行拆分为两行?

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:07 25 4
gpt4 key购买 nike

我有以下 pandas DataFrame(向右水平滚动以查看所有列):

SIBT                SOBT                PLANNED_ARR_HOUR    PLANNED_DEP_HOUR    ARRIVAL_FLIGHT_HAUL  DEPARTURE_FLIGHT_HAUL
2016-01-01 04:05:00 2016-01-01 14:10:00 4 14 Ultra Long Haul Long Haul
2016-01-01 04:25:00 2016-01-01 06:30:00 4 6 Ultra Long Haul Short Haul
2016-01-01 05:05:00 2016-01-01 07:05:00 5 7 Long Haul Long Haul
2016-01-01 05:20:00 2016-01-01 10:40:00 5 10 Short Haul Long Haul
2016-01-01 05:25:00 2016-01-01 10:50:00 5 10 Long Haul Long Haul

我需要合并列 SIBTSOBTPLANNED_ARR_HOURPLANNED_DEP_HOURARRIVAL_FLIGHT_HAULDEPARTURE_FLIGHT_HAUL 以获得新的 DataFrame,如下所示:

DATETIME             PLANNER_HOUR     FLIGHT_HAUL       TYPE
2016-01-01 04:05:00 4 Ultra Long Haul ARR
2016-01-01 14:10:00 14 Long Haul DEP
2016-01-01 04:25:00 4 Ultra Long Haul ARR
2016-01-01 06:30:00 6 Short Haul DEP
...

基本上,每一行都应该分成两行,以获得到达 (ARR) 和离开 (DEP)。

  • SIBTPLANNED_ARR_HOURARRIVAL_FLIGHT_HAUL 指的是类型 ARR(到达)。

  • SOBTPLANNED_DEP_HOURDEPARTURE_FLIGHT_HAUL 指 DEP(出发)类型。

我该怎么做?

最佳答案

最简单的是分成两部分然后连接:

dep_cols = ['SOBT', 'PLANNED_DEP_HOUR', 'DEPARTURE_FLIGHT_HAUL']
arr_cols = ['SIBT', 'PLANNED_ARR_HOUR', 'ARRIVAL_FLIGHT_HAUL']
new_cols = ['DATETIME','PLANNER_HOUR','FLIGHT_HAUL']

dep = df[dep_cols].copy()
arr = df[arr_cols].copy()

dep.columns, arr.columns = new_cols, new_cols

dep['TYPE'] = 'DEP'
arr['TYPE'] = 'ARR'

pd.concat([dep, arr])

DATETIME PLANNER_HOUR FLIGHT_HAUL TYPE
0 2016-01-01 14:10:00 14 Long Haul DEP
1 2016-01-01 06:30:00 6 Short Haul DEP
2 2016-01-01 07:05:00 7 Long Haul DEP
3 2016-01-01 10:40:00 10 Long Haul DEP
4 2016-01-01 10:50:00 10 Long Haul DEP
0 2016-01-01 04:05:00 4 Ultra Long Haul ARR
1 2016-01-01 04:25:00 4 Ultra Long Haul ARR
2 2016-01-01 05:05:00 5 Long Haul ARR
3 2016-01-01 05:20:00 5 Short Haul ARR
4 2016-01-01 05:25:00 5 Long Haul ARR

关于python - 如何根据规则将DataFrame的每一行拆分为两行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54850299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com