我对Pandas的使用还很陌生,正在努力弄清楚为什么这个时间戳无法转换。举个例子,一个时间戳的字符串是'2010-10-06 16:38:02'
。代码如下:
newdata = pd.DataFrame.from_records(data, columns = ["col1", "col2", "col3", "timestamp"], index = "timestamp")
newdata.index = newdata.index.tz_localize('UTC').tz_convert('US/Eastern')
并且收到了这个错误:
AttributeError: 'Index' object has no attribute 'tz_localize'
有人在这里评论说tz_localize方法不适用于索引类型,因此我尝试将其转换为列,但是那样会出现错误。
TypeError: index is not a valid DatetimeIndex or PeriodIndex
然后我发现了这个网站,它说tz_localize仅在索引上起作用。
如果有人能帮忙,将不胜感激!我正在使用Pandas 0.15.2。我相信这段代码可能适用于早期版本的某些人,但我不能切换到其他版本。
编辑:
好吧,在稍微尝试一下之后,我发现这不会抛出任何错误,并且似乎在短期内实现了我想要的效果:newdata.index=pd.DatetimeIndex(newdata.index).tz_localize('UTC').tz_convert('US/Eastern')