我对使用 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'
有人评论了here https://stackoverflow.com/questions/28903399/index-object-has-no-attribute-tz-localizetz_localize 不是可用于索引类型的方法,因此我尝试将其转换为列,但这给出了错误
TypeError: index is not a valid DatetimeIndex or PeriodIndex
然后我发现这个网站 https://stackoverflow.com/questions/26089670/unable-to-apply-methods-on-timestamps-using-series-built-ins,上面写着 tz_localizeonly无论如何,都会作用于索引。
如果有人能帮助我,我将不胜感激!我正在使用 Pandas 0.15.2。我相信这段代码可能适用于其他早期版本的人,但我无法切换。
EDIT:
好吧,经过一番折腾后,我发现这不会引发任何错误,并且似乎在短期内做了我想要的事情:newdata.index=pd.DatetimeIndex(newdata.index).tz_localize('UTC').tz_convert('US/Eastern')