对两个日期时间列求和

Lau*_*ura 3 datetime sum pandas

例如,我有一个包含两列的数据框

A                B 
00:01:05         2018-10-10 23:58:10
Run Code Online (Sandbox Code Playgroud)

我想得到第三列 C,它是 A + B 的总和

A                B                             C
00:01:05         2018-10-10 23:58:10           2018-10-10 23:59:15
Run Code Online (Sandbox Code Playgroud)

如果我做:

df['C']= df['A'] + df['B']
Run Code Online (Sandbox Code Playgroud)

我明白了

cannot add DatetimeArray and DatetimeArray
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 6

将列转换A为时间增量to_timedelta,如果需要,将列转换Bto_datetime

df = pd.DataFrame({'A':['00:01:05'],
                   'B':['2018-10-10 23:58:10']})

df['C'] = pd.to_timedelta(df['A']) + pd.to_datetime(df['B'])
print (df)
          A                    B                   C
0  00:01:05  2018-10-10 23:58:10 2018-10-10 23:59:15
Run Code Online (Sandbox Code Playgroud)

如果列A包含 python 时间:

df['C'] = pd.to_timedelta(df['A'].astype(str)) + pd.to_datetime(df['B'])
Run Code Online (Sandbox Code Playgroud)