我一直在努力从pandas数据框中的列中删除时区信息.我检查了以下问题,但它对我不起作用:
我可以将pandas DataFrame导出到Excel剥离tzinfo吗?
我使用tz_localize为datetime对象分配时区,因为我需要使用tz_convert转换为另一个时区.这会以"-06:00"的方式添加UTC偏移量.我需要摆脱这种偏移,因为当我尝试将数据框导出到Excel时会导致错误.
实际输出
2015-12-01 00:00:00-06:00
期望的输出
2015-12-01 00:00:00
我试图使用str()方法获取我想要的字符,但似乎tz_localize的结果不是字符串.到目前为止,我的解决方案是将数据帧导出到csv,读取文件,并使用str()方法获取我想要的字符.
有更简单的解决方案吗?
如果你的系列只包含日期时间,那么你可以这样做:
my_series.dt.tz_localize(None)
这将删除时区信息(它不会改变时间)并返回一系列天真的本地时间,例如可以使用to_excel()导出到excel.
也许帮助剥离最后6个字符:
print df datetime 0 2015-12-01 00:00:00-06:00 1 2015-12-01 00:00:00-06:00 2 2015-12-01 00:00:00-06:00 df['datetime'] = df['datetime'].astype(str).str[:-6] print df datetime 0 2015-12-01 00:00:00 1 2015-12-01 00:00:00 2 2015-12-01 00:00:00