2017-08-07 47 views
-1

我的數據是這樣的如何日期欄和時間列的結合

 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 

如何日期列和時間列合併成一列是日期時間。 我不知道是否需要更改字符串。 提前致謝。

回答

1

如果你有「日期」列時間戳,然後將它們轉換爲字符串,並將它們添加,然後將其轉換成時間戳即

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 
+0

非常感謝Bharath shetty。你能告訴我如何指定哪些數據是字符串,日期或時間格式? –

+1

您可以使用'print(df.dtypes)'來知道每列是什麼類型。 – Dark

+0

@ Bharath shetty如何在數據框中將此新列替換爲日期和時間列? –

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"] 
+0

感謝RAMunna,但我認爲這不是日期格式不是它。如何更改爲日期時間格式。我希望這個新的列將被我的數據框中的Date和Time列取代 –