2016-02-17 75 views
4

對於如何在熊貓中本地化時間戳有一些疑問,但它們都需要將列本地化爲索引。我不想說,我要本地化列,這不是指數,例如:在熊貓中本地化時間戳

df = pd.DataFrame({'start': pd.to_datetime([1439687730.439, 1439687731.439], unit='s')}) 
df['start'].tz_localize('utc') 

這回我一個錯誤:

TypeError: index is not a valid DatetimeIndex or PeriodIndex 

我的目標是把時間戳轉換在我的本地時間(CEST)中使用熊貓(datetime自動執行)。

回答

7

您需要使用.dt訪問爲你在一個Series操作不是DatetimeIndex

In [191]: 
df = pd.DataFrame({'start': pd.to_datetime([1439687730.439, 1439687731.439], unit='s')}) 
df['start'].dt.tz_localize('utc') 

Out[191]: 
0 2015-08-16 01:15:30.439000+00:00 
1 2015-08-16 01:15:31.439000+00:00 
Name: start, dtype: datetime64[ns, UTC] 

tz_localize方法僅適用於datetimeIndex對象,因此誤差可用,但它通過dt訪問的可用