我有一个包含两列的数据框,例如
A B
00:01:05 2018-10-10 23:58:10我想得到第三列C,它是A+B的和
A B C
00:01:05 2018-10-10 23:58:10 2018-10-10 23:59:15如果我这样做了:
df['C']= df['A'] + df['B']我得到了
cannot add DatetimeArray and DatetimeArray发布于 2019-09-09 13:09:49
这是您的样本数据帧,
sample = pd.DataFrame()
sample['A'] = ['00:01:05']
sample['B'] = ['2018-10-10 23:58:10']将列B转换为pd.Timstamp,将A转换为pd.Timedelta,如下所示:
sample['B'] = pd.to_datetime(sample['B'])
sample['A'] = pd.to_timedelta(sample['A'], unit='m')然后正常添加列,
sample['C'] = sample['B'] + sample['A']
A B C
0 00:01:05 2018-10-10 23:58:10 2018-10-10 23:59:15发布于 2019-09-09 13:11:31
通过to_timedelta将列A转换为时间增量,如有必要,将列B转换为to_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如果列A包含python时间:
df['C'] = pd.to_timedelta(df['A'].astype(str)) + pd.to_datetime(df['B'])https://stackoverflow.com/questions/57847521
复制相似问题