0

我在 pandas 0.10.1 中有一个时区感知 TimeSeries。我想导出到 Excel,但时区阻止日期在 Excel 中被识别为日期。

In [40]: resultado
Out[40]: 
fecha_hora
2013-04-11 13:00:00+02:00    31475.568
2013-04-11 14:00:00+02:00    37263.072
2013-04-11 15:00:00+02:00    35979.434
2013-04-11 16:00:00+02:00    35132.890
2013-04-11 17:00:00+02:00    36356.584

如果我用 剥离 tzinfo .tz_convert(None),日期将转换为 UTC:

In [41]: resultado.tz_convert(None)
Out[41]: 
fecha_hora
2013-04-11 11:00:00    31475.568
2013-04-11 12:00:00    37263.072
2013-04-11 13:00:00    35979.434
2013-04-11 14:00:00    35132.890
2013-04-11 15:00:00    36356.584

是否有适用.replace(tzinfo=None)于索引中每个日期的 TimeSeries 方法?

或者,有没有办法将时间感知 TimeSeries 正确导出到 Excel?

4

1 回答 1

2

您可以简单地创建没有时区的副本。

import pandas as pa

time = pa.Timestamp('2013-04-16 10:08', tz='Europe/Berlin')
time_wo_tz = pa.datetime(year=time.year, month=time.month, day=time.day, 
                         hour=time.hour, minute=time.minute, second=time.second,
                         microsecond=time.microsecond)

当您想要转换时间序列的整个索引时,请使用列表推导。

ts.index = [pa.datetime(year=x.year, month=x.month, day=x.day, 
                        hour=x.hour, minute=x.minute, second=x.second, 
                        microsecond=x.microsecond) 
            for x in ts.index]
于 2013-04-16T08:13:34.217 回答