如何组合日期列和时间列

时间:2017-08-07 03:12:29

标签: python pandas date datetime

我的数据看起来像这样

        Date        Time     Open     High      Low    Close  Volume
0      2013.07.09   7:00  101.056  101.151  101.016  101.130    1822
1      2013.07.09   8:00  101.130  101.257  101.128  101.226    2286
2      2013.07.09   9:00  101.226  101.299  101.175  101.180    2685
3      2013.07.09  10:00  101.178  101.188  101.019  101.154    2980
4      2013.07.09  11:00  101.153  101.239  101.146  101.188    2623

如何将Date列和Time列组合成一个日期时间列。 而且我想知道我是否这样做是否必须更改字符串到目前为止。 预先感谢。

2 个答案:

答案 0 :(得分:6)

如果您将'Date'列作为时间戳,则将它们转换为字符串并添加它们,然后将它们转换为时间戳,即

df['Datetime'] = pd.to_datetime(df['Date'].apply(str)+' '+df['Time'])

输出:

        Date   Time     Open     High      Low    Close  Volume  \
0 2013-07-09   7:00  101.056  101.151  101.016  101.130    1822   
1 2013-07-09   8:00  101.130  101.257  101.128  101.226    2286   
2 2013-07-09   9:00  101.226  101.299  101.175  101.180    2685   
3 2013-07-09  10:00  101.178  101.188  101.019  101.154    2980   
4 2013-07-09  11:00  101.153  101.239  101.146  101.188    2623   

             Datetime  
0 2013-07-09 07:00:00  
1 2013-07-09 08:00:00  
2 2013-07-09 09:00:00  
3 2013-07-09 10:00:00  
4 2013-07-09 11:00:00  

答案 1 :(得分:0)

dataframe["Date Time"] = dataframe["Date"].map(str) + dataframe["Time"]

<强>更新

格式化您可以使用的日期

dataframe["Date Time"] =pd.to_datetime(dataframe["Date"].map(str) +'-'+ dataframe["Time"])

而不是替换,您可以从数据框中删除这些DateTime列。像这样

del dataframe["Date"], dataframe["Time"]