Python 使用日偏移量修改数据帧

Python 使用日偏移量修改数据帧,python,pandas,dataframe,timezone-offset,Python,Pandas,Dataframe,Timezone Offset,我正在处理一个非常大的数据帧。下面是一个小样本: import pandas as pd df = pd.DataFrame({'nodes': ['A', 'B', 'C'], 'dept': ['20:00', '02:00', '21:00'], 'arrv': ['20:00', '17:00', '21:00'], 'dept_offset_day': [0, 1, 0],

我正在处理一个非常大的数据帧。下面是一个小样本:

import pandas as pd
df = pd.DataFrame({'nodes': ['A', 'B', 'C'],
                   'dept': ['20:00', '02:00', '21:00'],
                   'arrv': ['20:00', '17:00', '21:00'],
                   'dept_offset_day': [0, 1, 0],
                   'arrv_offset_day': [0, 1, 0],
'stop_num':[0,1,2]})
print(df)
 nodes   dept   arrv  dept_offset_day  arrv_offset_day
0     A  20:00  20:00                0                0
1     B  02:00  17:00                1                1
2     C  21:00  21:00                0                0
我试图通过考虑日偏移量,在开始和结束时间中添加一个日期。2) 将“节点”列拆分为两个“节点”\u“开始”列和“节点”\u“结束”列,即“点对点”。比如:

nodes_start   nodes_end       start_datetime       end_datetime 
     A           B           2019-5-9 20:00           2019-5-10 02:00     
     B           C           2019-5-10 17:00          2019-5-10 21:00     

我尝试使用pd.offsets.Day()并循环遍历每一行,但这会使执行时间非常慢,而且我得到了错误的日期。感谢您的帮助。

尝试构建一个新的数据框,包含新列(复制的列:D):

输出:

  nodes_start nodes_end      start_datetime        end_datetime
0           A         B 2019-05-09 20:00:00 2019-05-10 02:00:00
1           B         C 2019-05-10 17:00:00 2019-05-10 21:00:00

第二个代码块中的日期部分在哪里?它只是将now()添加到时间中。如何确定哪个节点是开始节点,哪个节点是结束节点?还是我们应该自上而下地假设?
  nodes_start nodes_end      start_datetime        end_datetime
0           A         B 2019-05-09 20:00:00 2019-05-10 02:00:00
1           B         C 2019-05-10 17:00:00 2019-05-10 21:00:00