Pandas 在大熊猫中本地化时间戳

Pandas 在大熊猫中本地化时间戳,pandas,localization,Pandas,Localization,关于如何在pandas中本地化时间戳,存在一些问题,但所有这些问题都要求将列本地化为索引。我不想这样,我想本地化一个列,而不是索引中的列,例如: 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

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

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
我的目标是使用pandas转换本地时间(CEST)中的时间戳(
datetime
自动转换)。

当您在
系列
而不是
日期时间索引上操作时,需要使用访问器:

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
访问器使用