繁体   English   中英

无法转换Pandas数据帧时间戳

[英]Failing to convert Pandas dataframe timestamp

我很擅长与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不是Index类型可用的方法,所以我尝试将其转换为列,但是这给出了错误

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')

我被要求添加一个正式答案,而不仅仅是编辑我的问题,所以在这里。 请注意,它建立了上面的答案,但那个人并不适合我。

newdata.index=pd.DatetimeIndex(newdata.index).tz_localize('UTC').tz_convert('US/‌​Eastern')

您必须先将索引列转换为pandas中的系列类型:

newdata.index.to_series().tz_localize('UTC').tz_convert('US/Eastern')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM