本地化大熊猫的时间戳

Rug*_*rra 5 localization pandas

关于如何在pandas中本地化时间戳有一些问题,但是所有这些都要求将列本地化为索引.我不希望这样,我想本地化一个列,而不是索引,例如:

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

这给我一个错误:

TypeError: index is not a valid DatetimeIndex or PeriodIndex
Run Code Online (Sandbox Code Playgroud)

我的目标是使用pandas转换我的本地时间(CEST)中的时间戳(datetime自动执行).

EdC*_*ica 9

你需要使用.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]
Run Code Online (Sandbox Code Playgroud)

该tz_localize方法仅适用于datetimeIndex对象,因此可以通过dt访问器获得错误