我的数据看起来像这样
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列组合成一个日期时间列。 而且我想知道我是否这样做是否必须更改字符串到目前为止。 预先感谢。
答案 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"])
而不是替换,您可以从数据框中删除这些Date
和Time
列。像这样
del dataframe["Date"], dataframe["Time"]