2017-09-16 43 views
1

我從數據框中拉出一列並將其添加到名爲timestamp的變量中。pandas - 增加日期時間小時(更多信息請參閱文章。)

0 2017-01-10 04:45:00 
1 2017-01-10 04:45:00 
2 2017-01-10 04:45:00 
3 2017-01-10 04:46:00 
4 2017-01-10 04:46:00 
5 2017-01-10 04:46:00 
6 2017-01-10 04:47:00 
7 2017-01-10 04:47:00 
8 2017-01-10 17:47:00 
9 2017-01-10 17:52:00 
Name: timestamp, dtype: object 

的數據類型是:

type(timestamp) 

Out[1]: pandas.core.series.Series 

type(timestamp.values) 

Out[1]: numpy.ndarray 

我想要做的就是添加9小時。

0 2017-01-10 13:45:00 
1 2017-01-10 13:45:00 
2 2017-01-10 13:45:00 
3 2017-01-10 13:46:00 
4 2017-01-10 13:46:00 
5 2017-01-10 13:46:00 
6 2017-01-10 13:47:00 
7 2017-01-10 13:47:00 
8 2017-01-11 02:47:00 
9 2017-01-11 02:52:00 
Name: timestamp, dtype: object 

如果能告訴我該怎麼做,我將不勝感激。

回答

0

使用pd.Timedelta

s1 + pd.Timedelta(hours=9) 

輸出:

0 2017-01-10 13:45:00 
1 2017-01-10 13:45:00 
2 2017-01-10 13:45:00 
3 2017-01-10 13:46:00 
4 2017-01-10 13:46:00 
5 2017-01-10 13:46:00 
6 2017-01-10 13:47:00 
7 2017-01-10 13:47:00 
8 2017-01-11 02:47:00 
9 2017-01-11 02:52:00 
Name: 1, dtype: datetime64[ns] 
+0

我得到這個錯誤。 TypeError:必須是str,而不是Timedelta 應該更改哪種類型? – Dekalotte

+0

啊..你原來的系列不是熊貓的日期。這是一個日期時間模塊日期時間。你可以pd.to_datetime(時間戳)。 –

+0

謝謝。我沒有因此發生錯誤,但時間不變./ a = pd.to_datetime(timestamp)\ n a = a + pd.Timedelta(小時= 9)\ n a – Dekalotte