合并条带时间戳

时间:2017-10-07 22:46:34

标签: python pandas merge

我正在合并两个数据帧:

df = pd.merge(source, extracted, left_on = 'SESSION_SCHED', right_on = 'COMPL_DATE')

请注意,SESSION_SCHED是日期,但没有时间戳。 COMPL_DATE在合并之前有一个时间戳,但不在之后。

示例:

>>> print(extracted['COMPL_DATE'])
0      2015-11-25 10:25:00
5      2016-09-30 13:31:00
10     2013-09-13 00:00:00
15     2014-12-18 17:00:00

>>> print(df['COMPL_DATE'])
0   2015-13-22
1   2013-01-30
2   2013-09-13
3   2011-10-18
4   2013-09-13

如何在保留COMPL_DATE列中的时间戳的同时合并数据框?

2 个答案:

答案 0 :(得分:1)

extracted.assign(x=extracted['COMPL_DATE'].dt.normalize() - 将添加一个截断时间的新列x(即00:00:00) - 我们可以使用此列加入:

df = pd.merge(source, extracted.assign(x=extracted['COMPL_DATE'].dt.normalize()), 
              left_on = 'SESSION_SCHED', right_on = 'x')

答案 1 :(得分:0)

经过审核,合并后时间戳未显示的真正原因是合并中选择的唯一行的时间戳为00:00:00。因此,假定此时间并且未明确显示。